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

View this email in your browser. Warning: Moving Imagery

Welcome to the latest Python on Microcontrollers newsletter! Let me put down the crowbar as I’ve fit all of this week’s content in, with a bit of persuasion. There is a lot of news and cool projects this week. The Pi folks have a new project book for using Python with their products (microcontrollers and Pi computers). It appears we may be able to get our hands on an Espressif S31 reference board soon.

Meatdryer started as a single person’s project and evolved into a commercial product using CircuitPython through it all. How many times have you used Windows and typed a Linux command (I have, many times). Now an official Microsoft package provides those programs and you don’t have to use WSL! All this and a huge harvest of projects and more. Cheers! – 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:

Python Projects for Raspberry Pi: The Book You’ve Been Waiting For to Level Up Your Skills

Python Projects for Raspberry Pi

Made for those of you who ask “What next?” after learning the basics, this book is full of practical, hands-on Python and MicroPython projects to teach you how to use the more advanced capabilities of Raspberry Pi computers and microcontrollers. Use a variety of sensors, displays, and actuators, and take a deep dive into PIO (Programmable Input/Output) along the way – Raspberry Pi News.

The Espressif CoreBoard 1 is the First ESP32-S31 Reference Board

CoreBoard 1

While a couple of ESP32-S31 devices have had brief glimpses to date, the Espressif official reference device has appeared: the CoreBoard 1. It has GPIO lines brought out via a double row header with built-in DACs: two 10-bit and two 12-bit. Two type A USB connectors provide a USB serial port and a serial/JTAG port. There is also a full size USB 2.0 Type-A port and an RJ45 wired GigaBit Ethernet port – i-programmer.info and Espressif.

BugBuster Gives AI the Tools to Debug Physical Hardware

BugBuster

A new open source project, called BugBuster, is trying to provide ways for AI models to measure, control, and debug real hardware. The hardware platform, developed by Lorenzo Karavania, is able to interact with popular AI assistants, such as Claude, through a Model Context Protocol (MCP) server. This allows the AI to measure voltages, drive outputs, capture waveforms, and analyze digital signals as needed to debug hardware issues autonomously via an ESP32 and an RP2040 and software including Python/MicroPython – GitHub. Via hackster.io.

Meatdryer, A Product Built With CircuitPython

Meatdryer

Daniel Alsén developed Meatdryer with CircuitPython and a bunch of Adafruit boards in a garage in Sweden, for personal use, without any intent to launch a product. Now it’s available commercially: a smart hook to cure meat at home, like Prosciutto, Bresaola, cured Biltong and even full Parma Hams. It tells you when your meat is ready by using target weight (e.g., 60%) and climate monitoring. You can use it with or without WiFi – Meatdryer.

Microsoft Introduces Coreutils for Windows, Bringing Familiar Unix-style Command-line Tools to Windows Without Requiring WSL

Coreutils for Windows

Microsoft has introduced Coreutils for Windows, a new Microsoft-maintained set of Unix-style command-line utilities that run natively on Windows. It requires PowerShell 7.4 or later, and some commands conflict with existing CMD or PowerShell built-ins and aliases – Linuxiac, YouTube, The Verge and GitHub. Via the Adafruit Blog.

Run Python Code in a MicroPython/WASM Sandbox

datasette-agent-micropython

datasette-agent-micropython runs Python code in a MicroPython/WASM sandbox in a browser. The plugin adds an execute_micropython tool to a Datasette Agent. The tool runs Python code using a sandboxed MicroPython interpreter compiled to WASM. It may be used for pure computation, parsing, data transformation, math, and checking algorithms. Output is captured from stdout and stderr, so code should use print() to return values – GitHub.

AI and Python Weekly Round Up

AI and Python Weekly Round Up

Here’s a condensed wrap-up of interesting AI/LLM articles from this week.

I asked Gemini, Claude, and ChatGPT to debug the same Python error, and only two explained what actually broke – Make Use Of.

Cognition’s Scott Wu says AI coding agents shouldn’t replace humans – TechCrunch.

Coders are refusing to work without AI, and that could come back to bite them – TechCrunch.

Canvas replaces hours of Python debugging

