Adafruit has announced the release of CircuitPython 9.0.0, the latest version of its take on Python for microcontrollers. CircuitPython works on a myriad of devices, such as the Raspberry Pi Pico, Raspberry Pi, nRF, SAMD, and many other microcontrollers.
Huge news! It's been months of hard work in the making.#CircuitPython #Python @CircuitPython @HackSpaceMag @hackaday @biglesp @Hacksterio https://t.co/wgRxfJINz5 pic.twitter.com/0dOWFnH4wpMarch 20, 2024
The latest version of CircuitPython shares the same microcontroller compatibility as previous versions, though nF52 board owners will need to update their bootloader beyond 0.6.1.
In the release notes we can see that extra functionality has been added for audio playback, JPEG decoding, and bitmap manipulation. MicroSD / SD cards can now be made available over a network connection. For those of us who use CircuitPython to power USB HID devices (keypads, mice, etc.) we can now set the USB HID device name, and use the device to wake a sleeping host computer
CircuitPython is a popular choice for newcomers and learners wanting to use microcontrollers in their projects. Cytron's latest board, Edu Pico, along with its older boards (which feature on our list of the best RP2040 boards), support CircuitPython.
CircuitPython and MicroPython are both based upon Python 3, the same Python 3 found on many different operating systems. The key difference between Python and Circuit / MicroPython is that they have been designed for use with microcontrollers that typically have much less processing power than a computer. CircuitPython has over 280 code libraries for use with a range of add-on boards, many of which are available from Adafruit. Libraries can be downloaded singularly for each add-on.
Adafruit has set a great precedent to offer the example code and the library for add-ons via its top-tier tutorials. If you just want all the libraries, they can be downloaded as bundles for each version of CircuitPython. (Note that bundles for version 8 are not compatible with 9, as a few of the underlying classes / functions have been updated or renamed.) If you choose to use CircuitPython 9.0.0, download the bundle for version 9 via the CircuitPython libraries page.
We've used CircuitPython in a few projects: If you are unfamiliar with CircuitPython, take a look at our piece on how to use CircuitPython on a Raspberry Pi. If you want to make your own shortcut keyboard, we've also got a how to for that. And if you want a hands-free controller, like Elgato's Stream Deck Pedal, we have a full guide on how to make your own (and save quite a bit of money).