View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! The quiet of my Friday afternoon typesetting session ended with Twitter/X alarm bells. Coldcard, makers of a hardware Bitcoin wallet using MicroPython had created an insecure security method, allowing thieves to steal $38 million (USD) in folk’s funds. There are warnings throughout to use a true random hardware generator, so it’s bad on Coldcard and not MicroPython. With the alarm bells silenced, I found a neat pseudo MicroPython operating system and a Getting Started guide for using CircuitPython.
A couple of projects I liked included a MicroPython drum television and writing games using Picogame, mentioned last week. Finally, the ESP32-S31 chip is available on AliExpress in small quantities. The community is excited to get their hands on them and use the new features on these RISC-V chips. – 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, please subscribe here. Here’s the news this week:
CircuitPython Day will be August 21, 2026

It’s that time of year! Adafruit has determined that August 21, 2026 is the snakiest day of the year and designated it CircuitPython Day! Adafruit will have special shows and more throughout the day. Tag your projects #CircuitPythonDay2026 on social media and Adafruit will look to highlight them. Check out the schedule on the site as it’ll change as more content is announced – Adafruit Blog.

pymergetic on GitHub has created Metal, an experimental UEFI/BIOS freestanding async runtime. It is not a conventional OS and it is very far from production-ready, but it now boots directly into a persistent interactive MicroPython REPL – GitHub and MicroPython Forums.
New Resource: Getting Started with CircuitPython
h
Keep Everything Yours has created a new resource: Getting Started with CircuitPython – Keep Everything Yours. Via Reddit.
“This tutorial is going to walk you through everything you need to start writing CircuitPython programs. We’ll go through everything from installing the initial software on your microcontroller all the way to blinking your first LED. Each section in this tutorial will build on the last. Feel free to jump around, but if something doesn’t quite make sense, make sure to go back and confirm your understanding of each previous step. There is no software required for this tutorial, but you will need to make sure you have the basic hardware to follow along.”
Coldcard Bitcoin Wallets Raided Due to Use of Insecure MicroPython Random Number Use

The Coldcard firmware’s random number generator, active since March 2021, made seed phrases predictable. Between 01:31 and 01:56 UTC on July 31, an attacker drained ~594 BTC ($38.3M) from about 500 single-sig addresses. Coldcard had indeed disabled MicroPython’s default hardware random generator to use its own dedicated one—a standard practice, nothing exotic. Except the crypto library libngu just checked if the variable existed, not its value. Result: the firmware built the keys from the device’s serial number and its internal clock. Two predictable data points, not a true random source – Coinkite and X.
Ed. Note: This is not a MicroPython bug but an application bug in Coldcard’s software.
Scanwheel: A Drum Style Mechanical Television Using MicroPython

Scanwheel is a drum style mechanical television you can build yourself. It features five windows side by side, each taking advantage of the same scanning drum, but with separate LEDs to allow separate images. The windows are a luxurious 9mm x 8mm each, with 20 scan lines. The software uses the Pico’s PIO hardware to drive the LEDs, allowing extremely high horizontal resolution, so the image quality is a lot better than the 20p line count would imply – GitHub.

The ability to write Python on microcontrollers with the likes of MicroPython and later CircuitPython has made them much more accessible. MakerClassCZ brings that to game development with PicoGame. Like any good project, it starts with a problem that needs solving. Put simply, the existing CircuitPython displayio code isn’t that fast for gaming. It does a lot of work when computing a pixel. The _stage module, which is simpler, wasn’t flexible enough for MakerClassCZ’s liking. So he built his own – Hackaday (note the Hackaday article oversimplifies a bit on some points).
You Can Now Buy the ESP32-S31 Development Board

Over on the Espressif website, the company has announced the general release of the ESP32-S31 development board. The new microcontroller contains some nice hardware, both for communicating with other devices and for user input:
“ESP32-S31 integrates Wi-Fi 6 (2.4 GHz), Bluetooth 5.4 (including LE Audio and Classic BR/EDR), IEEE 802.15.4 (Zigbee and Thread), and a Gigabit Ethernet MAC. It also supports Matter over both WiFi and Thread. To support rich human-machine interaction, ESP32-S31 provides interfaces for DVP cameras, multiple LCD display types, and up to 14 capacitive touch channels.”
The board is on the Espressif AliExpress website. For US customers, tariffs are very steep – XDA.
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 flashing ESP microcontrollers over USB IP.
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 was cancelled due to an internet outage. Catch all the episodes in the YouTube playlist.
Deep Dive with Tim

Last week, Tim streamed work on porting Teenage Engineering EP-2350 Ting functionality to CircuitPython.
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for August, 27th 2026 (notes) on YouTube.
Project of the Week: Easy Lighting Effects for Tiny FX

Exploring picofx, a dedicated MicroPython module (software library) that makes controlling single-colour and RGB LEDs extremely simple – Pimoroni.
Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? This powerful Raspberry Pi alternative is basically a mini PC with GPIO pins.
Did you know you can read past issues of this newsletter in the Adafruit Daily Archive? Check it out.
Adafruit Playground Notes

Adafruit Playground is a 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.
News From Around the Web

A watch that makes you feel like you’re riding in a Lamborghini. It’s powered by a Raspberry Pi – X.

OpenMV V5.0.0 firmware released and finally takes the OpenMV AE3 and N6 out of beta. It adds Python-based camera control, multi-camera CSI support and overhauled APIs/docs for embedded vision development for MicroPython- Edge AI Vision and demo on Raspberry Pi. Via X.

