mailwal

The Python on Microcontrollers Newsletter: Adafruit Metro P4 Hydra, Possible New Raspberry Pi Boards, JIT Gone and More!

Daily tips and tricks from the experts at Adafruit!

View this email in your browser. Caution: Moving Imagery

Welcome to the latest Python on Microcontrollers newsletter! With Halloween past, it is truly time for falling leaves and hot beverages. And the Python news keeps on coming. The Just-in-Time compiler for Python seems to be out according to the JIT team. Digging into Linux, one finds evidence for possibly two new Raspberry Pi single-board computers. And Adafruit comes out of the gate with a really nice ESP32-P4 board.

I would say the current trend is software. There are more tools available and the software that exists is getting faster and more optimized. Methods for looking at software to find bugs can also be used to fix the bugs and make the code better. CircuitPython has significantly improved software speed in several packages and I expect the trend to continue. – Anne Barela, Editor

The Adafruit Metro ESP32-P4 Hydra

Adafruit Metro ESP32-P4 Hydra

Adafruit’s Metro ESP32-P4 Hydra puts an Espressif ESP32-P4 with 16 MB of PSRAM and an ESP32-C6 for WiFi 6, Bluetooth 5.3 LE, Thread and Zigbee on an Arduino UNO-shaped board, with Raspberry Pi-compatible MIPI display and camera connectors, a high-speed USB host port, a microSD slot and a STEMMA QT connector. CircuitPython 11.0.0-alpha.2 supports it, and it sells for $34.95 – CNX and Adafruit.

Linux Changes Point to a Raspberry Pi Zero 3 W and Pi 4 Model A

Raspberry Pi Zero 3 W and Pi 4 Model A

New device tree files in a Raspberry Pi Linux kernel tree describe two unannounced boards built on the Pi 4’s quad-core Cortex-A72 BCM2711 chip: a Raspberry Pi Zero 3 W with WiFi, Bluetooth and a single HDMI port, and a Raspberry Pi 4 Model A without Ethernet. Raspberry Pi hasn’t announced either board, and RAM, clock speeds, price and release date are still unknown – Hackster and bret.dk.

CPython’s Experimental JIT Compiler is Being Removed

Python JIT

The experimental just-in-time (JIT) compiler in CPython is coming out after its team withdrew PEP 836 on October 19, missing the Steering Council’s deadline for a plan to support, measure and maintain it. The council had paused JIT work in June and found its speed gains small, mostly helping long-running tight loops; others can still carry the work on outside mainline CPython – InfoWorld and PEP 836.

Security Releases for Python 3.11 Through 3.15

Python security releases

The Python core team put out expedited security releases of Python 3.15.2, 3.14.10, 3.13.18, 3.12.16 and 3.11.18. The ssl module now blocks the compromised eMudhra intermediate CA keys, so normal pip use is safe from attacks based on them even before pip is updated, and the releases also fix tarfile and http.cookiejar issues. Python 3.15.2 and 3.14.10 have binary installers; the other three are source-only – Python Insider.

Timing the Faster displayio in CircuitPython 11.0.0-alpha.2

displayio speed test

Akkiesoft timed loading and showing a bitmap with OnDiskBitmap on a 240×240 ST7789 display, comparing CircuitPython 10.3.1 with 11.0.0-alpha.2 on a Raspberry Pi Pico and a Pico 2 W. The draw dropped from 0.77 to 0.29 seconds on the Pico and from 0.38 to 0.14 seconds on the Pico 2 W, and the post also notes that alpha.2’s acceptance of cross-signed root certificates fixed a TLS error the author had been working around. The article is in Japanese – Hatena Blog and YouTube.

One LVGL Binding for CPython, MicroPython and CircuitPython

Hello from LVGL

Brad Barnett released omnipython-lvgl, which generates one set of bindings for the LVGL graphics library from LVGL’s own headers, so CPython, MicroPython and CircuitPython programs all share the same import lvgl as lv. On a desktop it installs as a Python wheel (on TestPyPI for now), and on a board LVGL is built into the MicroPython or CircuitPython firmware from the repository’s ports. It’s part of PyDevices’ OmniPython effort – GitHub and examples.

