View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! The news has come fast and furious this week. Halloween projects are popping up and are very clever. MicroPython v1.24 is about 90% done and may be released soon. Going to GitHub Universe? Your badge is an unannounced MicroPython compatible board. Those and so, so much more. I hope you enjoy this issue. - Anne Barela, Editor
We’re on Discord, Twitter, and for past newsletters - view them all here. If you’re reading this on the web, subscribe here. Here’s the news this week:
MicroPython v1.24.0 is Nearly There
MicroPython v1.24 is getting very close to release. Two out of three milestones have been completed to date with a major pull request for RP2350 support being merged this past week. There is still a preview release available for those who wish to check things out - GitHub Milestones.
Control the LEGO Interface B with Python
Use Python and MicroPython to control LEGO interface B and 9V LEGO Technic components - hackster.io.
Halloween Projects Are Appearing
The Maker community is celebrating Halloween with some great projects.
John Chinner has made a Cylon helmet with a “Larson Scanner” eye using a Raspberry Pi Pico running CircuitPython - X.
A 3D printed Halloween eye with Raspberry Pi Zero 2W. It stares you down and talks to you! (Facial Recognition via Coral and CodeProject.AI) - Reddit via Tom’s Hardware.
Kevin McAleer tackles a Halloween Spider Robot with MicroPython - YouTube via Tom’s Hardware and code - GitHub.
Python 3.14 Alpha 1 Released With Early Changes
It was just last week that Python 3.13 saw its official release with many great features from a new interactive interpreter to an experimental JIT and removing the Global Interpreter Lock (GIL) in the experimental free-threaded build mode. Python 3.14 Alpha 1 is now out in the first very early stage development milestone toward next year’s big Python update - Phoronix and PSF.
You Can Actually run Linux on the RISC-V Cores of the Raspberry Pi Pico 2’s RP2350
When the Raspberry Pi Pico 2 came out, it didn’t take long for someone to figure out crazy uses for its RISC-V Hazard3 CPU cores. After all, folks figured out how to pull off amazing feats with the original Pico, like emulating the Macintosh 128K. The RISC-V CPU is more commonly used in application-class processors than microcontrollers, so one developer set to work installing Linux on the RISC-V cores - XDA.
ViperIDE Now Has “Single-Click” Loading of MicroPython Packages
ViperIDE, a development environment for MicroPython, has added a feature to include a package/library/module/demo/project using a simple link, using the syntax https://viper-ide.org/?install=YOUR_LINK
- GitHub via X.
Experimenting with MicroPython on the Bus Pirate 5
Chris Lott looks at having MicroPython running on the RP2040 powering the Bus Pirate 5 board - Hackaday.
Late Breaking: Upcoming GitHub Universe Issuing MicroPython Programmable Badger 2350 Boards
Sarah Drasner showed off her “swag bag” for GitHub Universe (October 29-30 in San Francisco) and the badge is programmmable in MicroPython! It’s a Pimoroni Badger 2350 with a Raspberry Pi RP2350 microcontroller (which isn’t listed on the Pimoroni website yet) - Swag Thread and GitHub Universe site.
This Week’s Python Streams
Python on Hardware is all about building a cooperative ecosphere which allows contributions to be valued and to grow knowledge. Below are the streams within the last week focusing on the community.
CircuitPython Deep Dive Stream
Last Friday, Scott streamed work on packaging CircuitMatter (Matter support on CircuitPython).
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist - YouTube.
CircuitPython Parsec
John Park’s CircuitPython Parsec this week is on Touchscreen Distance - Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for October 15, 2024 (notes) on YouTube.
Project of the Week: emlearn-micropython
emlearn-micropython is a MicroPython integration for the emlearn Machine Learning library for microcontrollers. It enables MicroPython applications to run efficient Machine Learning models on microcontroller, without having to touch any C code - GitHub.
Machine Learning on microcontrollers using MicroPython and emlearn presentation at PyData Berlin - Slides (GitHub), Video (YouTube) and Talk Notes.
Popular Last Week
What was the most popular, most clicked link, in last week’s newsletter? Book of Making 2025 on sale now: build superb projects from plant monitors to rockets.
Did you know you can read past issues of this newsletter in the Adafruit Daily Archive? Check it out.
New Notes from Adafruit Playground
Adafruit Playground is a new place for the community to post their projects and other making tips/tricks/techniques. Ad-free, it’s an easy way to publish your work in a safe space for free.
A PyDOS Handheld using CircuitPython and RP2350 - Adafruit Playground.
Home Assistant WiFi Button with CircuitPython - Adafruit Playground.
Project Nyota: Language Translation with CircuitPython - Adafruit Playground.
TM1814 LEDs with CircuitPython & RP2040 - Adafruit Playground.
News From Around the Web
PiDog AI Robot Dog Kit for Raspberry Pi 4/3B+/3B/Zero 2W is ChatGPT-4o enabled with voice command, video recognition, and it’s programmable in Python - Sunfounder via X.
micropython-npyfile provides support for Numpy files (.npy) for MicroPython. Simple persistence of multi-dimensional numeric array data, and interoperability with Numpy/CPython etc. - GitHub.
Running the FreeRTOS Kernel on RP2350 and Pico 2 - YouTube.
A sound level meter implemented in MicroPython with emlearn-micropython - GitHub.
“Using the CircuitPython library rotaryio
, and a cheap mouse wheel encoder. The encoder name is Kailh and it’s the 11mm version” - X.
How to install CircuitPython with custom firmware on M5StickC Plus2 using Linux, Thonny, and esptool - YouTube.
NeckWatch V2.0 using a Raspberry Pi Pico, ST7789 display and CircuitPython - X.
A macropad with Raspberry Pi Pico and CircuitPython plus a custom PCB - X (German).
Raspberry Pi Pico 2 - Configuración Inicial con CircuitPython y Pycharm - YouTube (En Español).
MicrOS is an ESP32 MicroPython framework for web frontend and mobile apps - YouTube and GitHub via X.
Displaying a monochrome reflective TFT memory LCD LS027B4DH01 on an ESP32 with MicroPython (controlled by GPIO) - YMT Lab.
A 3D printed Raspberry Pi Zero 2W enclosure with a 3010 fan - Adafruit Blog.
An open source Python client to read data from Colmi R02 smartrings - GitHub via Adafruit Blog.
Scraping dynamic websites with Selenium and Python - YouTube.
Coming Soon
Arducam announces a Raspberry Pi AI Camera-powered Pivistation 5 kit - Tom’s Hardware.
It appears Solder Party is coming out with a ESP32-P4 Stamp XL capable of running CircuitPython - Twitter Thread.
New
Challenger+ RP2350 WiFi6/BLE5 IPEX3 Feather format board with CircuitPython and MicroPython compatibility - LinixGizmos.
XIAO ESP32-S3 for Meshtastic & LoRa devkit features Wio-SX1262 LoRa module - CNX Software.
BeagleY-AI SBC review with Debian 12, TensorFlow Lite, other AI demos - CNX Software.
New Boards Supported by CircuitPython
The number of supported microcontrollers and Single Board Computers (SBC) grows every week. This section outlines which boards have been included in CircuitPython or added to CircuitPython.org.
This week there were seven new boards added (with more in the queue):
Note: For non-Adafruit boards, please use the support forums of the board manufacturer for assistance, as Adafruit does not have the hardware to assist in troubleshooting.
Looking to add a new board to CircuitPython? It’s highly encouraged! Adafruit has four guides to help you do so:
New Learn Guides
The Adafruit Learning System has over 3,000 free guides for learning skills and building projects including using Python.
TFT Spirit Board from Tim C
CircuitPython Audio FX from Jeff Epler
Haunted Air Blaster from John Park
Updated Learn Guides
Share your work with Adafruit Playground! by Anne Barela
CircuitPython Libraries
The CircuitPython library numbers are continually increasing, while existing ones continue to be updated. Here we provide library numbers and updates!
To get the latest Adafruit libraries, download the Adafruit CircuitPython Library Bundle. To get the latest community contributed libraries, download the CircuitPython Community Bundle.
If you’d like to contribute to the CircuitPython project on the Python side of things, the libraries are a great place to start. Check out the CircuitPython.org Contributing page. If you’re interested in reviewing, check out Open Pull Requests. If you’d like to contribute code or documentation, check out Open Issues. We have a guide on contributing to CircuitPython with Git and GitHub, and you can find us in the #help-with-circuitpython and #circuitpython-dev channels on the Adafruit Discord.
You can check out this list of all the Adafruit CircuitPython libraries and drivers available.
The current number of CircuitPython libraries is 499!
New Libraries
Here’s this week’s new CircuitPython libraries:
Updated Libraries
Here’s this week’s updated CircuitPython libraries:
Library PyPI Weekly Download Stats
Total Library Stats
- 1,420,838 PyPI downloads over 335 libraries
Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 33,327
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 25,689
- Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 19,052
- Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 16,047
- Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 14,962
- Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 13,695
- Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 13,071
- Adafruit CircuitPython HTTPServer (adafruit-circuitpython-httpserver): 10,231
- Adafruit CircuitPython Seesaw (adafruit-circuitpython-seesaw): 9,982
- Adafruit CircuitPython PortalBase (adafruit-circuitpython-portalbase): 9,923
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in:
Dan
I’ve been fixing more BLE bugs in the past week. It looks like we will soon have no more issues we want to fix for 9.2.0, and so we’ll probably do a release candidate soon.
I’ve been talking with Scott about CircuitMatter and expect to continue CircuitMatter development while Scott is on paternity leave.
Tim
This week I wrapped up a guide for my Spirit Board and it’s been published. I’ve also started reviewing Blinka and CircuitPython.org PRs which required me to get set up for testing the .org site locally. Lastly I patched and released a change in all of the libraries to fix an issue resulting from a deprecation in sphinx RTD theme that our docs use.
Jeff
I added a monophonic version of CircuitPython Audio FX to my recent guide. The goal is for this code to be drop-in compatible with the Audio FX product (except for needing MP3 files, not OGG files).
Scott
This week I’ve continued working on CircuitMatter and reached my goal of having my code work with Apple Home. I can commission into Apple Home and toggle as a light. However, this isn’t done. CircuitMatter code doesn’t currently remember its state so you need to commission every time after startup. It also doesn’t run on CircuitPython. I’m about to go on paternity leave so we’ll see how far I get before then.
Liz
This week I worked on two project guides. The first was the DIY Turbo Button Controller - HID Remapper. It uses an RP2040 USB Host Feather to create a turbo button gamepad. The Feather acts as a transparent passthrough for the controller and sends any button pushes. When a specific combo is pressed, it sends a turbo button aka a rapidly pressed A button.
The second project was the QT Py CH32V203 eInk / ePaper Daily Calendar and Clock. It uses the QT Py CH32V203. I put together a simple eInk daily calendar with it using an EYESPI BFF and a STEMMA RTC module. I was inspired to build this after JP showcased the QT Py for his Product Pick of the Week show. I had written the product guide for it a few weeks back and hadn’t had a chance to revisit it. I have a few more project ideas for the board that I’m hoping to put together.
Upcoming Events
The next MicroPython Meetup in Melbourne will be on October 23rd – Meetup. You can see recordings of previous meetings on YouTube. September’s meeting notes are here.
Hackaday Superconference is an epic gathering of hardware hackers, makers, and tech enthusiasts happening November 1-3 in Pasadena, California - Hackaday and Eventbrite.
PyCon AU will be held from the 22nd to the 26th of November at the Melbourne Convention and Exhibition Centre (MCEC) in Narrm/Melbourne. Matt Trentini and Damien George will both be presennting on MicroPython - PyCon AU.
PyLadies Conference (PyLadiesCon) is a transformative event designed to promote diversity, learning, and empowerment within the Python community. December 6-8, 2024 online - PyLadies.
Send Your Events In
If you know of virtual events or upcoming events, please let us know via email to cpnews(at)adafruit(dot)com.
Latest Releases
CircuitPython’s stable release is 9.1.4 and its unstable release is 9.2.0-beta.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20241016 is the latest Adafruit CircuitPython library bundle.
20241005 is the latest CircuitPython Community library bundle.
v1.23.0 is the latest MicroPython release. Documentation for it is here.
3.13.0 is the latest Python release. The latest pre-release version is 3.14.0a1.
4,088 Stars Like CircuitPython? Star it on GitHub!
Call for Help – Translating CircuitPython is now easier than ever
One important feature of CircuitPython is translated control and error messages. With the help of fellow open source project Weblate, we’re making it even easier to add or improve translations.
Sign in with an existing account such as GitHub, Google or Facebook and start contributing through a simple web interface. No forks or pull requests needed! As always, if you run into trouble join us on Discord, we’re here to help.
38,377 Thanks
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,377 humans - thank you! Adafruit believes Discord offers a unique way for Python on hardware folks to connect. Join today at https://adafru.it/discord.
ICYMI - In case you missed it
Python on hardware is the Adafruit Python video-newsletter-podcast! The news comes from the Python community, Discord, Adafruit communities and more and is broadcast on ASK an ENGINEER Wednesdays. The complete Python on Hardware weekly videocast playlist is here. The video podcast is on iTunes, YouTube, Instagram), and XML.
The weekly community chat on Adafruit Discord server CircuitPython channel - Audio / Podcast edition - Audio from the Discord chat space for CircuitPython, meetings are usually Mondays at 2pm ET, this is the audio version on iTunes, Pocket Casts, Spotify, and XML feed.
Contribute
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Monday. The complete archives are here. It highlights the latest CircuitPython related news from around the web including Python and MicroPython developments. To contribute, edit next week’s draft on GitHub and submit a pull request with the changes. You may also tag your information on Twitter with #CircuitPython.
Join the Adafruit Discord or post to the forum if you have questions.