View this email in your browser. Warning: Some Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! Another birthday is in the books for MicroPython tomorrow, turning a stately 12 years old. US retailer SparkFun is jumping more on the MicroPython bandwagon with a new video series and additional code support. Have you wondered about programming with Claude Code? There is a new guide on trying it out. And fresh off last week’s free books is a list of free courses from top universities. All this and more in 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, subscribe here. Here’s the news this week:
MicroPython Turns Twelve

April 29th is MicroPython’s 12th birthday! In 2013, Damien George released MicroPython and it has migrated to all kinds of equipment, on earth and beyond – MicroPython.
SparkFun Goes All-In with Python and Hardware

SparkFun continues to embrace Python on Microcontrollers, starting a how-to video series for MicroPython on YouTube. They’ve also established a dedicated GitHub repository for Python related content – GitHub and YouTube.
Claude Code: Best Practices for Agentic Coding

Claude Code is a command line tool for agentic (vibe) coding. Many programmers have been trying out AI/LLM tools to help in the coding or debugging process. This article covers tips and tricks that have proven effective for using one tool, Claude Code, across various codebases, languages, and environments – Anthropic.
Casio Launches its Best fx-CG100 ClassWiz Graphing Calculator with MicroPython Programming

Casio US introduces the fx-CG100 ClassWiz, a powerful color-graphing calculator with MicroPython for app programming and 2,900 math functions. Students can use the calculator on standardized tests, such as the ACT, AP, PAST, and SAT tests, by enabling the Exam Mode, which locks out custom apps and user-added data – NotebookCheck.
The TI-84 Plus CE Python calculators take it a step further by including the ability to collect data wirelessly from external sensors and control devices, such as robots and flying drones – TI.
Document Conversion Simplifies Working With Data
One of the hardest things with ingesting documents into a project is dealing with the varying data formats. PDF, DOCX, XLSX, HTML, etc., all require heavy duty processing which is difficult for limited systems. IBM and Microsoft have both launched services to convert such data to Markdown or JSON, both easier to parse by small systems.

Docling simplifies document processing, parsing diverse formats — including advanced PDF understanding — and providing seamless integrations with the gen AI ecosystem – IBM and an API for Docling – GitHub.

MarkItDown is a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines – GitHub and InfoWorld.
If you’d like to see a comparison between Docling, Marker, and MarkItDown, there is a video – YouTube.
Free University Courses
A number of universities worldwide offer free or low cost courses. While free courses often do not offer a certificate, the study provides valuable experience. This issue lists some courses offered by two well known US universities. If you find good course material offered elsewhere, please send links to cpnews(at)adafruit(dot)com for inclusion in future issues.

Below are a few of the many courses offered for free online at Harvard University, Massachusetts – Harvard.

Stanford has courses, often free, but some at a cost – Stanford.
Raspberry Pi HEVC Decoder Linux Driver Updated For Mainline Kernel Attempt

Raspberry Pi is getting closer to getting their H.265/HEVC video decoder driver into mainstream Linux – Phoronix.
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, Scott streamed work on CircuitPython debugging. This is Scott’s last deep dive before paternity leave.
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 was on Constant Current Fade – Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
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 21, 2025 (notes) on YouTube.
Project of the Week – PiLiDAR: A DIY 360° 3D Panorama Scanner

PiLiDAR is a LIDAR scanning system for the Raspberry Pi, designed to work with LDRobot LIDAR modules like the LD06, LD19, and STL27L – GitHub. Via Hackaday.
Popular Last Week

As predicted, the free books linked in last week’s newsletter were very popular. The most clicked link? Book: Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers.
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 Many Possibilities of Adafruit IO Actions and an Arcade Button – Adafruit Playground.
News From Around the Web

Making a Google Home mini talk using a Raspberry Pi Pico W and MicroPython – kakuwane.fc2.net and YouTube (Japanese).

Introduction to Zephyr Part 8: Multithreading – YouTube. Via X.