This Week’s Python Streams

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

Deep Dive

Last Friday, Scott streamed work on LVGL displayio.

You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.

CircuitPython Parsec

CircuitPython Parsec

John Park’s CircuitPython Parsec this week is on Capacitive Touch on STEMMA Ports – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

Deep Dive with Tim

Deep Dive with Tim

Last week, Tim streamed work on more SSTV photos from space and web workflow display mirroring.

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 October 26, 2026 (notes) on YouTube.

Project of the Week: A Game Boy Color Emulator on the GitHub Universe Badge

Game Boy Color emulator on the Universe badge

Steve Francia wrote a Game Boy and Game Boy Color emulator in MicroPython for the GitHub Universe 2026 badge, an RP2350 board with PSRAM and a 320×240 display. Viper-compiled code keeps each frame within the 60 Hz budget, so games like Link’s Awakening DX and Pokémon Crystal play at native size, and the work also sped up the earlier NES emulator for the badge – spf13.com and GitHub.

Popular Last Week

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? iCircuit.

Did you know you can read past issues of this newsletter in the Adafruit Daily Archive? Check it out.

Adafruit Playground Notes

Adafruit Playground

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

MP3 Player Cassette V2

Gammawave updates an MP3 player built into a 3D-printed cassette shell, now with a flexible PCB to cut down the wiring. An ESP32-C3 mini board with a built-in OLED display runs MicroPython, driving a DFPlayer Mini that feeds the tape head so the cassette plays in a regular tape deck – Instructables.

ESP32 Macropad

klemens13 built a 12-key macropad with a 0.96-inch OLED that shows the active layer, a map of pressed keys and a small animated face. It runs CircuitPython and KMK as a USB HID keyboard on an ESP32-S2 Mini, LOLIN S3 Mini or ESP32-S3 Super Mini, with 3D-printable cases for MX or tactile switches. The README is in Indonesian – GitHub.

MicroPython and LVGL 9.6.0

Video 113 in a long-running MicroPython and LVGL series looks at the new LVGL 9.6.0 release on a Raspberry Pi Pico 2 W (RP2350) with an ST7796 display, covering its memory and flash needs and running test programs on ST7796, ILI9341 and ST7735 screens – YouTube and GitHub.

cp-desktop-lab

Maker Class has an unofficial fork of CircuitPython that adds a desktop port, so CircuitPython code and libraries run as a program on Linux, Windows or macOS. The terminal is the serial console, a window is the display, a folder is the CIRCUITPY drive, and real pins are available through an FT232H or MCP2221A USB adapter or a Raspberry Pi’s header – GitHub.

Haunted Matrix

Haunted Matrix is a Halloween slideshow for an Adafruit MatrixPortal M4 and a 64×32 RGB LED matrix, written in CircuitPython. It shuffles through 99 bundled illustrations, fading through black between pictures and slowly dimming one color region of each scene during its hold – GitHub.

PyDevices Gallery

PyDevices has a gallery of showcase apps, including a piano, a spectrum analyzer, games, dashboards and a photo viewer, built on its display stack. The same Python code runs on MicroPython and CircuitPython boards, in a desktop window, in a browser tab and on an Android phone, and the apps install on WiFi boards with mip – GitHub and try it in the browser.

PICO Arc

DIYvolt built PICO Arc, a pocket-sized handheld game console on a Raspberry Pi Pico with an SSD1306 OLED, five buttons, a buzzer and a rechargeable battery, all on a small perfboard in a case made from flattened PVC pipe. It plays six retro games, including Snake, Pong and Space Survival, written in MicroPython – Instructables.

Arduino App Lab 0.11.0

Arduino released App Lab 0.11.0, the desktop tool for building apps on the UNO Q, where Python runs on the board’s Linux side alongside an Arduino sketch on its microcontroller. The update adds versioned app releases, streaming sensor data from a smartphone, pose estimation, and support for several Raspberry Pi HATs on the UNO Q – Hackster and GitHub.

Volume knob for your PC

