Software:CircuitPython

From HandWiki
Short description: programming language
CircuitPython
Blinka.png
Original author(s)Adafruit Industries
Initial releaseJuly 19, 2017; 6 years ago (2017-07-19)[1]
Stable release
6.2.0 / April 5, 2021; 2 years ago (2021-04-05)[2]
Repositoryhttps://github.com/adafruit/circuitpython
Written inC[3]
Platformmicrocontroller boards using the Atmel SAMD21, Atmel SAMD51, Nordic nRF52840, and ESP8266 microcontrollers, from Adafruit, SparkFun, Arduino, Particle, and others
TypePython implementation
LicenseMIT license[4]
Websitecircuitpython.org

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 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 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]

Usage

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]

Community

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]

Hardware Support

The version 6.2.0 supports Atmel SAMD21 and SAMD51 microcontrollers from Microchip Technology,[15] nRF52833 and nRF52840 from Nordic Semiconductor, CXD5602 (Spresense) from Sony, and STM32 F4-series from STMicroelectronics.[2] Previous versions supported the ESP8266 microcontroller, but its support was dropped in version 4.[16]

References

  1. Shawcroft, Scott. "CircuitPython 1.0.0!". Adafruit Industries. https://blog.adafruit.com/2017/07/19/circuitpython-1-0-0/. Retrieved 1 May 2018. 
  2. 2.0 2.1 Halbert, Dan. "CircuitPython 6.2.0 released!". Adafruit Industries. https://blog.adafruit.com/2021/04/05/circuitpython-6-2-0-released/. Retrieved 20 April 2021. 
  3. 3.0 3.1 "adafruit/circuitpython". Adafruit Industries. https://github.com/adafruit/circuitpython. Retrieved 2 May 2018. 
  4. George, Damien P. (4 May 2014). "circuitpython/LICENSE". https://github.com/adafruit/circuitpython/blob/master/LICENSE/micropython. 
  5. "CircuitPython is an education friendly open-source derivative of MicroPython". https://github.com/adafruit/circuitpython. Retrieved 30 April 2018. 
  6. "CircuitPython". Adafruit Industries. https://readthedocs.org/projects/circuitpython/. Retrieved 1 May 2018. 
  7. George, Damien (20 May 2016). "Damien P. George". Damien P. George. http://dpgeorge.net/. Retrieved 1 May 2018. 
  8. "Adafruit CircuitPython". MicroPython.org. https://forum.micropython.org/viewtopic.php?t=2894. Retrieved 2 May 2018. 
  9. Lewis, James. "Circuit Python adds Python to Microcontrollers". https://www.baldengineer.com/circuit-python.html. Retrieved 2 May 2018. 
  10. Ganne, Simon. "Can I use circuitPython code on my raspberry?". Element 14. https://www.element14.com/community/thread/62774/l/can-i-use-circuitpython-code-on-my-raspberry?displayFullThread=true. 
  11. Dopieralski, Radomir. "CircuitPython LAMEBOY". BitBucket. https://bitbucket.org/thesheep/circuitpython-lameboy. Retrieved 2 May 2018. 
  12. Young, Chris (6 June 2018). "Announcing IRLibCP — a Circuit Python Module for Infrared Transmitting and Receiving". Chris Young. http://tech.cyborg5.com/2017/06/06/announcing-irlibcp-a-circuit-python-module-for-infrared-transmitting-and-receiving/. Retrieved 2 May 2018. 
  13. "Adafruit CircuitPython and MicroPython". Adafruit Industries. https://forums.adafruit.com/viewforum.php?f=60. Retrieved 1 May 2018. 
  14. "CircuitPython". Adfafruit Industries. https://twitter.com/CircuitPython. Retrieved 1 May 2018. 
  15. Kraft, Caleb. "CircuitPython Snakes its Way onto Adafruit Hardware". Maker Media, Inc.. https://makezine.com/2017/08/11/circuitpython-snakes-way-adafruit-hardware/. Retrieved 2 May 2018. 
  16. "Why are we dropping support for ESP8266?". Adafruit Industries. https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-for-esp8266. Retrieved 15 April 2019. 

External links