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! With a change in the weather comes a cornucopia of maker events. Do check the events section in this issue. A number of improvements to CircuitPython are arriving, bringing increases in speed and capabilities. People are finally getting their hands on the Espressif ESP32-P4, but tariffs may impede their arrival worldwide. All that and so much more in this jam-packed issue. Thank you for subscribing. – 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:

Improving Garbage Collection Time in CircuitPython

Improving Garbage Collection Time in CircuitPython

Garbage collection is the process where unused memory is reclaimed for reuse. The Python language doesn’t require the programmer to explicitly request and free memory instead it is tracked internally. However, the process to determine which memory is still in use can be slow and requires extra memory to track. CircuitPython developer Scott Shawcroft has developed an algorithm to quickly collect unused memory and return it to possible use, increasing speed and space – Adafruit Blog.

Raspberry Pi Cuts Product Returns by 50% By Changing Its Header Pin Soldering

Raspberry Pi

Up to the Raspberry Pi 4, the pins of the IO header stick a bit out of the back of the board and are wave soldered. The process can cause some pin bridging. With Raspberry Pi 5, they are using connectors with shorter pins and using solder paste and going through a reflow oven with the rest of the parts. This reduces defect returns by half – Ars Technica and YouTube.

The Espressif Systems ESP32-C5 RISC-V MCU is Now in Mass Production

ESP32-C5 RISC-V MCU

Espressif Systems has just started mass production of the ESP32-C5 RISC-V wireless microcontroller with dual-band (2.4/5 GHz) WiFi 6, Bluetooth LE, and 802.15.4 (Zigbee, Thread) connectivity – CNX Software, hackster.io, and Espressif. Via X.

CircuitPython 10.0.0-alpha.3 is Out

CircuitPython 10.0.0-alpha.3

CircuitPython 10.0.0-alpha.3, an alpha release for 10.0.0, is now out. Further features, changes, and bug fixes will be added before the final release of 10.0.0 – GitHub. Note: On last week’s Ask an Engineer broadcast, it was shared the CircuitPython 10 poster may take inspiration from the graphic above. Your editor has made this version prior to the final art selection.

Highlights of this release

  • A number of new audio effects.
  • Improved garbage collection times
  • ESP-IDF update to 5.4.1
  • Improved audio playback on RP2

MicroPython Comes to the PicoCalc Calculator and More

MicroPython Comes to the PicoCalc Calculator

Lofi Fren has ported MicroPython to the PicoCalc, a Raspberry Pi Pico 2 W device shown in the March 17th newsletter – GitHub.

A synthesizer using MicroPython and PicoCalc has also been developed – YouTube and GitHub.

PyXL Runs Python Directly on an FPGA Without a Bytecode Interpreter

PYXL

PyXL is a custom hardware processor that executes Python directly — no interpreter, no JIT, and no tricks. It takes regular Python code and runs it in silicon. A custom toolchain compiles a .py file into CPython ByteCode, translates it to a custom assembly, and produces a binary that runs on a pipelined processor built from scratch – runpyxl.com, YouTube and hackster.io.

“A GPIO roundtrip takes 480ns on PyXL verses ~15,000ns on PyBoard (MicroPython).”

The Source of Change: Bettering Online Open Source Communities Can Begin with You

The Source of Change: Bettering Online Open Source Communities Can Begin with You

CircuitPythonista Kattni traveled to the North Bay PyCon to give the talk The Source of Change: Bettering Online Open Source Communities Can Begin with YouYouTube.

“Creating a safe and welcoming environment for open source development begins with you. Discover how you can affect positive change in your own project space and the spaces of others within the open source community through practical and achievable actions. You will gain a better understanding of the problem, and the changes necessary to begin addressing it.”

Free Book: Competitive Programming in Python

Competitive Programming in Python