This open hardware board design pairs a Raspberry Pi Pico with an EC11 rotary encoder to make a USB volume knob: turn it to change the PC’s volume and press it to mute. The Pico shows up as a media keyboard running CircuitPython, so no driver is needed, though the post notes the board hasn’t been built yet – 3v3.dev and Bluesky.

UK National Grid Display

A ring of 12 RGB LEDs in a 3D-printed case shows Great Britain’s live electricity generation mix, fetched every five minutes from the free Carbon Intensity API. It runs MicroPython on a Seeed Studio XIAO ESP32 board, with a touch sensor to switch display modes – Instructables.

The Oracle

The Oracle is a dice cup for reflection: roll the dice, a camera in the base photographs them, the pips are counted, and an LLM writes a short poem that plays from a speaker in the cup. A Seeed XIAO ESP32S3 Sense running CircuitPython captures the image, and an Arduino UNO Q running Python counts the pips and generates the poem – Molecularist and Hackster.

Pi-Esp Jarvis

Pi-Esp Jarvis is a desktop voice assistant: you say “Jarvis” to a Waveshare ESP32-S3 Touch AMOLED 1.8 board, which runs the open-source xiaozhi-esp32 firmware (C++) for the microphone, speaker and animated face, while a Raspberry Pi 5 running standard Python (CPython 3.11) does the work and passes harder questions to Claude. It handles timers, alarms, weather, shopping lists, music and voice notes – Moth Cloud and GitHub.

Tomy Omnibot with Ring-O

Mario Cruz gave a 1984 Tomy Omnibot a Raspberry Pi 5 brain and a Raspberry Pi AI Camera, which runs YOLO11 object detection on its IMX500 sensor. The Python code drives the robot’s original motor board by playing its control tones through a Bluetooth cassette adapter, and adds an animated OLED eye and web dashboards for steering it toward people and objects – Circuit Digest and GitHub.

PI KRITISH IoT gateway

Kritish Mohapatra turned a Raspberry Pi Zero 2 W into a headless IoT gateway running a Mosquitto MQTT broker, Node-RED and a Node-RED dashboard. It collects sensor data from Mohapatra’s ESP32 and Raspberry Pi Pico projects, most of which are written in MicroPython – X and GitHub.

How to run Python scripts

A beginner guide covers the ways to run a Python script on Windows, macOS and Linux: from the terminal, as an executable file with a shebang line, as a module with python -m, at the interactive REPL, and from editors such as IDLE, Visual Studio Code, PyCharm and Thonny – Dataconomy.

Vulnerability management in Python

This tutorial builds a vulnerability tracker in about 500 lines of Python using only the standard library. It checks a package inventory against the OSV database, ranks findings with CISA’s Known Exploited Vulnerabilities list and EPSS exploit scores, and tracks fix deadlines in SQLite – shattered.io.

Pico LED-Matrix 16x16

Four 8×8 WS2812B matrices make a 16×16 display driven by a Raspberry Pi Pico (RP2040) running 26 MicroPython animations, including fire, a clock, Game of Life and a raycasting shooter. The current is capped so it runs from USB power alone, and a Python GUI on the PC uploads demos and streams images, video and sound visualizations, with an OpenSCAD case to print. The README is in German – GitHub.

badger

Christen Dijoux shares apps and mods for the GitHub Universe 2026 badge, the RP2350-based Badger 2350 with a 320×240 color screen running MonaOS and MicroPython, including a contacts app, a radar for nearby badges, a pedometer and a maze game. The repo also has Badge Studio, a browser-based app store that installs apps onto the badge – GitHub and Badge Studio.

ESP32-S3 flight controller

The Engineer designs a modular ESP32-S3 controller board for RC models, with an IMU, USB-C and JST-GH connectors for add-on modules, from the four-layer KiCad layout through stencil and hot plate assembly. The board runs MicroPython to read the IMU, and a React app on the PC shows a 3D airplane that moves in real time with the board over WebSockets – YouTube.

HexaPud

HexaPud is a 3D-printed, 18-servo hexapod robot built by a team of students, with an ESP32 running MicroPython and driving the servos through two PCA9685 boards. The code handles inverse kinematics, omnidirectional walking, a four-legged mantis crawl mode and a WiFi web page for remote control – GitHub.

