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! MicroPython v1.25 is here with so many improvements! And Arduino Cloud is now embracing AI assistance with several tiers of service. I found three free books to help with coding (AI cannot do it all, yet). And Ubuntu 25.04 ‘Plucky Puffin’ is our new favorite Linux distro. All that and quite a lot more, this week the news is as thick as the pollen in Chicago (which is out to kill non-natives, I was told). I hope you find this a good issue and I hope you have a good week. - 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, subscribe here. Here’s the news this week:

MicroPython v1.25.0 Released!

MicroPython v1.25.0

MicroPython v1.25.0 has been released after more than three years of development. Significant improvements include ROMFS, an Alif port, a RISC-V inline assembler, Datagram TLS (DTLS), mpremote recursive remove and much more. The ESP32 port now supports IDF v5.3 and v5.4, and support for versions below v5.2.0 has been dropped. The rp2 port sees the introduction of many new RP2350 boards, including the Pico 2 W, as well as support for PSRAM with size autodetection. WPA3 is now supported on the Pico W and Pico 2 W in both AP and STA modes - GitHub.

The New Arduino AI Assistant

Arduino AI Assistant

Arduino has just announced an AI assistant in their Arduino Cloud editor, powered by Anthropic Claude. There is a 30 day trial, a free tier allowing 25 queries, a Maker Plan and Enterprise plans - Arduino Blog.

Interesting Books (for free)

One of the most popular items in the newsletter is when books related to programming and microcontrollers are made available for free by their authors or publishers. This week there are three, one very relevant, one handy, one reference. Many microcontrollers running Python use Arm Cortex-M chips (Raspberry Pi RP2xxx, Microchip SAMD, etc.). A book on these chips would seem useful. A book on C, which we must use at times rather than Python on embedded systems, looks good. The final one is a textbook for your reference shelf.

Interesting Books

Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers gives an understanding of the most important topics in embedded systems design using a coherent, compelling and hands-on approach - GitHub (PDF).

Beej’s Guide to C Programming - “What we’ll try to do over the course of this guide is lead you from complete and utter sheer lost confusion on to the sort of enlightened bliss that can only be obtained through pure C programming” - beej.us (HTML).

Mathematics for Computer Science from MIT Press explains how to use mathematical models and methods to analyze problems that arise in computer science - mit.edu (PDF).

Ubuntu 25.04 ‘Plucky Puffin’ Is Out

Ubuntu 25.04 'Plucky Puffin'

Ubuntu 25.04 is the latest version of the Ubuntu operating system for desktop PCs and laptops - Ubuntu and Release Notes and Tom’s Hardware. Via X.

Some of What’s New

  • Linux Kernel 6.14 with support for the latest hardware
  • GNOME 48 desktop environment with new Preserve battery mode and Wellbeing panel
  • Papers as its default new PDF reader
  • BeaconDB as its new geolocation provider
  • Enhanced installer with improved encryption options and interaction with BitLocker Windows installations

Building A Raspberry Pi Elevator

Building A Raspberry Pi Elevator

BorisDigital on YouTube has constructed an elevator control system for a 3 floor building using hydraulic lift. The system is controlled via a Raspberry Pi 4B and call panel boards run on a Raspberry Pi Pico 2 W. Programming is in Python and the buttons are from Adafruit - YouTube. Via hackster.io.

W6300 — WIZnet’s Fastest SPI Ethernet Chip Yet

W6300

WIZnet has launched the W6300 Ethernet chip. It has support for both IPv4 and IPv6, 90Mbps throughput, 8 sockets and runs on an 80 MHz QSPI bus - WIZnet Newsletter. Via X.

Introduction to Zephyr Part 7: Debugging with OpenOCD and GDB

Introduction to Zephyr Part 7: Debugging with OpenOCD and GDB

Debugging embedded systems can be challenging, but it’s essential for identifying and resolving issues in both software and hardware. In the latest tutorial, Shawn demonstrates how to debug an ESP32 running the Zephyr RTOS using OpenOCD and GDB - YouTube. Via X.

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 a Fruit Jam OS Launcher.

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 using a BME280 Sensor with a Feather ESP32-S2 - Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

The CircuitPython Show

The CircuitPython Show

Tim Cocks, better known as foamyguy in the Adafruit community, joins the latest episode and shares his experiences in designing games for CircuitPython. Tim and Paul also discuss some recent games Tim has worked on - The CircuitPython Show.

CircuitPython Weekly Meeting

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

Project of the Week: The MintyPiPico Gaming Devive - PCB Edition

MintyPiPico Gaming

MintyPiPico is a super tiny handheld clamshell device inspired by the Minty Pi Altoids tin video game, but it uses the RP2040 Zero, CircuitPython, and an even smaller Altoids Smalls tin. It has an almost instant power-on, and can play NES and Gameboy games - Adafruit Blog, hackster.io and YouTube.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? BUSY Bar.

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

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.

News From Around the Web

USB MIDI Korg

The USB MIDI packets of the KORG nano series are irregular. Although it should be a 4-byte packet, the 4-byte MIDI message is placed at the beginning of a 64-byte packet. This person used a Raspberry Pi Pico and CircuitPython to tweak the MIDI to a format a digital audio workstation (DAW) would recognize - X.

