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! Thanks to the Python Software Foundation folks for releasing vulnerability fixes for active Python versions. It seems that using LLMs/AI to help with coding is growing. Learn how to use it (and how not to use it) with a couple articles before checking out a Pi 5 + Python LLM you run without internet connectivity for privacy. Which microcontrollers are compatible with the Pico form factor? Now there is a list. All that and a huge crop of projects, news and more in this issue, brought to you by the letter P and the number 6. – 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:

A Coordinated Python Security Update Release

Python Security Release

To fix six vulnerability reports, the Python Software Foundation simultaneously released five new versions of Python. Python 3.13.4, 3.12.11, 3.11.13, 3.10.18 and 3.9.23 are now available. In addition to the security fixes, a few additional changes to ipaddress were backported to make the edits feasible – Python Discussion Forum. Via BlueSky.

The Latest Commercial and Prototype Uses for the Raspberry Pi Compute Module 5

Commercial and Prototype Uses for the Raspberry Pi Compute Module 5

Jeff Geerling reviews the latest commercial and prototype hardware designed to use the Raspberry Pi Compute Module 5, including a keyboard that translates speech to text locally – YouTube.

What is Vibe Coding? A Computer Scientist Explains What It Means to Have AI Write Computer Code − and What Risks That Can Entail

Vibe Coding

Vibe coding leans on standard patterns of technical language, which AI systems use to piece together original code from their training data. Any beginner can use an AI assistant such as GitHub Copilot or Cursor Chat, put in a few prompts, and let the system get to work – The Conversation and YouTube.

“AI tools do this without any real grasp of specific rules, edge cases or security requirements for the software in question. This is a far cry from the processes behind developing production-grade software, which must balance trade-offs between product requirements, speed, scalability, sustainability and security. Skilled engineers write and review the code, run tests and establish safety barriers before going live.”

The Wrong Way to Use AI (and How to Actually Write Better Code with LLMs)

The Wrong Way to Use AI

Claude 4’s beautifully broken refactor is a perfect metaphor for engineering in 2025. Tools are improving rapidly. But they’re only as useful as the engineer wielding them. When AI outputs a beautifully structured but non-compiling refactor, it’s not a failure, it’s a mirror, revealing where human judgment still matters most. For developers serious about continuously learning, that mirror is invaluable – Shawn Hymel.

TARS-BSK: A Self-Contained LLM/AI for Raspberry Pi 5, Written in Python

TARS-BSK

TARS-BSK (Tactical AI for Responsive Systems) is a personal assistant for Raspberry Pi 5 with a radically different philosophy: identity before efficiency, both non-negotiable. It’s not meant to compete with commercial assistants, but to adapt to its creator: it evolves with each interaction, controls the home environment with conversational naturalness, and works 100% offline (no internet) with adaptive personality. It’s written in Python and under an open MIT license – GitHub. Via X.

TARS-BSK

Pico Form-Factor Compatible Boards Resource

Pico Form-Factor Compatible Boards

Are you looking for a microcontroller board in the Raspberry Pi Pico size factor? arturo182 has you covered with a handy list which also lets you specify characteristics (kinda like the DigiKey catalog) – GitHub.io and GitHub.

39,003 Thanks

39,003 THANKS

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 39,003 humans – thank you! Adafruit believes Discord offers a unique way for Python on hardware folks to connect. Join today at https://adafru.it/discord.

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 Fruit Jam Library Peripherals Helpers.

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 is off this week – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

The CircuitPython Show

In the last episode of The CircuitPython Show, Paul welcomed Justin Myers. Justin shares how he started with computers and electronics and how he developed connectionmanager to make networking easier in CircuitPython – The CircuitPython Show.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for June 2, 2025 (notes) on YouTube.

Project of the Week: A TB-303-Inspired Synth Using CircuitPython

TB-303-inspired synth in CircuitPython

Tod Kurt has been working on a TB-303-inspired synthesizer using a Raspberry Pi Pico 2 on a custom circuit board with touch pads, running CircuitPython – YouTube. Via BlueSky.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? RISC-V Emulator in Python.

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.

Fruit Jam Color Checker

Fruit Jam Color Checker – Adafruit Playground.

News From Around the Web

MIDI Violin Using a USB Mouse

A MIDI violin Using a USB mouse and CircuitPython – YouTube. Via X.

Build a Raspberry Pi classifier: detect different Raspberry Pi models

Build a Raspberry Pi classifier to detect different Raspberry Pi models using Raspberry Pi 5 and Python – Raspberry Pi News.