The book of the week is Competitive Programming in Python: 128 Algorithms to Develop Your Coding Skills, located in the Internet Archive. While Python provides a great deal of functionality and libraries augment that, there are methods you will need that are not provided in a handy way. That is where books like this, which help with algorithms, are a great resource – Internet Archive (PDF).

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 streamed work on the Fruit Jam Launcher and Editor.

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 a Seesaw Scroll Wheel – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

The CircuitPython Show

The CircuitPython Show

In the latest episode of The CircuitPython Show, Paul welcomes Cooper Dalrymple, who was a recent guest on the Audio Effects panel discussion. Cooper shares how he got started with electronics, his music background, what’s next for CircuitPython’s audio effects, and more – The CircuitPython Show.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for April 28, 2025 (notes) on YouTube.

Project of the Week: Synthio Tutorial

Synthio Tutorial: Audio Effects

Tod Kurt has been documenting how to use the CircuitPython synthio module. The latest edition is on Audio EffectsGitHub.

“In CircuitPython, synthio is a built-in module for doing sound synthesis on microcontrollers. This guide focuses on using synthio with the Raspberry Pico RP2040 and Pico 2 RP2350 with an PCM5102a I2S DAC for audio output, but applies to other microcontrollers that support synthio (like ESP32) and other audio output techniques (like PWMOut and analog AudioOut).

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? Casio Launches its Best fx-CG100 ClassWiz Graphing Calculator with MicroPython Programming.

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

Adafruit Playground Notes

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.

News From Around the Web

MITx Online

After last week’s online courses from Harvard and Stanford, we received word of courses from MITx Online. We highlighted MIT four years ago. Check out their online catalog – site.

Vibe Coding Python Games with Gemini on Raspberry Pi 5

Vibe coding Python games with Gemini on Raspberry Pi 5 – YouTube. Via X.

PSF

The Python Software Foundation names a new Deputy Executive Director – Python Blog.

5 Raspberry Pi Projects I'd Totally Do If I Had the Time

5 Raspberry Pi projects I’d totally do if I had the time – How-To Geek.

Introduction to Zephyr Part 9: Interrupts, Timers, and Counters

Introduction to Zephyr Part 9: Interrupts, Timers, and Counters – YouTube.

Microcontrollers and Machine Learning with MicroPython and emlearn

FOSS North 2025 talk: Microcontrollers and Machine Learning with MicroPython and emlearn – YouTube.

Maker Tutorial - How To Use an Oscilloscope

Maker Tutorial – How To Use an Oscilloscope – maker.io.

I2C and SPI protocols

Romilly Cocking is restarting a series of blog posts about using I2C and SPI protocols with devices like the Raspberry Pi, the Pico and Jetson Nano – RAREblog.

Lower prices for 4GB and 8GB Compute Module 4

Lower prices for 4GB and 8GB Raspberry Pi Compute Module 4 – Raspberry Pi News.

MicroPython v.1.26.0 Milestone

On the heels of MicroPython v1.25.0 being released is news of the v1.26.0 milestone, targeted for July 31st. If you want to keep track, you can follow progress (or help) on GitHub.

CircuitPython based synthesizer

A CircuitPython based synthesizer – Mastodon.

AccessiPong

Accessible Pong Game (AccessiPong) with Adafruit MatrixPortal M4 and CircuitPython – Instructables and YouTube.

Using larger displays

Raspberry Pi Pico and MicroPython LVGL – using larger displays – YouTube.

Heat Seeking Beverage Bot

A heat seeking beverage bot using a Roomba, Raspberry Pi Pico W, and Adafruit AMG8833 thermal sensor with CircuitPython and Adafruit IO – Instructables and YouTube.

Pi Digital Clock 7.84 Inch (PYTHON)

A Raspberry Pi digital clock with a long LCD display using Python – Instructables and YouTube.

Managing Python Projects With uv: An All-in-One Solution

Managing Python Projects With uv: An all-in-one solution – Real Python.

New

ZimaBoard 2.0 in pre-release testing

