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

View this email in your browser.

Welcome to the latest Python on Microcontrollers newsletter! I found three articles about AI and programming so I made a special section ‘In the News’. I didn’t want to put it in the top features, as this is a Python oriented newsletter and I don’t want to put anyone off that might think we’re pivoting towards AI. I do see more folks getting into hardware projects because they have AI as a tool to help them, and that’s just the thing to expand the user base.

Some wins for MicroPython this week. It’s being used on a Eurorack module and it was ported to Super Nintendo. And if you’d like some Raspberry Pi books, the new Humble Bundle gets you a bunch for a low price. Happy Monday! – 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:

AMYboard – a MicroPython-based Eurorack Module

AMYboard

AMYboard is a complete audio synthesizer for US $29.90 that can be at least three things: a Synthesizer, Dev Board, and Eurorack module. It’s open source, has a STEMMA QT/qwiic port for expansion, and ships with MicroPython firmware – AMYboard. Via BlueSky.

MicroPython on the Super Nintendo

MicroPython on the Super Nintendo

Python on the SNES has been a dream of Fabian Kübler for a long time. Claude Fable 5 came out, and Fabian thought: this would make a great benchmark for the model. Porting MicroPython to the SNES: a 3.58 MHz CPU, 128 KB of RAM, 16-bit int, and a niche C compiler – Fabian Kübler and GitHub. Via Adafruit Blog.

Raspberry Pi Book Humble Bundle

Raspberry Pi Book Humble Bundle

Humble Bundle is once again letting you name your own price for a bundle of Raspberry Pi Press e-books. With this book bundle, you’ll receive DRM-free electronic copies of a selection of Pi titles. What’s more, your purchase will support the Raspberry Pi Foundation‘s work to help young people realise their potential through computing.

Check out the Humble Tech Book Bundle: Raspberry Pi Picos, HATs, and More. This selection of books gets you up and running with Raspberry Pi computers, microcontrollers, and accessories. It’s available from 11 July to 1 August at 7pm BST (11am PT) – Raspberry Pi News. Via X.

Comparing MicroPython, Zephyr, Lua, and Forth

Comparing MicroPython, Zephyr, Lua, and Forth

One of MicroPython’s best features is its REPL (“read-evaluate-print-loop”), which allows a person to write Python code and interact with their hardware, all from a serial connection. Lua and Forth are two other interpreted languages that came up in my research as being particularly well-suited for embedded systems. So, how do these tools (and the Zephyr shell) stack up against each other? – Maker.io.

Seven Python Frameworks for Orchestrating Local AI Agents

7 Python Frameworks for Orchestrating Local AI Agents

There are multiple ways to build, coordinate, and run AI agents on local machines. Here are seven Python tools to do this – KDnuggets.

Python’s popularity and Third-Party Library Ecosystem Make It an Attractive Target for Threat Actors

Attractive Target for Threat Actors

Cisco Talos examines the full lifecycle of a Python package, from hosting on repositories such as PyPI or custom web servers, through source and wheel distribution formats, to the final installation into virtual or system-wide Python environments. Each technique is assessed for persistence, supported build methods, and distribution compatibility.

They conclude with practical defensive measures, including dependency auditing tools, version pinning strategies, installation time controls, and general best practices for minimizing supply-chain risk – Cisco Talos Intelligence.

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, Scott streamed work on Hardware in the Loop software.

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 Bitmaptools Rotozoom Rotation – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

The CircuitPython Show

The CircuitPython Show

The CircuitPython Show will return Monday, July 27th – BlueSky.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for 7/13 (notes) on YouTube.

Project of the Week: FlightScnr Pi

FlightScnr Pi

FlightScnr Pi by Yash Mulgaonkar shows live aircraft around your preset location on a circular radar, with rich flight details when you tap a plane. It combines FlightRadar24 (FR24), live positions from adsb.fi (free cloud feed — no local ADS-B dongle), Tomorrow.io weather, and optional AirLabs schedule data. Settings, API keys, tracking, and updates are managed through a local web portal. No SSH required for day-to-day use. It uses a touch 4” display connected to a Raspberry Pi programmed in Python – GitHub.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? Five things to build with the $4 chip that’s outselling the Raspberry Pi.

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

