Daily tips and tricks from the experts at Adafruit!
View this email in your browser

View this email in your browser. Warning: Flashing Imagery

Welcome to the latest Python on Microcontrollers newsletter! This week returns to regular Python news starting with the Python Software Foundation 2026 Python Developers Survey. It is particularly important that our voices are heard as embedded developers are typically only listed as 1% of the total Pythonistas.

More news from Espressif as they update their software to support their new chips and a hardware tweak on the ESP32-P4 means board redesigns for some. A popular Python library was found to contain nasty malware, infecting many devices. But the good news includes some really cool projects this week and more. Happy Spring! – 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:

The 2026 Python Developers Survey

2026 Python Developers Survey

The ninth iteration of the official Python Developers Survey is out. Its goal is to show how the world of Python development looks today and how it compares to last year. It’s rather important, especially for showing Python use in microcontroller and single board computer use (select “Embedded Development”) – JetBrains.com. Via BlueSky.

Espressif News

The Espressif ESP-IDF v6.0 is released, supporting new chips

The Espressif ESP-IDF v6.0 is released, adding stable support for ESP32-C5 and ESP32-C61 RISC-V SoCs and preview support for ESP32-H21 and ESP32-H4 low-power wireless microcontrollers – Espressif and CNX. Via Adafruit Blog.

ESP32-P4 revision 3.0 gains a new power rail and requires PCB & firmware changes

The ESP32-P4 microcontroller revision 3.0 gains a new power rail and requires PCB & firmware changes – CNX. Via Adafruit Blog.

‘Cool Stuff’ That Makes a Difference

‘Cool Stuff’ that makes a difference

A new article on Associate Professor John Gallaugher and his students at Boston College, focusing on their work with assistive technology, which includes using CircuitPython – Boston College.

“‘Tech for Good’ is open to students from across the University, with no prerequisites. Last fall’s cohort included several graduate students from the Lynch School, an MBA student, and undergraduates majoring in computer science, marketing, and human-centered engineering. Every week, they gathered in the prototyping studio at the Hatchery, BC’s state-of-the-art makerspace. For many, it was their first time writing code or even hearing the word “accelerometer” (a device that measures movement).”

Python 3.15’s Just-In-Time (JIT) Compiler is Now Back on Track

Python 3.15’s JIT is now back on track

A goal for Python 3.15 is a Just-In-Time (JIT) compiler to speed up code execution. Early efforts resulted in a 20% slowdown. Now performance is back on track with meaningful gains – Ken Jin’s Blog.

A popular Python library just became a backdoor to your entire machine

LiteLLM is one of the most popular Python libraries for interacting with large language models (LLM), offering a single unified interface to forward requests to OpenAI compatible endpoints, Anthropic, Google, and dozens of other providers through a single wrapper. It has over 40,000 stars on GitHub, and it’s an important dependency in a lot of AI tooling.

It’s also been compromised on PyPI, and the malicious versions are stealing everything they can find on your machine. On March 24, 2026, version 1.82.8 of LiteLLM was pushed to PyPI containing a malicious .pth file called “litellm_init.pth”. That file executes automatically on every Python process startup, meaning you don’t even need to import the library for it to run. What’s more, version 1.82.7 has also been compromised – XDA.

A New Port of MicroPython to Amiga

Port of MicroPython to Amiga

It’s been 18 months since reporting last on an AmigaOS port of MicroPython. Fabrice has a new port of MicroPython v1.27.0 for Motorola 68020+ processors. It runs on classic Amiga hardware (A1200, A3000, A4000) and emulators (WinUAE, FS-UAE) – GitHub and Aminet. Via Generation Amiga.

The SPOKE Board Gains a New IDE and Distributor

SPOKE

The SPOKE CircuitPython multifunction board now has a new web-based development environment. After a successful Kickstarter, it is being manufactured in the UK and will be available from Pimoroni in coming weeks – BlueSky.

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.

Deep Dive with Tim

Deep Dive with Tim

Last week, Tim streamed work on automated proximity sensor testing with a servo.

BONUS: Last Friday, Tim looked into a proximity sensor interrupt issue.

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 modulo pixel wrap – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for March 23, 2026 (notes) on YouTube.

Project of the Week: A Vintage Tube-Style Internet Radio

Vintage Tube-Style Internet Radio

This project successfully merges the nostalgic charm of a vintage tube radio with the power of modern internet streaming using a Raspberry Pi CM4 board programmed in Python – Instructables and GitHub. Via Adafruit Blog.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? Raspberry Pi 500+ Launches with 256GB NVME SSD and 16GB RAM.

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.

Home Hub - Motion Detector

Home Hub – Motion Detector – Adafruit Playground.

Homebridge Plugin for Adafruit IO Feeds

Homebridge Plugin for Adafruit IO Feeds – Adafruit Playground.

News From Around the Web

Roland AIRA Compact

Adding a pattern chain function to the Roland AIRA Compact synth. It allows for 8 chains, with 2 fill-ins set per chain. Built using the Adafruit MacroPad RP2040 + CircuitPython. This lets it do pattern operations, allowing a user to focus on controlling the 303 – X.

micropython-uSunfish

