View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter and happy holidays to all. This is the last newsletter of 2025 with the next issue being January 12th. This issue contains a great deal of content as folks wrap things up before year’s end. This includes interesting information on the internet of things and embedded systems. For the headline, I looked at information from last January to see how far things have come and certainly things are progressing at a quick pace. And check out both the projects and a bumper crop of new items this week. Wishing you and yours joy and a Happy New Year. – 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:
2025 Year End

It’s been quite a year in the Python on hardware space. Here is a quick snapshot of where things were at the beginning of the year vs. today.
Development of Python continues at a steady pace:
- Python was at version 3.13.1 and it’s at 3.14.2 now.
- MicroPython was at v1.24.1 and now it’s at v1.27.0.
- CircuitPython was at version 9.2.2 and now it’s at 10.0.3.
Application Programming Interfaces (APIs):
- ESP-IDF for ESP32 microcontrollers: Started at version 5.4 and is now at 5.5.1.
- pico-sdk for RP2xxx microcontrollers: Started at 2.1.0 and is now at version 2.2.0.
New Hardware: beginning of the year: RP2350 boards, and end of the year: ESP32-P4 boards.
Most Popular Article Types for 2025: Cheat Sheets
Links to cheat sheets of various types were very popular as measured by link clicks in the Mailchimp application. Here are some cheat sheets from the past year you might wish to refer to:
Why Did Guido van Rossum Name Python “Python”?

Long-time Python users already know the lore behind its name… But for those who don’t: it didn’t come from science, mythology, or even a snake. In this short story, Python’s creator, Guido van Rossum, explains how a love of Monty Python, a hate for pretentious naming conventions and a sense of humor all came together to name the language – YouTube.
10 Things I Wish I Knew Before Learning Embedded Systems

As Shawn Hymel reflect back on his embedded systems journey for the past 20 years, he shares some of the insights along the way. “I figured a 10 things I wish I knew post would be perfect for this kind of reflection” – Shawn Hymel.
A Matter IoT Module for MicroPython

Kevin McAleer has created a Matter module for MicroPython to create internet of things (IoT) devices which work with all platforms – GitHub. Via X.
Top 10 Python Frameworks for IoT Development

Python frameworks remain the primary drivers of modern IoT solutions. The right framework selection directly affects the performance and scalability of an IoT product, whether it is a lightweight embedded system or an enterprise-scale IoT platform.
MicroPython and CircuitPython can be used for hardware-level development, while Flask, Django, and FastAPI power the backend. For networking, automation, and real-time communication, Twisted and Home Assistant are the top picks – Analytic Insight.
Designing Patterns for Holiday Lights

Ben Everard demonstrates using a Raspberry Pi Pico 2 and string(s) of NeoPixel smart LEDs with CircuitPython and libraries to make colorful holiday lights – Raspberry Pi News. Via Raspberry Pi Official Magazine.

Zuban is a high-performance Python Language Server and type checker implemented in Rust, by the author of Jedi. Zuban is 20–200× faster than Mypy, while using roughly half the memory and CPU compared to Ty and Pyrefly – Website and GitHub.
Python type checker ty now in beta – InfoWorld
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, Tim streamed work on Fruit Jam OS refactoring and build improvements.
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 off this week. Catch all the episodes in the YouTube playlist.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for December 15, 2025 (notes) on YouTube.
Project of the Week: A DIY Macropad

Maker Galahad has made their first Macropad with 9 keys, clickable rotary encoder and dedicated power button. It has a 3D printed case, custom circuit board with an Adafruit KB2040 microcontroller and CircuitPython firmware. Open source, non-commercial – Reddit, GitHub, and Printables.
Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? Visual Studio Code just got a huge terminal upgrade.
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.

PyBadge Timer Box – Adafruit Playground.
News From Around the Web

Interactive Hopscotch: Every time you step in a hopscotch square, LEDs will light up based on a response from a break beam sensor. Uses several Raspberry Pi Pico microcontrollers, Adafruit break beam sensors and NeoPixel LED strips controlled by CircuitPython – Instructables and YouTube Short.

