View this email in your browser.
Welcome to the latest Python on Microcontrollers newsletter! The newsletter is back for 2025 with extra content covering the last couple weeks. A great deal has been happening. The beginning of the year is CircuitPython 2025, the annual call for users to let developers know their wishes and priorities. Open Hardware receives the spotlight this week, while open software CircuitPython gets an update. Finally, our hearts go out to those in California affected by wildfires. – Anne Barela, Editor
We’re on Discord, Twitter/X, BlueSky and for past newsletters – view them all here. If you’re reading this on the web, subscribe here. Here’s the news this week:
CircuitPython 2025
Let’s take this moment to reflect on 2024 and look ahead to 2025 for CircuitPython. Just like past years dating back to 2019, we’d like folks in the CircuitPython community to share their thoughts about CircuitPython’s future. So, please post about #CircuitPython2025 to some public place on the internet.
There is still time to get your submission in! Send yours in to circuitpython2025@adafruit.com or post it to a public place and send the link in by Tuesday January 14th – Adafruit Blog.
See some of the submissions which have already come in – blog.adafruit.com/tag/circuitpython2025/.
Scott and Ladyada Talk CircuitPython 2025
Scott Shawcroft, the lead developer of CircuitPython, speaks with Ladyada on the past, present and future of CircuitPython – Adafruit Blog and YouTube.
Raspberry Pi Releases the Raspberry Pi 5 with 16GB RAM
On Thursday, Raspberry Pi released the awaited 16GB RAM version of their Raspberry Pi 5 flagship single board computer. Boards are available from retailers at a price point of $120 US – Raspberry Pi News.
“The optimised D0 stepping of the Broadcom BCM2712 application processor includes support for memories larger than 8GB. And our friends at Micron were able to offer a single package containing eight of their 16Gbit LPDDR4X dies, making a 16GB product feasible for the first time.”
They also launched Raspberry Pi Carbon Removal Credits, providing an option to mitigate the carbon footprint of manufacturing, shipping, and disposing of one of their computers. Priced at $4, they use offsets based on UNDO Carbon’s enhanced rock weathering (ERW) technology – Raspberry Pi News.
OSHWA Nears 3,000 Open Source Projects and Adafruit Reaches 800
The Open Source Hardware Association (OSHWA) is nearing the certification of 3,000 open source projects worldwide as of the end of 2024. Of those, 800 are by Adafruit – OSHWA.
The Year in Open Source Hardware: Why Open Hardware is Needed
Open Hardware isn’t just about abstract principles. Several projects this year offered powerful demonstrations of why Open Hardware is needed – Adafruit Blog and The New Stack. Via BlueSky.
CircuitPython 9.2.2 Released
CircuitPython 9.2.2 is the latest bugfix revision of CircuitPython and is a new stable release – Adafruit Blog and release notes – GitHub.
Highlights of this release
int.from_bytes()
and .to_bytes()
calls can omit byteorder
arg, as in CPython.
DemuxKeyMatrix
: add scan delay, add columns_to_anodes
and transpose
args.
- Implement
audiomixer.MixerVoice.level
as synthio.BlockInput
.
displayio
now supports 24-bit color depth.
- Add
sideset_pindirs
to rp2pio.StateMachine
.
rp2pio
: support on GPIO pins 32 and up, available on RP2350B.
- Initial implementation of
audiobusio.PDMIn
on Espressif.
- Update Espressif ESP-IDF to v5.3.2, which supports ESP32-P4 v1.0 chips.
- New
ports/analog
port, initially supporting Analog Devices ADI MAX32690 microcontroller.
- Over 20 new boards.
Python is TIOBE’s Programming Language of the Year for 2024
The TIOBE Index has named Python its programming language of the year based on the considerable growth in usage and popularity of the language over the past year. Among the reasons for Python’s rapid growth is that it has become a preferred language for organizations building next-generation AI applications – TIOBE. Via The New Stack.
“Python is everywhere nowadays, and it is the undisputed default language of choice in many fields,” wrote Paul Jansen, founder and CEO of TIOBE Software. “It might even become the language with the highest ranking ever in the TIOBE index. Python’s only serious drawbacks are (and thus leaving room for competition) its lack of performance and that most errors occur run-time.”
RISC-V Made Nice Software Progress In 2024 While Interesting Hardware Is Still Rare
RISC-V on the software front made very nice progress over the past year with a lot of Linux kernel and toolchain improvements, new targets being enabled, and new instructions being supported along with other additions for improving the overall RISC-V software ecosystem. When it comes to hardware though most of the readily available RISC-V systems are painstakingly slow and the more performant/featureful options are much harder to come by – Phoronix.
Free Python Book Gets Yet Another Update
Think Python 3rd Edition by Allen B. Downey has been updated and released. While it’s on Amazon, etc. for purchase via Green Tea Press, there is a free version on GitHub – github.io.
KiCad 9 Release Candidate Available
The KiCad project announced the first release candidate for the next major version of their free printed circuit board design software. Version 9.0.0 is expected to be released by 01/31/25 – X. New Features and Downloads.
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 #CircuitPython2025 and more Zephyr.
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 is on hiatus due to the California fires. John and family are safe at the moment. Catch all the episodes in the YouTube playlist.
The CircuitPython Show has returned after a one year hiatus! In the latest episode, host Paul Cutler interviews CircuitPython community member Aaron Pendley. Aaron shares how he got started with computers, how he discovered CircuitPython, and some of his favorite CircuitPython projects – The CircuitPython Show
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for January 6th, 2025 (notes) on YouTube.
Project of the Week – A Raspberry Pi Pico MIDI Gesture Controller
Guitarist and keen coder Gary Rigg created a Raspberry Pi Pico-based MIDI expression pedal with 3D printing and CircuitPython – The MagPi and YouTube.
Popular in the Last Issue
What was the most popular, most clicked link, in the last newsletter? 5 of the best budget-friendly SBCs.
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.
Option Map: Microcontroller form factors – Adafruit Playground.
CircuitPython “Ring Oscillator” RNG with SN74AHCT14 – Adafruit Playground.
Galaxy Far, Far Away Aurebesh font – Adafruit Playground.
News From Around the Web
Linus Torvalds just released Linux 6.13-rc6 as the newest weekly test release of the Linux 6.13 kernel that is working its way toward stable release later this month – Phoronix.
2024 was Raspberry Pi’s biggest year to date – How-to Geek.
A Git crash course cheat sheet – X (click the graphic to get a larger version). The author’s site has other guides.
Maker uses Raspberry Pi 5 and Pico to power a multi-sensor project using Python – Tom’s Hardware, GitHub and Reddit.
Raspberry Pi CM5 review with different cooling solutions (and camera tribulations) – CNX Software.
A baby logger for tracking various vital functions during the first few months after birth using Python on a Raspberry Pi Zero W – hackster.io and GitHub. Via Hackaday.
An automatic toothbrushing timer using MicroPython – GitHub.
“This toothbrush timer tracks how long you spend on actively brushing your teeth. It uses an accelerometer to measure motion, and analyzes it using a simple machine learning model. The device helps you get to the 2 minute mark, which is the recommend duration. This is a demo project for emlearn-micropython
, a library for efficient machine learning and digital signal processing in MicroPython.”
11 projects the Raspberry Pi Compute Module 5 (CM5) is perfectly suited for – XDA.
An MQTT message display with word wrapping on a Pimoroni Presto – GitHub. Via X.
Cyber WalkMan: a Cyberpunk-style multi-display music player using Python – hackster.io, DFRobot and hackaday.io. Via X.
A personalized digital tree ornament with animated icons using CircuitPython – hackster.io.
Making a Raspberry Pi RP2040 top octave generator chip replacement with MicroPython and PIO – cctv.fm.
Bringing SerenityOS to real hardware, one driver at a time, with RP2040 and CircuitPython – sdomi.pl.
The Raspberry Pi Pico W-powered “pic0rick” delivers low-cost ultrasound experimentation, interfaced with Jupyter Notebook – hackster.io and GitHub.
Morse code transmitter – flash messages to friends with an LED connected to a Raspberry Pi powered by Python – sean.co.uk.
Simon Boak’s upcycled forth clock features a Raspberry Pi Zero-powered Thinking Machines animation using a Raspberry Pi Zero and Python – hackster.io.
Focus Dial: a digital distraction blocker, using an Adafruit ESP32 QT Py – Instructables and GitHub.
How to send text messages with a Raspberry Pi and Python – Circuit Basics.
Human activity recognition with tree-based models, tested with an ESP32 and MicroPython – GitHub.
10 reasons you should use a Raspberry Pi as a dedicated print server – XDA.
Python concurrency: threads, processes, and asyncio
explained – newvick.com.
A deep dive into multithreading, multiprocessing, and asyncio – Towards Data Science.
New
Cygnet is a new Feather-compatible host microcontroller from Blues – supporting Arduino, C, C++, and soon CircuitPython – Blues.
Radxa Cubie A5E is a tiny single-board PC with an M.2 socket and dual LAN ports – Liliputing.
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 eleven new boards added:
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.
Holiday IoT Switch from Ruiz Brothers
Control Wiz Lights With CircuitPython from Tim C
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 497 (9 community bundle libraries were withdrawn)
Updated Libraries
Here’s this week’s updated CircuitPython libraries:
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in:
Dan
I’m preparing CircuitPython 9.2.2 for release soon (Ed: It’s been released, see above). It will include over fifty pull requests with fixes, new boards, and new features.
I’m continuing working on getting CircuitMatter running in CircuitPython. I now am at the point in a simple example where all the encryption keys have been generated. At this point it appears I will need to add some needed features to the mDNS implementation in CircuitPython.
I fixed a bug in the CircuitPython MiniMQTT library that caused large packets to be truncated.
Tim
I’ve continued working on issues and reviewing PRs submitted CircuitPython libraries. This week I tested a few on the VEML7700 and submitted a fix a value that was changed in the newer revisions of the datasheet. I also tested some reported issues for WS2801 LEDs and refactored that library to use pixelbuf
internally. I’ve started making a displayio
based analog clock face widget that has customizable hands, numbers, and background.
Jeff
I took almost two full weeks off during the holidays, but when I was working it was all PIO, all the time.
As mentioned in the final newsletter of last year, I am still working on RGB matrix display support on the Pi5.
I also have started working on enabling PIO on the Metro RP2350 to use pins 32 and up in CircuitPython, which is also needed for the board’s USB host functionality.
Scott
This week I’ve been facilitating #CircuitPython2025 and collecting the posts on the blog. I’ve been working on CircuitPython on Zephyr otherwise. I’m working on supporting their flash API and am excited to abstract on top of it. Theoretically we’ll be able to support newer flash devices like NAND (instead of NOR) that Zephyr already supports.
Liz
This week I returned from my end of year nap. I kicked off 2025 by documenting the Newxie vertical TFT displays. These displays are meant to emulate nixie tubes with right angle header pins that allow them to stand-up easily on a breadboard. For the guide, I wrote examples for using one display with CircuitPython, Python and Arduino and a special page for using four of them at once with Python on a Raspberry Pi.
Upcoming Events
The next MicroPython Meetup in Melbourne will be on January 22nd – Meetup. You can see recordings of previous meetings on YouTube.
The community is coming back to Pittsburgh, Pennsylvania for PyCon US 2025 May 14 – May 22, 2025 – us.pycon.org.
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.2.2. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20250110 is the latest Adafruit CircuitPython library bundle.
20250110 is the latest CircuitPython Community library bundle.
v1.24.1 is the latest MicroPython release. Documentation for it is here.
3.13.1 is the latest Python release. The latest pre-release version is 3.14.0a3.
4,168 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,600 Thanks
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,600 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.