The MicroPython uSunfish chess engine is an unofficial MicroPython port/derivative of Sunfish Chess Engine. It is tested with MicroPython v1.27.0 on ESP32-S3, but it is not memory-intensive so it should work on a plain ESP32 – GitHub.

EDAC 299-020-299D198

SMD connectors (EDAC 299-020-299D198) for castellated edge Raspberry Pi Pico sized boards allow for insertion and removal without soldering – EDAC and KiCad footprint discussion.

Thomas the Tank Engine

A 12-year-old boy created a time attack feature for a toy where Thomas the Tank Engine goes around in a circle while the operator uses a lever. From the setup and wiring to the program using MicroPython, he assembled everything himself, with a mechanism that counts it as a goal when it reacts to the ultrasonic distance sensor near the finish line – X (Japanese).

Interactive desk pet

A devilish version of an interactive desk pet using CircuitPython and an RP2040 Zero – Reddit and GitLab.

MicroPython port of SAM

A MicroPython port of SAM (Software Automatic Mouth), the classic text-to-speech engine originally created for the Commodore 64 in 1982, reimagined by Kevin McAleer. SAM runs on a Raspberry Pi Pico with just a speaker and a resistor. It uses PIO-driven PWM with DMA for jitter-free audio output at 22,050 Hz – Blog and GitHub. Via X.

Upcoming WSL upgrades

Microsoft quietly announced upcoming WSL upgrades, including a “more streamlined first-time setup and onboarding” – Windows Central.

Rewriting a 20-year-old Python library

Rewriting a 20-year-old Python library – James Bennett.

SATURNIX Open-source digital camera with film simulation

SATURNIX is an open-source digital camera with film simulation, using a Raspberry Pi Zero 2W and Python – XDA and GitHub.

Using FireWire on a Raspberry Pi

Using FireWire on a Raspberry Pi – Jeff Geerling.

Raspberry Pi Pico–powered sunrise alarm clock

A Raspberry Pi Pico 2W + MicroPython sunrise alarm clock – Raspberry Pi News.

Python Is Dead? The Data Says Otherwise

Python Is Dead? The data says otherwise – YouTube.

I Gave My Macropad an OLED (and Then Animated It)

Giving a macropad an OLED display (and then animating it) with an RP2040 and KMK firmware, which uses CircuitPython – YouTube.

4 actually useful Python programs I use on my phone

Four actually useful Python programs I use on my phone – XDA.

Speed boost your Python programs with new lazy imports

Speed boost your Python programs with Python 3.15’s new lazy imports – InfoWorld.

New

Ohm Lab Neuro N6

Ohm Lab Neuro N6 is a compact, modular Edge AI/AI Vision development board powered by an STMicro STM32N6 Arm Cortex-M55 microcontroller with a 600 GOPS Neural-ART accelerator. The Adafruit Feather-sized board features 64MB PSRAM, 32MB flash, a built-in microphone, a 6-axis IMU and magnetometer, a USB-C port for power and programming, and takes power from USB-C (5V) or a LiPo battery. The bottom side of the board features 40-pin and 30-pin high-density connectors for expansion boards, adding a camera (rolling shutter, global shutter, or thermal), a microSD card slot, Ethernet, WiFi, a TFT display, and more – CNX.

An ESP32-P4 board in the Feather form factor

An ESP32-P4 board in the Feather form factor – Adafruit Blog.

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:

A New Adafruit Learning System Guide

New Learn Guides

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

Close Encounters of the MIDI NeoPixel Visualizer Kind from Ruiz Brothers

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

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 was on vacation the week before last. I’m now working on merging MicroPython v1.27.0 into CircuitPython. In the past, we’ve merged one version at time, but I’m skipping a separate merge for v1.26 and going directly to v1.27.0.

Tim

This week I worked on the CircuitPython driver and Adafruit Learning System guide for the VCNL4030 breakout. While working on this, and the last few I2C based drivers, I’ve been building out a set of test scripts and agent SKILL.md files that make it possible to do automated hardware testing of the breakout. I built a rig out of KNex that has a stepper motor, NeoPixels and a little shelf to hold the breakout. The components get used by various hardware tests to validate that the light and proximity sensing are behaving as expected. I demonstrated the setup, and tests that it enables, on Show & Tell.

Liz

This week I worked on two new product guides. The first is the TMAG5273 magnetometer. This magnetometer a 3D hall effect sensor, making it good for magnetic rotary encoders or joysticks. I also worked on the ADS122C04 ADC. This ADC is a 24-bit ADC with four inputs, which is really high resolution.

I also started making a new weekly video short. It’s a Learn Guide Recap video. Each week I’ll compile all of the new guides that went live. I’m excited about this and hope it can grow to be a collaborative video with folks on the team as it progresses.

Upcoming Events

MicroPython Meetup

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

PyCon DE & PyData 2026 will be 13 April 2026 – 17 April 2026 in Darmstadt, Germany

Other Events This Year

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

20260326 is the latest Adafruit CircuitPython library bundle.

20260319 is the latest CircuitPython Community library bundle.

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

3.14.3 is the latest Python release. The latest pre-release version is 3.15.0a7.

4,477 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.

39,051 Thanks

39,051 THANKS

Adafruit Discord

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