While the CircuitPython Team has advocated using Mu for CircuitPython development, it is not the only editor that will work (and active development has slowed). This semester, Boston College switched from Mu to PyCharm CE (free) and found it to have more features. They have a tutorial on setup and use – YouTube. Via BlueSky.

Braille Vision: a portable text-to-Braille device using a Raspberry Pi and Python – Instructables.

KiCad version 9.0.2 Release Candidate 1 available – KiCad Blog.

Interfacing an I2C LCD with an ESP32 using MicroPython – theoryCIRCUIT.

TI says its MSPM0 is the world’s most teeny, tiny 32-bit microcontroller. It’s smaller than a grain of white rice and costs 16 cents – EE Journal.

The RaPenduLa: a video platform for studying mechanical oscillations uses a Raspberry Pi Zero, camera, and Python – Instructables.

Using a Raspberry Pi Pico 2 (RP2350) with an ILI9341 touch 2.8” LCD display – YouTube.

The TIX Clock uses WS2812B (NeoPixel) LEDs controlled via a ESP32-S2 mini using MicroPython. The time is updated over WiFi from an NTP server during boot – Mastodon.

Displaying a Raspberry Pi on a small OLED display connected to a Raspberry Pi 5 using Python – X.

Ditching SD cards and booting a Raspberry Pi from an SSD – XDA.

An air quality monitor with Raspberry Pi RP2040 and MicroPython – Instructables.
New

SenseCAP Solar Node P1 and P1-Pro are low-cost outdoor Meshtastic repeaters. Both feature a solar panel, XIAO nRF52840 Plus and Wio-SX1262 modules. The SenseCAP Solar Node P1-Pro adds GPS, GLONASS, and Galileo support with a XIAO L76K and four 18650 batteries for backup power – CNX Software.

Radxa is launching the Dragon Q6A SBC. It is equipped with the Qualcomm QCS6490 SoC with four Cortex-A78, four Cortex-A55 cores and an Adreno 634L iGPU. The included NPU offers an AI performance of 12 TOPS, which makes it possible to run some AI models locally – NotebookCheck.
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,000 free guides for learning skills and building projects including using Python.
USB Game Controller with SNES-like Layout from Tim C
Using a Keyboard with USB Host from Tim C
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!
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 finished a new WiFi power management API that can be used on both CYW43 boards (like Pico W) and Espressif boards. Thanks to anecdata for testing.
I fixed a TLS problem that showed up in the ESP-IDF v5.4.1 update that eightycc is working on.
Tim
I have been working on Adafruit Learning System guides for using the basic keyboard and mouse from the shop with USB Host on CircuitPython and Arduino. There is a guide for the USB SNES-like controller as well which went live this week. In between work on those, I made some changes in adabot to try to resolve an issue that causes one of the circuitpython.org actions tasks to get stalled out at times.
Scott
This is the last week before I go into full-time Dad mode. Starting May 2nd, I’ll be part time or off completely until my youngest goes to daycare. Most of the time I’ll be hourly (aka work when they sleep). I will take 8 weeks completely off though too.
So, I’ve been wrapping up my Fruit Jam inspired work. I updated set_next_code_file
to take in a working directory and fixed OS path resolution to work across volumes. I fixed audio playback so it doesn’t play random memory when the buffer filling can’t keep up. I also made audio buffers fill while doing explicit display refreshes.
Lastly, I’m working to get my improvements to GC collection times merged in. It is a big change with a huge potential reduction in GC collect times.
Liz
I’ve been working on CircuitPython code for a camera slider that uses two TMC2209 stepper motor drivers. This takes advantage of the UART control interface for the drivers. The project also has a TFT display, rotary encoder and end stop switches. The screen helps to display a menu system that you can navigate with the rotary encoder. This will all be documented in a guide with the Ruiz brothers in the coming weeks.
Upcoming Events

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

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

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 is being held May 30 @ 10am – May 31 @ 6pm GMT+1 in Edinburgh, Scotland – Eventbrite.

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 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.
20250425 is the latest Adafruit CircuitPython library bundle.
20250425 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,252 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.
38,914 Thanks


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