ZimaBoard 2.0 in pre-release testing: now an even more powerful and versatile Raspberry Pi rival. It features an Intel N150: 4 cores up to 3.6 GHz, 8-16GB RAM, 32GB eMMC, 2x SATA 3, 2x GbE 2.5 – Notebook Check.

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:

Learn Guides

Learn Guides

The Adafruit Learning System has over 3,000 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 519!

New Libraries

Here’s this week’s new CircuitPython libraries:

Updated Libraries

Here’s 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 a problem that prevent TLS from working in the ESP-IDF v5.4.1 upgrade pull request. The format of the root certificate bundle changed, but we were using code that assumed the old format.

With eightycc, I’ve been looking at problem on ESP32-C3 and ESP32-C6 boards that causes a hard crash when you raise an exception while using REPL raw mode or paste mode.

Tim

This week I’ve been working on the Fruit Jam OS and Launcher. I’ve added functionality to download project bundles from Learn, migrated the launcher to use the new adafruit_pathlib library, made some fixes to get it running under the latest versions, and worked on the keyboard navigation between the grid of apps and the page arrow buttons.

Separately I’ve also been working on moving the libraries that were in the CircuitPython.org bundle over to the Community bundle and updating their infrastructure files in the process. While working on that, I uncovered a few issues with community bundle, adabot, and cookiecutter that I’ve submitted fixes for.

Scott

This last week I wrapped up my big projects before switching to full-time dad mode. I merged in the selective garbage collection optimization and blogged about it. I’m very excited to hear how it improves (hopefully) CircuitPython for folks. I also merged in a fix for audio playback stopping. I’m happy with how we’ve improved CircuitPython for the Fruit Jam.

Liz

This week I continued refining the camera slider project. Noe created some icons that I added to the display to indicate the different stages of setup for shots. I was able to create a very reliable function to move the stepper motor that pans the camera. Noe and I have done some test shots and things are looking really good. Most importantly, it is basically silent which is a huge upgrade from previous slider builds.

Upcoming Events

PyCon US 2025

The community is coming back to Pittsburgh, Pennsylvania for PyCon US 2025 May 14 – May 22, 2025 – us.pycon.org.

MicroPython Meetup

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

KiCad Conferences

KiCad conferences (KiCon) to be held this year include 28 – 30 May 2025 in San Diego, California, 19 – 20 Sept 2024 in Bochum, Germany, and to be determined in Asia – KiCad.

Open Hardware Summit 2025

Open Hardware Summit 2025 is being held May 30 @ 10am – May 31 @ 6pm GMT+1 in Edinburgh, Scotland – Eventbrite.

PyOhio 2025

PyOhio 2025 will be held Saturday & Sunday July 26 & 27, 2025 at the Cleveland State University Student Center in Cleveland, Ohio – PyOhio 2025.

HOPE_16

HOPE_16 is a welcoming place for hackers of all types: makers, artists, educators, experimenters, tinkerers, and more! If you’re interested in playing with technology, coming up with new ideas, learning from others, and sharing your knowledge, then this is the place for you. August 15-17, 2025 at St. John’s University Queens, New York City US – HOPE.

PyCon UK 2025

PyCon UK will be at CONTACT in Manchester from Friday 19th September to Monday 22nd September 2025 – PyCon UK 2025.

Maker Faire Bay Area 2025

Maker Faire Bay Area 2025 will be Sep 26 – 28, 2025 10:00 AM in Vallejo, California – United States – Bay Area Maker Faire.

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

20250501 is the latest Adafruit CircuitPython library bundle.

20250502 is the latest CircuitPython Community library bundle.

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

3.13.3 is the latest Python release. The latest pre-release version is 3.14.0a7.

4,259 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,913 Thanks

38,913 THANKS

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,913 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. The complete archives are here. It highlights the latest CircuitPython related news from around the web including Python and MicroPython developments. To contribute, edit next week’s draft on GitHub and submit a pull request with the changes. You may also tag your information on Twitter with #CircuitPython.

Join the Adafruit Discord or post to the forum if you have questions.