Cleaning massive, disorganized spreadsheets or parsing through thousands of lines of raw server logs is annoying. You can do it yourself, make a program to do it, or you can just give it to Claude and ask it to fix your problems. Claude has a built-in execution canvas that handles smaller tasks. It’s a sandboxed processing environment that lives right inside your chat window, so you can drop in files and use plain language to make the fixes you need – How-To Geek.

“You don’t have a Python environment to configure, no matplotlib syntax to remember, and no pandas documentation to dig through. It is great for people who have a simple project to get through and just want to see a final result, or those who want to see a prototype of their idea before they build it.”

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, Tim filled in for Scott and discussed his work on hardware-in-the-loop (HIL) testing for CircuitPython libraries with PyTest.

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 LCD Character Display Animation – 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 Web Workflow Pytest Integration.

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

Project of the Week: Web-Based Control For a CB Radio

Web-Based Control For A CB Radio

Mario (ThatCrazyDcGuy) has an Albrecht AE-5900 citizen band radio which has the interesting feature that it can be entirely controlled from its microphone. This led to a web-based interface for the rig, through clever emulation of the microphone with a single board computer and Python – GitHub and Hackaday.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? Rovari RV Circuit Studio Purports to Replace Mu for CircuitPython Editing.

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.

The Student Flexible Camera-Memento-Flex

The Student Flexible Camera-Memento-Flex – Adafruit Playground.

News From Around the Web

Mini Pupper 2

Mini Pupper 2 upgrades from Raspberry Pi CM4 to the beefier CM5 with Ubuntu 24.04 support – GitHub. Via X.

Diffraction Grating Clock

A diffraction grating clock using MicroPython on a Raspberry Pi Pico W – Instructables, GitHub and YouTube. Via Hackaday.

Raycasting

Cooper Dalrymple was inspired by the recent Doom on Neo Geo video by modernvintagegamer.com to get some raycasting working on the Adafruit FruitJam using CircuitPython. It runs at about 3 fps on real hardware – GitHub. Via BlueSky.

Level crossing automation

@PaterPracticus on X (formerly Twitter) posts a MicroPython project “My level crossing is finally fully automated! Not without a few hiccups along the way, but my existing Raspberry Pi Pico now triggers the one for the servos, just in time to close the gates before the train comes, opening them again after it has completely passed.” – X.

Your smart home needs fewer Raspberry Pis and more boring microcontrollers

Your smart home needs fewer Raspberry Pis and more boring microcontrollers – XDA.

Why ESP32 boards are replacing Raspberry Pi for wireless projects – How-To Geek.

BME680 sensor data

Roland Schulz posts “Just connected a Pimoroni Stellar Unicorn to a Raspberry Pi Revolution Pi via USB serial, and it was easy! BME680 sensor data flows straight into NodeRED, visualized on the Dashboard, and the exact same values are live on the Stellar Unicorn’s LED matrix. #maker #micropython” – X.

ESP32-S3 vs ESP32-C6 vs ESP32-P4: Which One for Your Product?

ESP32-S3 vs. ESP32-C6 vs. ESP32-P4: Which one for your product? – YouTube.

piBrick Pocket-CM5

The piBrick Pocket-CM5 is a $172 compact DIY handheld PC featuring the latest Raspberry Pi CM5 as its core and is characterized by its physical keyboard and AMOLED (organic EL) display – Daily Gadget (Japanese) and Yanko Design (English).

PicoDesk

PicoDesk is a retro terminal style desktop companion station built with Raspberry Pi Pico 2W, MicroPython and two SSD1306 OLED displays. It shows live time, date, weather on one screen and animated eyes, heart rain, and a mobile controlled todo list on the other – GitHub. Via X.

5 ESP32 alternatives for your next project (and why you should use them)

5 ESP32 alternatives for your next project (and why you should use them) – How-To Geek.

Macropad With Digital Stereo Audio Using Pimoroni Keybow 2040 and MAX98357A Audio Board (HID + MIDI Capable)

A second look at adding audio to the Pimoroni Keybow 2040 (macropad). This time adding digital audio using an I2S stereo audio amplifier board based on a pair of Analog Devices MAX98357A chips – Instructables.

