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]
Usage
CircuitPython is currently being used for more projects, especially for wearable technology, when in the past the code may have been done in the Arduino development environment.[11] The language has also seen uptake in making small, handheld video game devices.[12] Developer Chris Young has ported his infrared receive/transmit software to CircuitPython to provide interactivity and to aid those with accessibility issues.[13]
Community
The user community support includes a Discord chat room and product support forums.[14] There is a published Code of Conduct for the project.[15]
For the general Python community, Adafruit has supported the Python Foundation for several years.[16][17][18]
CircuitPython support was incorporated into the Mu Python Editor.[19]
A Twitter account dedicated to CircuitPython news was established in 2018.[20]
Documentation
The Applications Programming Interface (API) is documented in Read the Docs.[21]
Tutorials on CircuitPython use, including introductory guides, are available on the Adafruit company learning system.[22]
Availability
The source code for the project is available on GitHub.[23] Binary images for supported microcontroller boards are downloadable from circuitpython.org [24]
The current stable version is 4.0.1 with support for the Microchip Technology Atmel SAMD21 and SAMD51 microcontrollers[25] and the Nordic Semiconductor nRF52840 microcontroller. Previous versions supported the ESP8266 microcontroller, but support was dropped in version 4[26].>
References
- ^ Shawcroft, Scott. "CircuitPython 1.0.0!". Adafruit Blog. Adafruit Industries. Retrieved 1 May 2018.
- ^ Shawcroft, Scott. "CircuitPython 4.0.1 released!". Adafruit Blog. Adafruit Industries. Retrieved 11 Jun 2019.
- ^ a b "adafruit/circuitpython". GitHub. Adafruit Industries. Retrieved 2 May 2018.
- ^ George, Damien P. (4 May 2014). "circuitpython/LICENSE". GitHub. Retrieved 1 May 2018.
- ^ "CircuitPython is an education friendly open source derivative of MicroPython". Retrieved 30 April 2018.
- ^ "CircuitPython". Read the Docs. Adafruit Industries. Retrieved 1 May 2018.
- ^ George, Damien (20 May 2016). "Damien P. George". Damien P. George. Retrieved 1 May 2018.
- ^ "Adafruit CircuitPython". MicroPython Forum. MicroPython.org. Retrieved 2 May 2018.
- ^ Lewis, James. "Circuit Python adds Python to Microcontrollers". The Bald Engineer. Retrieved 2 May 2018.
- ^ Ganne, Simon. "Can I use circuitPython code on my raspberry?". Element 14 Community. Element 14.
- ^ Cass, Stephen. "Build an Illuminated Halloween Costume With the Wearable Gemma M0 Microcontroller". IEEE Spectrum. IEEE. Retrieved 2 May 2018.
- ^ Dopieralski, Radomir. "CircuitPython LAMEBOY". BitBucket. BitBucket. Retrieved 2 May 2018.
- ^ Young, Chris (6 June 2018). "Announcing IRLibCP — a Circuit Python Module for Infrared Transmitting and Receiving". CY's Tech Talk. Chris Young. Retrieved 2 May 2018.
- ^ "Adafruit CircuitPython and MicroPython". Adafruit Support Forums. Adafruit Industries. Retrieved 1 May 2018.
- ^ "CircuitPython Contributor Code of Conduct". Read the Docs. Adafruit Industries. Retrieved 2 May 2018.
- ^ "About PyCon Sponsors". PYCON 2013. Python Software Foundation. 28 February 2013. Retrieved 1 May 2018.
- ^ "About PyCon Sponsors". PYCON 2017. Python Software Foundation. Retrieved 1 May 2018.
- ^ "About PYCON Sponsors". PYCON 2018. Python Software Foundation. Retrieved 1 May 2018.
- ^ "Mu - A Simple Python Code Editor". GitHub. Nicholas Tollervey. Retrieved 1 May 2018.
- ^ "CircuitPython". Twitter. Adfafruit Industries. Retrieved 1 May 2018.
- ^ "Adafruit CircuitPython". Read The Docs. Retrieved 1 May 2018.
- ^ "CIRCUITPYTHON". Adafruit Learning System. Adafruit Industries. Retrieved 1 May 2018.
- ^ "CircuitPython on GitHub". Retrieved 1 May 2018.
- ^ "CircuitPython Downloads".
- ^ Kraft, Caleb. "CircuitPython Snakes its Way onto Adafruit Hardware". Makezine. Maker Media, Inc. Retrieved 2 May 2018.
- ^ "Why are we dropping support for ESP8266?". Adafruit.com. Adafruit Industries. Retrieved 15 April 2019.
External links
- CircuitPython on GitHub
- MicroPython playlist on YouTube • Tutorials by Tony DiCola / Adafruit