View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! Greetings from a very snowy northern US. The newsletter took a break last week for US Thanksgiving and will likely do the same for Christmas week. The hiatus means this issue is larger than average. AI is devouring RAM worldwide, causing shortages for boards like PCs and single board computeers (SBC), subsequently rasing prices. If you’re deploying a large number of Raspberry Pi SBCs, there is now an easy way to software provision them all. And it appears Python is gaining popularity as folks shy away from Arduino, amid controversy. All of this and much more in this issue. Grab a hot cocoa (or iced tea in Australia) and I hope you enjoy this issue. - 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:
A Shortage of DDR4 and DDR5 RAM Worldwide Due to AI Usage


Driven by explosive AI demand, memory prices are climbing at a pace the industry hasn’t seen in years. Compared with earlier this year, price increases now range from 120% to 200%, particularly for newer DDR5 modules. Data from PCPartPicker.com shows that the average price for a pair of 32GB DDR5 sticks (64GB total) has surpassed $600, up from around $200. The culprit is the high demand for memory for AI applications. Memory maker Micron is leaving the consumer market (Crucial) to focus sales solely towards AI data centers - TrendForce, Micron and PCmag. Jeff Geerling video - YouTube.
Raspberry Pi Releases a 1GB Pi 5 and Raises Prices on Pi 4, Pi 5 and Compute Modules

A 1GB Raspberry Pi 5 is now available at $45 to expand current offerings. But, to offset the recent unprecedented rise in the cost of LPDDR4 memory, they announced the price of some Raspberry Pi 4 and 5 products have been increased from $5 to $25 per board - Raspberry Pi News.
Linux 6.18 is Out, Likely the Next Long Term Release Version

Linus Torvalds announced the release of Linux 6.18. Notable changes include improved UDP networking throughput, additional Rust support, andadditional support on various chip architectures including Arm and RISC-V - CNX and Phoronix.
And for the neext version: Linux 6.19 Goes Ahead And Enables Microsoft C Extensions Support - Phoronix.
Why Developers Still Flock to Python: Guido van Rossum on Readability, AI, and the Future of Programming

GitHub sat down with Python creator Guido van Rossum to discuss several modern developments in the industry - GitHub Blog.
“The people now writing things for AI are familiar with Python because they started out in machine learning. Python isn’t just the language of AI. It enabled AI to become what it is today. That’s due, in part, to the language’s ability to evolve without sacrificing approachability. AI should adapt to us, not the other way around.”
“Python is approachable because it’s designed for developers who are learning, tinkering, and exploring. Python’s future remains bright because its values align with how developers actually learn and build: readability, approachability, stability, and a touch of irreverence.”
Raspberry Pi Shakes Up Provisioning Their Boards With cloud-init

Raspberry Pi introduced cloud-init in their latest Raspberry Pi OS release based on Debian Trixie. It moves away from config.txt on the boot FAT partition to use three YAML files on the drive. The new methods allow broad configuration of the Pi set up from user creation, hardware provisioning and network set up. It all makes set up, from one or hundreds of boards, much easier. With Raspberry Pi Imager 2.0, cloud-init configuration for Raspberry Pi OS is now generated by default - Raspberry Pi and hackster.io.
Raspberry Pi OS Update Adds Improvements

The November 2025 Raspberry Pi OS update adds full HiDPI scaling, refreshed icons, updated labwc, and new browser versions - Liniac.
Why is Everyone Switching (from Arduino) to MicroPython?

Kevin McAleer streams that MicroPython is becoming the language for learning and developing code on microcontrollers. He asks why is this, and what are the main differences from Arduino - YouTube.
Python 3.14.1 is Out With Many Improvements

Python 3.14 was released back in October, but a few bugs managed to push through the big release, and a few other changes weren’t ready for prime time. A new minor update has now arrived as Python 3.14.1, containing around 558 bugfixes, build improvements and documentation changes since 3.14.0 - How-To Geek and python.org.
Also released was Python 3.13.10 containing around 300 bugfixes, build improvements and documentation changes since 3.13.9 - python.org.
Shawn Hymel’s CLI Guide Frees Arduino UNO Q Users From the “Limiting” App Lab

Maker Shawn Hymel has already found the Arduino App Lab, launched alongside the Arduino UNO Q single-board computer, to be a little restrictive for the more seasoned embedded developer. He has a new guide to working with the Arduino UNO Q at the command-line instead - Shawn Hymel and hackster.io. Check out a blink example - GitHub.
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 Fancy Text & Bitmaptools outline function.
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 using Microplot to plot data - Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.

In the season finale, Dan Cogliano joins the show and discusses the CPZ Machine, the Zork game engine he ported to CircuitPython. The CircuitPython Show will return in 2026 - The CircuitPython Show.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for December 1, 2025 (notes) on YouTube.
Project of the Week: The M314 Alien Motion Tracker