The Raspberry Pi’s 15-year reign is quietly ending—here’s why – How-To Geek.

ESP32-C6 power consumption: Arduino vs Zephyr vs ESP-IDF – Qoitech. Via Adafruit Blog.

With CircuitPython, you can connect devices like the Raspberry Pi Pico series as USB storage, allowing you to create a rudimentary NOR flash-based USB memory stick. However, the write speed is far from the theoretical maximum – X.

Microchip has agreed to acquire Hailo AI, combining embedded processing with power-efficient AI accelerators and vision processors for robots, smart cameras, drones and industrial edge systems – Edge AI Vision.

Congratulations to PyOhio for another successful conference! Led by CircuitPythonista (and former guest editor) Kattni – LinkedIn.

EuroPython 2026 just concluded. You can check out all of the video highlights – YouTube Playlist and site.

Recreating Titanic’s high-voltage transmitter with MicroPython and ESP32 – YouTube.

Turn a thrift store joystick into a performance MIDI controller with Raspberry Pi Pico and CircuitPython – YouTube.

Making a digital compass with MicroPython/LVGL and a Raspberry Pi Pico 2 – YouTube.

Five free apps that make a Raspberry Pi useful the day it arrives – MUO.

I started using Python in Excel for boring tasks, and it completely changed my workflow – How-To Geek.

Orange Pi 5B SBC gets Ubuntu Desktop and Audio Production OS images with Bluetooth/Wi-Fi fix missed for 8 years – CNX.

An interactive map of datacenters in the United States – PoweredByWho.
New

SensWear is an open-source hardware development platform for wearables based on Nordic nRF54L15 Bluetooth LE SoC and a range of sensors designed for researchers, developers, and companies building smart rings, wristbands, patches, and other custom devices – CNX.

LILYGO T-Display C5 is an ESP32-C5 board with a 1.9-inch IPS color LCD, a USB-C port for power and programming, Lithium battery support, and GPIO expansion via headers and two Qwiic expansion connectors. The main benefit of using an ESP32-C5 chip is support for dual-band WiFi 6 connectivity (2.4/5.0 GHz), and it also keeps Bluetooth LE 5.x and the 802.15.4 radio for Zigbee/Thread/Matter found in the ESP32-C6 – CNX.

NXP has introduced the RW610FML, a compact, low-power, certified WiFi 6 and Bluetooth Low Energy (BLE) 5.4 wireless module based on the company’s RW610 Cortex-M33 microcontroller, the little brother of the RW612 without an 802.15.4 radio. Designed for smart appliances, home automation, industrial gateways, and medical devices, the surface-mount module combines the 260 MHz Arm Cortex-M33 wireless SoC with 8MB of on-module NOR flash and a built-in antenna – CNX.
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 no new boards.
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:
The Adafruit Learning System

The Adafruit Learning System has over 3,200 free guides for learning skills and building projects including using Python.
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 574!
New Libraries
Here is this week’s new CircuitPython library:
Updated Libraries
Here are 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 still fixing bugs for the CircuitPython 10.3.0 release. I just updated the mbedtls version used for networking on the RP2 port from 2.28.3 to 4.2.0 in order to fix TLS when used with numeric IP addresses. An LLM was of substantial help with this, especially tracking down all the configuration parameter changes between the versions.
Tim
The duplex I2S support and TE EP-2350 ting board def are merged into the core now. This week I discovered that the handle on the device is connected to a potentiometer so that it has an analog way to sense how far the handle is pressed. I’ve been working on CircuitPython code that implements similar functionality to the stock firmware MicroPython code. I’ve enhanced the configuration syntax a little beyond the original, and made a web page GUI that makes it easy to build configuration packs without hand editing JSON. While working on this code, I uncovered and fixed a bug in the core that leads to a hard crash when an audio sample object has deinit() called on it while it’s still being played.
Scott
This last week I revised the CircuitPython Gameboy cart after feedback from Ladyada and more testing. Now I’m getting back to hardware in the loop (HIL) software dev and also getting back into Zephyr. I’m looking forward to combining the two!
Liz
This week I published the Voicebox FX guide with Noe. The project uses an I2S microphone to record a quick .WAV file that then plays back on a loop. You can change the pitch and add reverb or echo effects with the onboard potentiometers, similar to the Talkboy voice changer from the 90s. It was really fun to write the code because it uses a lot of the new audio features that Tim has been adding to the CircuitPython core.
Upcoming Events

The HOPE 26 Conference is from August 14th through 16th at the New Yorker Hotel, NY, NY – 2600.com.

The next MicroPython Meetup in Melbourne will be on August 26 – Luma. You can see recordings of previous meetings on YouTube.
Other Events This Year
- PyCon AU 2026 will be 26 Aug. 2026 – 30 Aug. 2026 in Brisbane, Australia.
- PyConZA 2026, South Africa’s Python conference, will be 14–18 Oct at Belmont Square, Cape Town, South Africa.
- Espressif DevCon 2026 will be November 3-4 in Milan, Italy and online.
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 10.2.1 and its unstable release is 10.3.0-alpha.4. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20260729 is the latest Adafruit CircuitPython library bundle.
20260730 is the latest CircuitPython Community library bundle.
v1.28.0 is the latest MicroPython release. Documentation for it is here.
3.14.6 is the latest Python release. The latest pre-release version is 3.15.0b4.
4,529 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,913 Thanks


The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,913 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. To contribute your content, please email your news to cpnews (at) adafruit (dot) com with information and link(s) to your content.
Join the Adafruit Discord or post to the forum if you have questions.