CircuitPython

CircuitPython
Original author(s) Adafruit Industries
Initial release July 19, 2017 (2017-07-19)[1]
Stable release
2.3.1 / May 7, 2018 (2018-05-07)[2]
Written in C[3]
Platform Circuit Playground Express, Feather M0 Basic, Feather M0 Express, Metro M0 Express[4], Metro M4 Express, Gemma M0[5], Feather HUZZAH, Trinket M0[6], ItsyBitsy M0, ESP8266, Arduino Zero
Type Python implementation
License MIT license[7]

CircuitPython[8] 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.[9]

CircuitPython is a fork of MicroPython, originally created by Damien George.[10] The MicroPython community continues to discuss[11] forks of MicroPython into variants such as CircuitPython.

CircuitPython is targeted to be compliant with CPython, the reference implementation of the Python programming language.[12] Programs written for CircuitPython compatible boards may not run unmodified on other platforms such as the Raspberry Pi.[13]

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.[14] The language has also seen uptake in making small, handheld video game devices.[15] Developer Chris Young has ported his infrared receive/transmit software to CircuitPython to provide interactivity and to aid those with accessibility issues.[16]

Community

The user community support includes a Discord chat room and product support forums.[17] There is a published Code of Conduct for the project.[18]

For the general Python community, Adafruit has supported the Python Foundation for several years.[19][20][21]

CircuitPython support was incorporated into the Mu Python Editor.[22]

A Twitter account dedicated to CircuitPython news was established in 2018.[23]

Documentation

The Applications Programming Interface (API) is documented in Read the Docs.[24]

Tutorials on CircuitPython use, including introductory guides, are available on the Adafruit company learning system.[25]

Availability

The source code for the project is available on GitHub.[26]

The current stable version is 2.3.1[27] with support for the Microchip Technology Atmel SAMD21 processor[28] and the ESP8266 microcontroller. Adafruit has announced a major revision, 3.0.0, in alpha[29] with support for the SAMD51 series processor.[30]

References

  1. Shawcroft, Scott. "CircuitPython 1.0.0!". Adafruit Blog. Adafruit Industries. Retrieved 1 May 2018.
  2. Halbert, Dan. "CircuitPython 2.3.1 Released!". Adafruit Blog. Adafruit Industries. Retrieved 8 May 2018.
  3. 1 2 "adafruit/circuitpython". GitHub. Adafruit Industries. Retrieved 2 May 2018.
  4. "Adafruit Feather M0 Express - Designed for CircuitPython" (PDF). Marutsu. Adafruit. Retrieved 2 May 2018.
  5. "GEMMA M0 with Circuit Python". CRCibernetica. CRCibernetica. Retrieved 2 May 2018.
  6. "Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE". Floris.cc Online Things. Floris. Retrieved 2 May 2018.
  7. George, Damien P. (4 May 2014). "circuitpython/LICENSE". GitHub. Retrieved 1 May 2018.
  8. "CircuitPython is an education friendly open source derivative of MicroPython". Retrieved 30 April 2018.
  9. "CircuitPython". Read the Docs. Adafruit Industries. Retrieved 1 May 2018.
  10. George, Damien (20 May 2016). "Damien P. George". Damien P. George. Retrieved 1 May 2018.
  11. "Adafruit CircuitPython". MicroPython Forum. MicroPython.org. Retrieved 2 May 2018.
  12. Lewis, James. "Circuit Python adds Python to Microcontrollers". The Bald Engineer. Retrieved 2 May 2018.
  13. Ganne, Simon. "Can I use circuitPython code on my raspberry?". Element 14 Community. Element 14.
  14. Cass, Stephen. "Build an Illuminated Halloween Costume With the Wearable Gemma M0 Microcontroller". IEEE Spectrum. IEEE. Retrieved 2 May 2018.
  15. Dopieralski, Radomir. "CircuitPython LAMEBOY". BitBucket. BitBucket. Retrieved 2 May 2018.
  16. 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.
  17. "Adafruit CircuitPython and MicroPython". Adafruit Support Forums. Adafruit Industries. Retrieved 1 May 2018.
  18. "CircuitPython Contributor Code of Conduct". Read the Docs. Adafruit Industries. Retrieved 2 May 2018.
  19. "About PyCon Sponsors". PYCON 2013. Python Software Foundation. 28 February 2013. Retrieved 1 May 2018.
  20. "About PyCon Sponsors". PYCON 2017. Python Software Foundation. Retrieved 1 May 2018.
  21. "About PYCON Sponsors". PYCON 2018. Python Software Foundation. Retrieved 1 May 2018.
  22. "Mu - A Simple Python Code Editor". GitHub. Nicholas Tollervey. Retrieved 1 May 2018.
  23. "CircuitPython". Twitter. Adfafruit Industries. Retrieved 1 May 2018.
  24. "Adafruit CircuitPython". Read The Docs. Retrieved 1 May 2018.
  25. "CIRCUITPYTHON". Adafruit Learning System. Adafruit Industries. Retrieved 1 May 2018.
  26. "CircuitPython on GitHub". Retrieved 1 May 2018.
  27. Halbert, Dan. "CircuitPython 2.3.1 Released!". Adafruit Blog. Adafruit Industries. Retrieved 8 May 2018.
  28. Kraft, Caleb. "CircuitPython Snakes its Way onto Adafruit Hardware". Makezine. Maker Media, Inc. Retrieved 2 May 2018.
  29. Shawcroft, Scott. "CircuitPython 3.0.0 Alpha 6!". Adafruit Blog. Adafruit Industries. Retrieved 1 May 2018.
  30. CNXSOFT. "Microchip SAM D5x and SAM E5x ARM Cortex-M4 Micro-Controllers Launched with Optional Ethernet and CAN Bus". CNXSOFT – EMBEDDED SYSTEMS NEWS. CNXSOFT.com. Retrieved 1 May 2018.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.