Les Pounder is doing a maker item a day for Advent. Here Les uses Adafruit CircuitPython to create an MP3 player hidden inside a Christmas present. The best part, it activates using a magnetic switch, to surprise the receiver – Mastodon and YouTube.

Meg & Michelle’s Jukebox was a a real favorite during the Boston College student tech showcase. It uses CircuitPython, Circuit Playground Bluefruit, Raspberry Pi Pico, and 2 Pixelblazes – BlueSky. Via Mastodon.

Sean Carolan accepted the challenge to code a classic arcade game in a single day. The hardware is a Seeed Studio Wio Terminal, which comes with a nice 320×240 display, joystick, and a small piezo buzzer for sound effects. The game code is written in CircuitPython – BlueSky and GitHub.

Kody makes a DIY CircuitPython theremin-style MIDI input modifies a note via capacitive input. “14 pins work for this, so adding more inputs!” – X.

LoRa chat sender and receiver using a Raspberry Pi Pico and a RYLR 998 REYAX – X and YouTube.

“I got my hands on the RP2040 FlexiBoard, a microcontroller board that bends all wobbly.” – X.

Bobricius on X writes “HELTEC Mesh Node T114 with 2” larger display. Testing my CircuitPython DOS – Doomsday Operating System. New generation of post-disaster LoRa communicator and multi sensor project #Tricordex” – X.

Machine-vision capabilities come to RedBoard. Red Vision and OpenCV are now available for RP2350 IoT RedBoards via MicroPython – SparkFun.

Creating better LED lights using a Plasma 2350 W and MicroPython – hashbang code.

Rubber band launcher – fun for cats! (CircuitPython School) – YouTube.

How to handle large datasets in Python even if you’re a beginner – KDnuggets.

Microsoft CEO Satya Nadella says AI generates ‘fantastic’ Python code, and that it now creates ‘maybe 20 – 30% of the code … in some of our projects’ – MSN.

The Raspberry Pi Foundation is introducing a new ‘Programming with AI’ unit for teen education, using Python – Raspberry Pi Foundation.

10 fun things you can connect to a Raspberry Pi’s GPIO pins – How-To Geek.
New

The SupTronics X1013 is a PCIe USB expansion board designed for Raspberry Pi 5, offering ten additional USB ports – four USB 3.2 Gen1 and six USB 2.0. It’s plug-and-play, requiring no drivers, and works with Raspberry Pi OS, Ubuntu, OpenWRT and other systems. It connects to the underside of the Raspberry Pi 5, leaving the GPIO header free for HATs, coolers and other add-ons. – ThePiHut.

The LilyGo T-Display P4 is a pocket-sized device with a 4.1 inch display that looks like a smartphone from the front. It measures 22mm (0.9 inches) thick and has full-sized Ethernet and USB Type-A ports, as well as accessible GPIO and QWIIC/STEMMA QT expansion connectors. With an ESP32-P4 system-on-a-chip, the gadget is powered by a low-power RISC-V microprocessor. There’s 16MB of flash storage and 32MB of PSRAM on the SoC. The T-Display P4 also has an ESP32-C6 chip with support for WiFi 6 and Bluetooth 5, an SX1262 LoRa module, a 2MP MIPI camera, a 9-axis motion sensor, a microSD card reader, a headphone jack, and two USB-C ports – Liliputing.

Elecrow’s “All-in-One Starter Kit for ESP32-P4” is an open-source learning and prototyping platform based on the ESP32-P4 processor. The open hardware kit integrates a 7-inch touchscreen display, a 2MP camera, and sixteen built-in electronic modules, supported by over 20 structured lessons that progressively cover I/Os, audio, LVGL GUI development, and basic AI use cases. Development is done in C using Espressif’s ESP-IDF framework, ready-to-build examples, and modular BSP drivers – CNX.