Adafruit Playground Notes

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

Retro-Futuristic Hybrid Clock

A retro-futuristic hybrid clock using a Raspberry Pi Pico and CircuitPython – Instructables, GitHub, and YouTube.

LightNMEA

LightNMEA is an extremely fast, zero-dependency, single-pass NMEA 0183 parser with minimal memory allocation, written specifically for MicroPython and Python (CPython). Designed for 32-bit microcontrollers (ESP32, STM32, RP2040) working with high-rate GNSS receivers (10-50 Hz multi-constellation GPS / GLONASS / BeiDou / Galileo modules) – GitHub. Via Adafruit Blog.

Special Section on AI and Programming

What a Raspberry Pi Can (and Can’t) Do With AI

What a Raspberry Pi can (and can’t) do with AI – RaspberryTips.

AI didn’t make programming easier

AI didn’t make programming easier. It just made it differently difficult. The future of software development will belong to those who can think clearly at scale, maintain durable mental models amid rapid change, and integrate machine-generated output into human-directed intent – Communications of the ACM.

Chasing new skills, going back to basics and pushing for collective action: how software engineers are adapting to AI

Chasing new skills, going back to basics and pushing for collective action: how software engineers are adapting to AI – The Guardian.

That's a 50× drop in token price

Running GPT-4-level AI used to cost $20 per million tokens. It now costs $0.40. That’s a 50× drop in 36 months — faster than the rate cloud compute fell, faster than the rate bandwidth costs collapsed in the dotcom era. So what’s the big takeaway? Commodity inputs do not hold margins. Open source AI can no longer be dismissed as a side quest — it now rivals the biggest players in the field. But cheap tokens aren’t what moved the story. Capable ones did. When every model clears the bar for the job in front of it, value moves up, and the contest is now one layer up, at the agentic harness above the model – X and stateofopensource.ai.

Back to Projects and News

3D printed robot arm

3D printed robot arm control with servo using an RP2040 and MicroPython – YouTube. Via X.

Weather home screen

Building a weather home screen on a reflective LCD display using MicroPython on an ESP32-S3 – Developer Service.

Jeff

Jeff Epler contributes to CircuitPython with two pull requests – Mastodon.

The first PR makes memorymap actually usable for bulk reading GPIOs without creating GC garbage, and the second one fixes natmod support, allowing C code to be loaded into RAM at runtime and called from Python (with a lot of constraints inherited from MicroPython).

picorescue

An update to picorescue, a tool for recovering FAT/LittleFS/ROMFS filesystems from a Pico MicroPython build – GitHub. Via BlueSky.

LoRa radio communication devices for Raspberry Pi

LoRa radio communication devices for Raspberry Pi – Raspberry Pi News.

Raspberry Pi 5 IOMMU Driver for Linux

Raspberry Pi 5 IOMMU driver being worked on for the mainline Linux kernel – Raspberry Pi News.

Wireless macropad

Wire six mechanical switches to a Raspberry Pi Pico 2W, flash CircuitPython BLE HID, and you have a wireless macropad that fires copy, paste, and mute on Mac, Windows, or Linux – ShillehTek. Via X.

Smart Desktop Weather Station

Building a smart desktop weather station with Raspberry Pi Pico 2 W and MicroPython – YouTube and GitHub.

WiFi Name badge

A Raspberry Pi Pico 2W + 2.13 inch e-paper HAT WiFi name badge running MicroPython that stays readable with near-zero idle power – ShillehTek.

julia

Python is so slow. Can Julia solve the two-language problem? By some benchmarks, Julia code can run 10x to 1,000x faster than Python, but there’s a reason it’s not a very popular programming language – Wired.

Check your internet speed using Python

Check your internet speed using Python – X.

Registry pattern