7 Projects That Might Make Me Finally Get My Raspberry Pi Out of Storage

7 projects that might make me finally get my Raspberry Pi out of storage – How-To Geek.

Nallely

Nallely: an open-source MIDI meta-synth system with Python – Synthopia. Via Adafruit Blog.

Getting Started with Arduino Labs MicroPython: Installing the MicroPython Firmware

Getting started with Arduino Labs MicroPython: installing the MicroPython firmware – YouTube.

Add a Round Display to a Raspberry Pi Pico

Add a GC9A01A round display to a Raspberry Pi Pico (CircuitPython School) – YouTube. Via Mastodon.

Python and MicroPython in the classroom

Using Python and MicroPython in the classroom – YouTube.

MIDI Controlled Pocket Operator

A MIDI controlled Pocket Operator – YouTube and GitHub. Via Mastodon.

Friend

A little friend made with an Adafruit Trinket M0 and CircuitPython – Reddit.

Counting

A graphical countdown display using an Adafruit ESP32-S2 Reverse TFT Feather with CircuitPython – Reddit.

How to add Euro (€) and Pound (£) Signs to your KMK keyboard

How to add Euro (€) and Pound (£) Signs to your KMK (CircuitPython) keyboard – Andy Warburton. Via Mastodon.

Update PeeCee to MicroPython

Update the PeeCee to MicroPython and how to roll back to latest version – YouTube.

Python in Unexpected Places

Python in unexpected places: Python quietly powers Mars rover missions, particle physics at CERN, industrial robotics and more, revealing its role in the physical world – The New Stack.

Assistive Device

An assistive technology device providing buttons for communication with voice confirmation using CircuitPython – YouTube.

MQTT broker on my Raspberry Pi

I set up an MQTT broker on my Raspberry Pi, and it improved my smart home – XDA.

Java

Java at 30: How a language designed for a failed gadget became a global powerhouse – ZDNet.

New

Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C

The Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C and ESP32-P4-WIFI6-Touch-LCD-4C ESP32-P4-based development boards feature a 3.4-inch and a 4-inch round IPS display, respectively, a 10-point capacitive touchscreen, and a wide 170° viewing angle. They also integrate two microphones with echo cancellation for voice AI applications and offer WiFi 6 and Bluetooth 5 (LE) connectivity via an ESP32-C6 module – CNX Software.

TESS

TESS is an Adafruit Feather-compatible embedded Linux board based on the Allwinner T113-S3 SoC with 128MB of DDR3 RAM built-in. Some additional pins that are not in the original spec were added. These allow for USB and debug UART to be available on regular pin headers. This SoC only has 1 ADC pin available, limited to 1.8V, so the extra analog pins are replaced by digital pins with various mux options. This allows for multiple I²C busses, UARTs and CAN interfaces to be used – GitHub.

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:

Updated Learn Guides

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

Discord and Slack Connected Smart Plant with Adafruit IO Actions

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

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’m merging recent changes from MicroPython into CircuitPython, to incorporate bug fixes and new features in the MicroPython core. Currently I’m merging MicroPython v1.24.1, and after that I’ll do v1.25.

Tim

This week I finished up the OPT4048 guide and it was published. I also finished the displayio API updates in all remaining CircuitPython libraries. I worked on some infrastructure issues updating adabot reports to look for new config files, and submitting a patch that will upgrade our libraries to use the latest configuration for their read the docs builds. I’m also working on a guide page for the Feather ESP32-S2 BME280 device that will show to use use deep sleep and wake up every so often, read data from a sensor, then send the data to Adafruit IO before going back to sleep. Here is a dashboard I whipped up on AIO to visualize the data.

Tim

Liz

This week I worked on a guide for the SEN6x Breakout. This breakout lets you easily use a SEN6x sensor with a STEMMA QT cable. I also wrote a CircuitPython driver for the SEN6x. It is setup to allow for a new class for each of the SEN6x sensors, with a full implementation for the SEN66 currently included.

Upcoming Events

MicroPython Meetup

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

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.

KiCad Conferences

KiCad conferences (KiCon) to be held this year include 19 – 20 Sept 2024 in Bochum, Germany, and to be determined in Asia – KiCad.

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 in Vallejo, California, US – 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.8 and its unstable release is 10.0.0-alpha.6. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20250606 is the latest Adafruit CircuitPython library bundle.

2020529 is the latest CircuitPython Community library bundle.

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

3.13.4 is the latest Python release. The latest pre-release version is 3.14.0b2.

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

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.