Wireless-Tag has released the WTDKP4C5-S1, a compact development board built around the WT01P4C5-S1 ESP32-P4 and ESP32-C5 core module. The board supports MIPI-CSI and MIPI-DSI through the ESP32-P4, while the SDIO-connected ESP32-C5 provides dual-band Wi-Fi 6 (2.4/5 GHz) connectivity along with BLE 5, Zigbee, Thread, and Matter. Other features include a USB 2.0 Type-C OTG port, two UART debug interfaces, two 40-pin GPIO breakouts from both chips, and various power options via USB-C, a 12V DC input, or headers – CNX.

The Luckfox Aura is a compact, high-performance Linux SBC built around Rockchip’s RV1126B quad-core Arm Cortex-A53 processor with a 3 TOPS NPU. The Aura supports up to 4 GB LPDDR4X memory and up to 64 GB of optional eMMC storage. Camera and display options include two 4-lane MIPI CSI camera inputs, a 4-lane MIPI DSI display interface up to 1080p60, and an AI-enhanced ISP with HDR, noise reduction, dehazing, and image correction features. The board also features Gigabit Ethernet with PoE support, onboard dual-band Wi-Fi 6 and Bluetooth 5.4/BLE, USB 3.0 OTG, four USB 2.0 host ports, a 40-pin GPIO header compatible with some Raspberry Pi HATs, audio I/O, an RTC, and a microSD card slot – 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 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,200 free guides for learning skills and building projects including using Python.
Planetary Gear Dreidels from Liz Clark
AdaBox 022 from John Park
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 552!
New Libraries
Here are this week’s new CircuitPython libraries:
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 am continuing the native C AirLift implementation. I finished the wifi module, and implemented most of socketpool. I’m debugging socket operations now. The last task is to implement ssl. NINA-FW does not have HTTPS server functionality, so that will remain unimplemented, but HTTPS clients work fine.
Tim
I’ve been working on a greetings card maker for the Fruit Jam. It allows you to customize the front image and text, as well as inside text for a card. It generates the card and writes it to CPSAVES where it can be opened from a PC and printed. The front image can be a custom SVG or PNG file, or a snowflake image designed inside of the app by clicking points to build up a shapes to cut out of a white background with horizontal and vertical mirror flipping. In the process of making this app, I created a CheckBox displayio widget, and added some new functionality to the AnchoredGroup library. Here is a photo of some of the cards created with it.

Scott
This week I’ve continued working on CircuitPython on Zephyr. I got SPI working and enabled many other modules that build on top of it such as displayio and sdcardio. I decided testing these boards would be easier if USB was working, so I’m now trying to use the Zephyr USB stack in CircuitPython. I’ll be out between Christmas and New Years Day. I’m planning to kick off #CircuitPython2026 planning once I’m back.
Liz
This week I published the Planetary Gear Dreidels project. It uses a KB2040 running CircuitPython with an STSPIN220 silent stepper motor driver. The stepper motor rotates a planetary gear reduction with 3D printed dreidels on each of the planet gears. I’m really proud of how this project came out.
I’m going to be out for the next two weeks for the holidays. I’m looking forward to working on new projects in 2026.
Upcoming Events
Note that in December there are not many scheduled meetings due to the holidays.

The next MicroPython Meetup in Melbourne will be in late January (there is no December meeting) – Luma. You can see recordings of previous meetings on YouTube.
Coming in 2026
- PyCascades 2026 will be 20 March 2026 – 21 March 2026 in Vancouver, British Columbia, Canada
- PyCon DE & PyData 2026 will be 13 April 2026 – 17 April 2026 in Darmstadt, Germany
- The Open Source Hardware Association Open Hardware Summit is coming to Berlin, Germany on May 23rd and 24th, 2025.
- PyCon AU 2026 will be 26 Aug. 2026 – 30 Aug. 2026 in Brisbane, Australia
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 10.0.3 and its unstable release is 10.1.0-beta.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20251219 is the latest Adafruit CircuitPython library bundle.
20251218 is the latest CircuitPython Community library bundle.
v1.27.0 is the latest MicroPython release. Documentation for it is here.
3.14.2 is the latest Python release. The latest pre-release version is 3.15.0a3.
4,417 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.
39,112 Thanks


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