| Original author(s) | Adafruit Industries |
|---|---|
| Initial release | July 19, 2017; 3 years ago[1] |
| Stable release | 5.1.0 / April 7, 2020; 6 months ago[2] |
| Repository | https://github.com/adafruit/circuitpython |
| Written in | C[3] |
| Platform | microcontroller boards using the Atmel SAMD21, Atmel SAMD51, Nordic nRF52840, and ESP8266 microcontrollers, from Adafruit, SparkFun, Arduino, Particle, and others |
| Type | Python implementation |
| License | MIT license[4] |
| Website | circuitpython |
CircuitPython[5] is an open source derivative of the MicroPython programming language targeted towards the student and beginner. 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 is a full Python compiler and runtime 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 Adafruit compatible 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 with C, C++ or Arduino.[11] The language has also seen uptake in making small, handheld video game devices.[12][better source needed] Developer Chris Young has ported his infrared receive/transmit software to CircuitPython to provide interactivity and to aid those with accessibility issues.[13]
The user community support includes a Discord chat room and product support forums.[14] A Twitter account dedicated to CircuitPython news was established in 2018.[15]
The current stable version is 5.1.0 with support for the Microchip Technology Atmel SAMD21 and SAMD51 microcontrollers[16] and the Nordic Semiconductor nRF52840 microcontroller. Previous versions supported the ESP8266 microcontroller, but support was dropped in version 4.[17]