Record Player

Record Player is a music player that plays physical records with Raspberry Pi and an Adafruit QT Py programmed with CircuitPython - Instructables, YouTube and GitHub.

LoRa transmission

“Checking the LoRa transmission (MicroPython version, the lib is micropySX126X) for the Seeed Studio Wio-SX1262 using the FlippeZero. Now it’s time to see if CircuitPython also works and to setup a receiver to test the range” - X.

Pi Pico Ticket Game

The Pi Pico Ticket Game uses a thermal printer, Raspberry Pi Pico, and MicroPython to automatically quiz users - GitHub. Via Raspberry Pi Magazine.

Thermostat

A Raspberry Pi Pico thermostat with display, made with MicroPython - Instructables.

7 reasons I regret not buying a Raspberry Pi sooner

7 reasons I regret not buying a Raspberry Pi sooner - XDA.

Pip-Boy 2040

A lovely red build of the Pip-Boy RP2040 running CircuitPython - manchicken.com.

MP4 Player

An MP4 video player using a Raspberry Pi Zero W, an LCD screen and CircuitPython. This person used a Raspberry Pi Pico running CircuitPython to - YouTube.

Reverse geolocator

A reverse geolocator with a Raspberry Pi Pico W, MicroPython and GPS Module - hackster.io.

Alkomat

Alkomat, an alcohol tester with ESP8266 and a MQ-3 running MicroPython - Instructables.

A "tear-off style" calendar

A “tear-off style” calendar made with Raspberry Pi, Python and an e-paper display - X.

MicroPython Machine Light/Deep Sleep, Idle and Frequency

MicroPython machine light/deep sleep, idle and frequency - YouTube.

LE heart rate monitor

CircuitPython BLE heart rate monitoring on an Adafruit Clue nRF52840 microcontroller - X.

7 “Useless” Python Standard Library Functions You Should Know

7 “Useless” Python Standard Library functions you should know - KDnuggets.

Neural network in Factorio, handwritten digit recognition

Creating a neural network in Factorio to recognize handwritten digit recognition. trained in PyTorch - Reddit.

Converting Dijkstra's Algorithm from Python3 to CircuitPython

Converting Dijkstra’s Algorithm from Python3 to CircuitPython - YouTube.

Raspberry Pi cluster spotted inside $6k audio processor

Raspberry Pi cluster spotted inside $6k audio processor - Jeff Geerling.

New

T-Pico with the Raspberry Pi RP2350A and Espressif ESP32-C6

LILYGO launches the new T-Pico RP2350, with a Raspberry Pi RP2350A and an Espressif ESP32-C6 - hackster.io, CNX Software, and GitHub.

W6300-EVB-Pico2

W6300-EVB-Pico2 board combines RP2350 MCU with WIZnet W6300 QSPI Ethernet controller for 80+ Mbps data rate - CNX Software. Via X.

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 Guide

New Learn Guides

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

Match3 Game on the Adafruit Metro RP2350 from Tim C

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

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 with reversed I2S stereo channels on RP2xxxx boards, and also did some minor updates of asyncio support.

I’m also working on supporting WiFi power-saving modes on Espressif boards. I’m harmonizing existing similar support on Pico W into a single API.

Finally, I’ve been making the changes needed for a larger firmware partition on 4MB Espressif boards. This makes room for BLE support on these boards. Thach is updating the UF2 bootloader on ESP32-S2 and ESP32-S3 to change the partition table it provides. I will document how to do this upgrade on a single board, and then extend that to all other 4MB boards.

Tim

I wrapped up the Match3 game guide this week and it is now live. I’ve also been working on a guide that details the usage of the USB SNES-like controller that is in the Adafruit shop with CircuitPython and Arduino. I’ve also started working on a similar guide for the USB mouse that is in the shop as well. In my free time, I’ve been working on implementing bitmaptools for Blinka_Displayio and it’s led me to take a closer look at the documentation and behavior of some of the functions in that module under core CircuitPython and I found a few issues that I submitted fixes for.

Scott

This week I’ve continued working on improving CircuitPython current working directory support to help the Fruit Jam launcher.

I’ve also greatly improved the garbage collection time by having memory opted into pointer collection. Pointer collection ensures memory isn’t freed when in use. However, it requires scanning a whole allocation for other pointers into the heap. This is expensive on PSRAM and isn’t necessary for many large allocations such as audio buffers and bitmaps. So, we improve collect times by storing whether an allocation needs to be scanned.

Liz

At the end of last week, I was out for a long weekend visiting my mother-in-law. It was a great trip and now I’m ready to get back to work. Before I left, I worked on code for the Asteroid Tracker project. This project uses a QT Py ESP32-S3 and a round display to show data from two NASA APIs that track close approach objects. To make the project more visually interesting, I made a small asteroid graphic and added code to have it fly diagonally across the screen every few seconds.

Upcoming Events

MicroPython Meetup

The next MicroPython Meetup in Melbourne will be on April 23rd – Meetup. You can see recordings of previous meetings on YouTube.

PyCon US 2025

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

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.

PyCon UK 2025

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

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

20250415 is the latest Adafruit CircuitPython library bundle.

20250418 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,247 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,919 Thanks

38,919 THANKS

Adafruit Discord

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