A radar-like parameter display in MicroPython

A radar-like parameter display in MicroPython using either a VL53L0X, VL53L4CD, or SONAR distance sensor – GitHub. Via Mastodon.

Cyberdecks

Cyberdecks used to look like little laptops, but now they’re getting more personal – The Verge.

Structuring Your Python Script

Structuring your Python script: Making your file executable with a shebang & using Import statements – YouTube.

5 More Must-Know Python Concepts

Five more must-know Python concepts – KDnuggets.

nVidia CUDA 13.3

nVidia CUDA 13.3 enhances GPU development with tile programming in C++, compiler autotuning, and Python updates – nVidia Developer.

New Research: SQL Rivals Python as America’s Most In-Demand Programming Language – and It’s Needed Far Beyond Silicon Valley

SQL rivals Python as America’s most in-demand programming language – and it’s needed far beyond Silicon Valley – Yahoo! Finance.

New

ESP32P4C61-TINY

The ESP32P4C61-TINY is equipped with an ESP32-P4 and an ESP32-C61 microcontroller. Both chips are housed in the onboard Wireless-Tag WT01P461-S1 module. The ESP32-P4 provides a dual-core RISC-V processor running at 400 MHz with up to 32MB of PSRAM and 16MB of flash memory. The ESP32-C61 is included for wireless networking with both Wi-Fi 6 and Bluetooth Low Energy 5 radios. The board is also equipped with exposed GPIO pins, a MIPI DSI display connector, a MIPI CSI camera connector, dual USB-C ports, and a microSD card slot – hackster.io.

Nuvoton NuMaker-GestureAI-M55M1

The NuMaker-GestureAI-M55M1 integrates the M55M1 MCU (Cortex-M55 MCU @ 220 MHz, 1.5 MB SRAM, 2MB Flash) with a GC0308 CMOS image sensor, a digital microphone, and a microSD card slot for storing AI models. It is designed for applications such as gesture control, basic vision systems, and touchless interfaces – 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 four 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:

The Adafruit Learning System

Learn Guides

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

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

New Libraries

There are no new CircuitPython libraries this week.

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 fixed several issues, working toward the CircuitPython 10.3.0 release, and also closed several other issues that had been solved since they were filed. As of this writing, there are 49 open issues on the 10.3.0 milestone.

I’m continuing to work on Espressif BLE issues and discussed them with Scott.

Tim

This week my PR adding audioi2sin module to the core was merged. It supports I2S microphones on absolute newest builds. I fixed an issue with the Circup docs build inside of Read The Docs. I also dove much deeper into Ubuntu Core to figure out how to create custom images with preloaded snaps in them. I’m getting close to having the pages done for a guide that details how to try it out and use Blinka and other CircuitPython libraries with it.

Scott

Scott

This week I’ve continued testing the P4HIL board. I realized the pull up resistors network was preventing USB from working on a board that split it out. So, I’m going to revise the board to do per-pin pulls via additional IO expanders. This is more flexible and prevents crosstalk between pins.

I also put all 10 HIL boards together on two swirly grids to see the Ethernet and USB wiring situation. It is pretty busy, but it is the best way to go, I think. Dan and I discussed it and thought using off the shelf Ethernet switches and USB chargers were the best approach. We also found a Kallax shelf insert that will help stack the switch and charger around the swirly grids.

Upcoming Events

MicroPython Meetup

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

EuroPython 2026

EuroPython 2026 is coming to Kraków, Poland 13-19 July, 2026. Join thousands of Python enthusiasts for a week of learning, networking, and community.

Other Events This Year

  • PyOhio 2026 is from 25 July through 26 July, 2026 this year in Cleveland, USA.
  • HOPE 26 Conference is from August 14th through 16th at the New Yorker Hotel, NY, NY.
  • PyCon AU 2026 will be 26 Aug. 2026 – 30 Aug. 2026 in Brisbane, Australia

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.2. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20260603 is the latest Adafruit CircuitPython library bundle.

20260523 is the latest CircuitPython Community library bundle.

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

3.14.5 is the latest Python release. The latest pre-release version is 3.15.0b2.

4,508 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,996 Thanks

38,996 THANKS

Adafruit Discord

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