CircuitPython

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
CircuitPython
Blinka.png
Original author(s)Adafruit Industries
Initial releaseJuly 19, 2017; 3 years ago (2017-07-19)[1]
Stable release
6.0.0 / November 16, 2020; 4 months ago (2020-11-16)[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 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[edit]

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

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]

Availability[edit]

The version is 5.1.0 supports the Microchip Technology Atmel SAMD21 and SAMD51 microcontrollers[15] and the Nordic Semiconductor nRF52840 microcontroller. Previous versions supported the ESP8266 microcontroller, but support was dropped in version 4.[16]

References[edit]

  1. ^ Shawcroft, Scott. "CircuitPython 1.0.0!". Adafruit Blog. Adafruit Industries. Retrieved 1 May 2018. CS1 maint: discouraged parameter (link)
  2. ^ Halbert, Dan. "CircuitPython 4.1.2 released!". Adafruit Blog. Adafruit Industries. Retrieved 18 December 2019. CS1 maint: discouraged parameter (link)
  3. ^ a b "adafruit/circuitpython". GitHub. Adafruit Industries. Retrieved 2 May 2018. CS1 maint: discouraged parameter (link)
  4. ^ George, Damien P. (4 May 2014). "circuitpython/LICENSE". GitHub. Retrieved 1 May 2018.
  5. ^ "CircuitPython is an education friendly open-source derivative of MicroPython". Retrieved 30 April 2018. CS1 maint: discouraged parameter (link)
  6. ^ "CircuitPython". Read the Docs. Adafruit Industries. Retrieved 1 May 2018. CS1 maint: discouraged parameter (link)
  7. ^ George, Damien (20 May 2016). "Damien P. George". Damien P. George. Retrieved 1 May 2018. CS1 maint: discouraged parameter (link)
  8. ^ "Adafruit CircuitPython". MicroPython Forum. MicroPython.org. Retrieved 2 May 2018. CS1 maint: discouraged parameter (link)
  9. ^ Lewis, James. "Circuit Python adds Python to Microcontrollers". The Bald Engineer. Retrieved 2 May 2018. CS1 maint: discouraged parameter (link)
  10. ^ Ganne, Simon. "Can I use circuitPython code on my raspberry?". Element 14 Community. Element 14.
  11. ^ Dopieralski, Radomir. "CircuitPython LAMEBOY". BitBucket. BitBucket. Retrieved 2 May 2018. CS1 maint: discouraged parameter (link)
  12. ^ 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. CS1 maint: discouraged parameter (link)
  13. ^ "Adafruit CircuitPython and MicroPython". Adafruit Support Forums. Adafruit Industries. Retrieved 1 May 2018. CS1 maint: discouraged parameter (link)
  14. ^ "CircuitPython". Twitter. Adfafruit Industries. Retrieved 1 May 2018. CS1 maint: discouraged parameter (link)
  15. ^ Kraft, Caleb. "CircuitPython Snakes its Way onto Adafruit Hardware". Makezine. Maker Media, Inc. Retrieved 2 May 2018. CS1 maint: discouraged parameter (link)
  16. ^ "Why are we dropping support for ESP8266?". Adafruit.com. Adafruit Industries. Retrieved 15 April 2019. CS1 maint: discouraged parameter (link)

External links[edit]