New

LILYGO T-Display K230

LILYGO’s T-Display K230 is an AI dev kit built on the Kendryte K230 dual-core RISC-V chip, with a 4.1-inch AMOLED touchscreen, WiFi, LoRa and an optional QWERTY keyboard that can add LTE-M/NB-IoT and GNSS. It ships with Linux and CanMV/RT-Smart firmware; the article doesn’t mention Python, but CanMV for the K230 is based on MicroPython – 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 two 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 Adafruit Learning System Guides

New Learn Guides

The Adafruit Learning System has over 3,200 free guides for learning skills and building projects including using Python.

FLAC and Ogg Playback with CircuitPython from Anne Barela

Computer Graphics Turbo Demos from John Park

CircuitPython Libraries

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 596!

New Libraries

Here are this week’s new CircuitPython libraries:

Updated Libraries

Here are this week’s updated CircuitPython libraries:

  • No updated libraries this week.

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 working on Zephyr support for NXP i.MX boards, such as the Metro M7 boards. These are unusual chips, with multiple kinds of RAM partitions, so RAM management is somewhat tricky. It’s brought up some new space-saving and heap management issues, which I’ve been addressing.

Tim

Tim

Last week was the series 34 ARISS SSTV event. I was prepared with some different antennas for this one and managed to capture some great photos from the ISS as it passed over my area. I even submitted one of the photos to the ARISS gallery and received a virtual certificate, making the Fruit Jam now ARISS certified. I updated the ARISS page in the SSTV guide with a gallery of some photos I captured during the event and details on which antennas worked the best. This week I’m working on an SDR mapping project that includes ADS-B, APRS, and FT8 receiver apps that plot points relevant to the received signals on a map using the new adafruit_maptiles library. I got a Metro ESP32-P4 device and have been testing and updating the project code to work with it. The Metro P4’s high-speed USB host capability is particularly helpful for the ADS-B receiver, increasing by about 10x the amount of airtime that it can decode packets from.

Scott

This week I was on vacation. When I got back I polished up the camera PR and now I’m waiting for a review. Next I’m working on LVGL backed displayio.

Liz

I worked on adding support in the Adafruit_DAP library to use the CH32V203 QT Py as a host. This lets you use it to program and debug a board via SWD. It works with OpenOCD, PyOCD and a web app that I put together.

Upcoming Events

Espressif DevCon 2026

Espressif DevCon 2026 starts Tuesday and runs November 3-4 in Milan, Italy and online – Espressif DevCon.

Hackaday Supercon 2026

The 2026 Hackaday Superconference will be November 6-8 in Pasadena, California. It opens with a badge-hacking day, followed by two days of hardware talks and workshops – Hackaday.

PyCon España 2026

PyCon España (PyConES) 2026 will be November 6-8 in Barcelona, Spain, with a day of workshops followed by two days of talks – PyConES.

Maker Faire Orlando

Maker Faire Orlando will be November 7-8 at the Central Florida Fairgrounds in Orlando, Florida, with a field trip day for schools on Friday, November 6 – Maker Faire Orlando.

MicroPython Meetup

The next MicroPython Meetup in Melbourne will be on November 25 – Luma. You can see recordings of previous meetings on YouTube.

There is no MicroPython Meetup planned for December.

Maker Faire Shenzhen 2026

Maker Faire Shenzhen 2026 will be December 12-13 in Nanshan, Shenzhen, China – Maker Faire Shenzhen.

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.3.1 and its unstable release is 11.0.0-alpha.2. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20261030 is the latest Adafruit CircuitPython library bundle.

20261008 is the latest CircuitPython Community library bundle.

v1.29.0 is the latest MicroPython release. Documentation for it is here.

3.15.2 is the latest Python release. The latest pre-release version is 3.16.0a1.

4,573 Stars Like CircuitPython? Star it on GitHub!

Call for Help — Translating CircuitPython is now easier than ever

CircuitPython translation statistics on Weblate

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,009 Thanks

38,009 THANKS

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,009 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

ICYMI

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 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.