Original author(s) | Adafruit Industries |
---|---|
Initial release | July 19, 2017[1] |
Stable release | 9.0.4
[2]
/ 16 April 2024 |
Repository | https://github.com/adafruit/circuitpython |
Written in | C [3] |
Platform | microcontroller and single-board computers using the Atmel SAMD21, Atmel SAMD51, Nordic nRF52840, STMicro STM32, and ESP32, ARMmicrocontrollers, from Adafruit, SparkFun, Arduino, Particle, Raspberry Pi and others |
Type | Python implementation |
License | MIT license [4] |
Website |
circuitpython |
CircuitPython [5] is an open-source derivative of the MicroPython programming language targeted toward students and beginners. Development of CircuitPython is supported by Adafruit Industries. It is a software implementation of the Python 3 programming language, written in C. [3] It has been ported to run on several modern microcontrollers.
CircuitPython consists of a Python compiler to bytecode and a runtime interpreter of that bytecode that runs on the microcontroller hardware. The user is presented with an interactive prompt (the REPL) to execute supported commands immediately. Included are a selection of core Python libraries. CircuitPython includes modules which give the programmer access to the low-level hardware of supported products as well as higher-level libraries for beginners. [6]
CircuitPython is a fork of MicroPython, originally created by Damien George. [7] The MicroPython community continues to discuss [8] forks of MicroPython into variants such as CircuitPython.
CircuitPython is targeted to be compliant with CPython, the reference implementation of the Python programming language. [9] Programs written for CircuitPython-compatible boards may not run unmodified on other platforms such as the Raspberry Pi. [10]
CircuitPython is being used as an emerging alternative solution for microcontroller programming, which is usually done in C, C++, or assembly. The language has also seen uptake in making small, handheld video game devices. [11][ better source needed] Developer Chris Young has ported his infrared transmit-and-receive software to CircuitPython to provide interactivity and to aid those with accessibility issues. [12]
The user community support includes a Discord chat room and product support forums. [13] A Twitter account dedicated to CircuitPython news was established in 2018. [14] A newsletter, Python on Hardware, is published weekly since 15 November, 2016 by Adafruit to provide news and information on CircuitPython, MicroPython, and Python on single board computers. [15] A Reddit subreddit, r/CircuitPython, provides news on CircuitPython and related news and projects and has about 3,000 members. [16]
The version 6.2.0 supports Atmel SAMD21 and SAMD51 microcontrollers from Microchip Technology, [17] nRF52833 and nRF52840 from Nordic Semiconductor, CXD5602 ( Spresense) from Sony, and STM32 F4-series from STMicroelectronics. [18] Previous versions supported the ESP8266 microcontroller, but its support was dropped in version 4. [19] It also supports single-board computers like Raspberry Pi.
Original author(s) | Adafruit Industries |
---|---|
Initial release | July 19, 2017[1] |
Stable release | 9.0.4
[2]
/ 16 April 2024 |
Repository | https://github.com/adafruit/circuitpython |
Written in | C [3] |
Platform | microcontroller and single-board computers using the Atmel SAMD21, Atmel SAMD51, Nordic nRF52840, STMicro STM32, and ESP32, ARMmicrocontrollers, from Adafruit, SparkFun, Arduino, Particle, Raspberry Pi and others |
Type | Python implementation |
License | MIT license [4] |
Website |
circuitpython |
CircuitPython [5] is an open-source derivative of the MicroPython programming language targeted toward students and beginners. Development of CircuitPython is supported by Adafruit Industries. It is a software implementation of the Python 3 programming language, written in C. [3] It has been ported to run on several modern microcontrollers.
CircuitPython consists of a Python compiler to bytecode and a runtime interpreter of that bytecode that runs on the microcontroller hardware. The user is presented with an interactive prompt (the REPL) to execute supported commands immediately. Included are a selection of core Python libraries. CircuitPython includes modules which give the programmer access to the low-level hardware of supported products as well as higher-level libraries for beginners. [6]
CircuitPython is a fork of MicroPython, originally created by Damien George. [7] The MicroPython community continues to discuss [8] forks of MicroPython into variants such as CircuitPython.
CircuitPython is targeted to be compliant with CPython, the reference implementation of the Python programming language. [9] Programs written for CircuitPython-compatible boards may not run unmodified on other platforms such as the Raspberry Pi. [10]
CircuitPython is being used as an emerging alternative solution for microcontroller programming, which is usually done in C, C++, or assembly. The language has also seen uptake in making small, handheld video game devices. [11][ better source needed] Developer Chris Young has ported his infrared transmit-and-receive software to CircuitPython to provide interactivity and to aid those with accessibility issues. [12]
The user community support includes a Discord chat room and product support forums. [13] A Twitter account dedicated to CircuitPython news was established in 2018. [14] A newsletter, Python on Hardware, is published weekly since 15 November, 2016 by Adafruit to provide news and information on CircuitPython, MicroPython, and Python on single board computers. [15] A Reddit subreddit, r/CircuitPython, provides news on CircuitPython and related news and projects and has about 3,000 members. [16]
The version 6.2.0 supports Atmel SAMD21 and SAMD51 microcontrollers from Microchip Technology, [17] nRF52833 and nRF52840 from Nordic Semiconductor, CXD5602 ( Spresense) from Sony, and STM32 F4-series from STMicroelectronics. [18] Previous versions supported the ESP8266 microcontroller, but its support was dropped in version 4. [19] It also supports single-board computers like Raspberry Pi.