Robert Smith has built a “working” M314 Motion Tracker from the movie Aliens. It’s based on a Raspberry Pi 4B, an ILI9341 display and an DreamHAT+Radar, running on Python - robsmithdev.co.uk and YouTube. Via Raspberry Pi.
Popular Last Issue: Python Remains the #1 Language While C# Grows

What was the most popular, most clicked link, in the last newsletter? Python Remains the #1 Language While C# Grows.
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.

LoRa Wireless Greenhouse Monitor - Adafruit Playground.

How to Flash and Run CircuitPython on Your Kano Pixel Kit - Adafruit Playground.
News From Around the Web

The 6th edition of the Raspberry Pi Beginner’s Guide is available now - Raspberry Pi News.

LED Invader is a one dimensional arcade game using CircuitPython - Reddit and GitHub.

River Wang’s CircuitPython Online IDE 2.2.3 is out. The Library Manager now shows library descriptions and you can also search by description - X.

An online repository For KiCad schematics - Hackaday.

TRICORDEX is inspired by the Star Trek tricorder. A Heltec Mesh node T114 with nRF52840, GPS, I2C, BT, LoRa and CircuitPython as the main OS - X.

A digitial-analog desk alarm clock using a Raspberry Pi 2W, Python, Adafruit Blinka and CircuitPython - Instructables.

A talk at Djangocon Chicago 2025 by Pythonista Kattni: “The Source of Change: Bettering Online Open Source Communities Can Begin with You” - DjangoTV.

Making a retro-futuristic hybrid clock with Raspberry Pi Pico and CircuitPython - Instructables and YouTube.

Pixi: a smarter way to manage Python environments - kdnuggets.

Face recognition made easy with a $40 camera, Adafruit Metro and CircuitPython - YouTube.

LILYGO has added MicroPython examples for T-Lorapager, which already supports the T-SIM series and T-Connect Pro - GitHub.

Turned a laptop keyboard into a keyboard, using an ESP32-S3. The software uses KMK, which runs on CircuitPython - X.

Cloud chamber electronics, a work in progress with CircuitPython - Mastodon.

Understanding Python error messages: why they’re not as scary as you think - Programming Insider.

5 holiday-themed Raspberry Pi projects that are perfect for your home - XDA.

How often does Python allocate? - zackoverflow.

Simple tricks to make Python code faster - Hackaday.

7 useful ways to manipulate a text file with Python - How-To Geek.
New

The new Olimex MIPI-HDMI adapter board is built around Lontium Semiconductors’ LT8912B MIPI DSI to HDMI bridge chip and is designed to work with their own ESP32-P4-DevKit to turn 1–4 MIPI DSI data lanes (80 Mbps to 1.5 Gbps per lane) to HDMI 1.4 video out - CNX and GitHub.

Pimoroni unveils the Raspberry Pi RP2350-Powered Badgeware family of wearable displays building on the Badger’s success. The three new Badgeware boards are an upgrade over earlier designs and have a Pi RP2350 microcontroller and feature WiFi and Bluetooth connectivity - hackster.io.

Olimex’s new Espressif ESP32-C5 UEXT module adds dual-band WiFi 6, BLE, and Thread support - hackster.io.
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.
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 551!
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’m continuing to work on a native C implementation of wifi, socketpool, and ssl that talk to an AirLift co-processor. I have communication with the AirLift processor working and I am now converting ESP32SPI-based code to use the wifi/socketpool/socket API.
Tim
This week I wrapped up the guide for Pi Video Looper 2, an updated version of a project from an outdated guide that turns a Raspberry Pi into a dedicated video looper. The new version is updated to work on Pi 4 & 5 with the latest full versions of RasPi OS. The next project that I’ve started is an Eink literary quotes clock. I wanted to be able to accent or highlight the part of the quote with the actual time in it, so I’ve created a new Label class that has the capability to use different foreground and background colors on specified ranges within the text. While doing that I submitted a PR adding bitmaptools.replace_color() function to the core that makes it quick and easy to replace all pixels of one color in a Bitmap with another. Here is a picture of a test of the new Label:

Scott
Last week I was out due to illness and the Thanksgiving holiday. This week my youngest started daycare! So, I’m back in my office space and working all day. I’m currently working to expand the Zephyr port with a focus on the nRF54H20. I’m also working on the ESP32-P4.
Liz

This week I published a guide for the new ENS161 MOX gas sensor that is in the shop. It is an updated version of the ENS160 sensor and only required a slight update to the CircuitPython driver to have it working. Next up for me is a Hanukkah project that involves a planetary gear, stepper motor and dreidels all powered by CircuitPython.
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 January due to the holidays – 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.
20251204 is the latest Adafruit CircuitPython library bundle.
20251204 is the latest CircuitPython Community library bundle.
v1.26.1 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.0a2.
4,407 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,087 Thanks


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