Stop using if-else chains: use the registry pattern in Python instead – KDnuggets.

New

XIAO nRF54LM20A Sense

The brand new Seeed Studio XIAO nRF54LM20A Sense — the most connectivity-packed XIAO board yet, with BLE 6.0, Matter, Thread, Zigbee, NFC, Amazon Sidewalk, and a massive 28 GPIO pins in a tiny 21×17.8mm footprint – YouTube. Via X.

pinch

The pinch from moddo is advertised as “The World’s Smallest 32-Bit Arduino-Compatible Board.” Coming from something like an ESP32, the biggest adjustment will probably be working around the relatively limited specs of the SAMD11. The ARM Cortex-M0+ under the hood tops out at 48 MHz, and there’s only 4 KB SRAM and 16 KB flash (of which the bootloader eats up 4 KB) – Hackaday and Pinch.

Olimex PICO-EVB automation board

Olimex PICO-EVB board for the Raspberry Pi Pico and compatible boards is designed for high-voltage automation with four 3.3-30V DC or 110-220V AC inputs and four 15V DC/220V AC relays. It features two 20-pin headers enabling users to connect their preferred Pi Pico-compatible board, a USB-C port for power and programming, a UEXT connector for I2C, UART, and SPI expansion, and status LEDs for the high-voltage signals – 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 no new boards.

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 Adafruit Learning System Guides

New Learn Guides

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

Pick the Perfect Plant: Battery-Powered Sun Tracking from Tyler Cooper

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

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’ve been continuing to work on bugs and features for CircuitPython 10.3.0. I added an interesting new feature that allows you to disable the CIRCUITPY USB drive after code.py has started running. (It’s reported as “not ready” to the host computer, which then unmounts it.) Your code can then write to files on the CIRCUITPY drive safely. An editor can then also use the REPL to read and write files, as is done already for boards that don’t have native USB. You can re-enable the drive later, in the same session.

Tim

The AudioFileWriter module that I mentioned last week is completed and merged now. The next thing I worked on is a GranularPitchShift module that uses a granular synthesis technique for changing the pitch of input audio. It produces a different effect, and has a few additional configuration knobs compared to the existing PitchShift. As an initial project to use GranularPitchShift on, I am making a basic sampler keyboard project that is inspired by the Casio SK-1. There is a microphone to record a sample with, the keys on the keyboard each play the sample shifted up or down in pitch compared to the original. It will also support automated playback of a midi file.

Scott

This week I’ve been switching between the hardware-in-the-loop software and the software for the GameBoy cart. The HIL software is getting there for the setup webpage but I don’t have testing working with it yet. My main focus is the GameBoy. I got a debug PIO running to monitor how well we’re responding to the GameBoy. That enabled me to get the whole startup sequence correct. Now I’m reworking the PIO structure to fetch from a modifiable 64k of “cart” autonomously instead of the interrupt and queue approach taken on the SAMD51.

Liz

I sent rev B of the Ikea Alpstuga drop-in board to JLCPCB this week. I did some rework on rev A to confirm some issues to fix for rev B. I had the buttons routed incorrectly and all of the LEDs were placed backwards on the board, but the schematic and fab print were correct. I’ve also started working with folks to prep for CircuitPython Day, which is Friday, August 21st this year.

Upcoming Events

MicroPython Meetup

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

PyOhio

PyOhio 2026 is coming to the Cleveland State University Student Center in Cleveland, OH Sat & Sun July 25–26, 2026. Free to attend.

Other Events This Year

  • 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.
  • PyConZA 2026, South Africa’s Python conference, will be 14–18 Oct at Belmont Square, Cape Town, South Africa.
  • Espressif DevCon 2026 will be November 3-4 in Milan, Italy and online.

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

20260716 is the latest Adafruit CircuitPython library bundle.

20260709 is the latest CircuitPython Community library bundle.

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

3.14.6 is the latest Python release. The latest pre-release version is 3.15.0b3.

4,532 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,898 Thanks

38,898 THANKS

Adafruit Discord

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