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! The summer heat has broken in the northern US and the kids will be back in school soon. Time for students, parents, and grandparents to build projects easily with Python. This week kicks off with two articles on connecting to your devices for development. That followed by the introduction of the new Fruit Jam OS for the Adafruit Fruit Jam tiny computer. You can just run CircuitPython or MicroPythhon on it but you can also serve up multiple content. The results of the Python Software Foundation/JetBrains survey is out with interesting results. All this plus a lot 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, please subscribe here. Here’s the news this week:

Controlling Microcontrollers Over USB With the Web Serial API

Controlling microcontrollers over USB with the Web Serial API

Microcontroller boards such as Arduino, Raspberry Pi Pico, and ESP32 can be connected to various LEDs, buttons, and sensors. Many of these boards have a built-in WiFi chip, which allows for remote control. However, sometimes WiFi is not possible, too complicated, or simply unnecessary. Koen Vervloesem does this with CircuitPython, which supports hundreds of microcontroller boards. Make sure to choose a board with USB CDC support. I have successfully tested this project with the Raspberry Pi Pico (W), Arduino Nano RP2040 Connect, Seeed Studio XIAO SAMD21, and Seeed Studio XIAO nRF52840 - MakerSpace.

CircuitPython Web Workflow OTG

Web Workflow OTG

You can use your phone as a hotspot, auto-connect to it from the CircuitPython device, and use Web Workflow to access files and the serial console - GitHub. Via Mastodon.

Fruit Jam OS Is Out

Fruit Jam OS Is Out

Fruit Jam OS is now available after heavy development by the community. It provides a operating environment for Fruit Jam use and links to a number of programs, which currently include the following (athough the number of apps is expected to grow as more developers make cool stuff):

  • IRC Client
  • Larsio Paint
  • PyBasic
  • PyDOS
  • Chip’s Challenge
  • Minesweeper
  • The Matrix Rain
  • Memory Game
  • Match3
  • PyPaint
  • Flappy Nyan Cat
  • Snake Game
  • Breakout

If you’d like to participate, check out the Adafruit GitHub, Discord, and YouTube.

KiCanvas: View KiCad Files in a Browser

KiCanvas

KiCanvas by Thea Flowers is an open-source, interactive, browser-based viewer for KiCAD schematics and boards. Not only can you view files from your computer or GitHub links, but it is also designed to be embedded in a web page so you can use it to directly reference your KiCAD files in online documentation. The embed-ability greatly simplifies documentation management since it saves the hassle of exporting images after every revision. - kicanvas.org and GitHub. Via LinkedIn.

The New 5″ Raspberry Pi Touch Display 2

A new 5″ variant of Raspberry Pi Touch Display 2

Raspberry Pi announced a new 5 inch Display 2 variant, 720 (RGB) × 1280 pixels, available to buy now from Raspberry Pi Approved Resellers at the same $40 price point as 7 inch displays - Raspberry Pi News.

The JetBrains State of Python 2025 Survey Results

title

The results of the eighth annual Python Developers Survey, conducted as a collaborative effort between the Python Software Foundation and JetBrains PyCharm is available. 30,000 Python developers and enthusiasts from almost 200 countries and regions took part to illuminate the current state of the language and its ecosystem. It looks like embedded developemnt is about the same as last year - JetBrains and Python Software Foundation. Via X.

Python survey shows growth even as Foundation funding falters - The Register.

Michael Kennedy’s The State of Python 2025 blog post reflects his personal analysis and opinions on the data - JetBrains blog.

Free eBook: MIT’s Structure and Interpretation of Computer Programs

Structure and Interpretation of Computer Programs

One of the most influential programming textbooks was first published as a paperback 40 years ago today: MIT’s “Structure and Interpretation of Computer Programs.” Now you can read it for free - mit.edu (PDF). 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 digging into a display text bug.

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 Nintendo Controller Graphics Input - Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

Project of the Week: Centauri: Multi-MCU Quadcopter Flight Controller

Centauri: Multi-MCU Quadcopter Flight Controller

Tim Hanewich has been designing a follow-on to a previous quadcopter flight controller named Scout. The new version, Centauri, uses multiple microcontrollers and the code is written in 100% Python (MicroPython on device). He’s documenting development on X - GitHub.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? GitHub folds into Microsoft following CEO resignation — once independent programming site now part of ‘CoreAI’ team.

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.

CircuitPython Core Dev & Debug Tricks

CircuitPython Core Dev & Debug Tricks - Adafruit Playground.

News From Around the Web

Debugging Rare RGB LED Glitches in MicroPython on BBC micro:bit

A detailed account (part 1/2) of troubleshooting some mysterious visual glitches on the RGB ZIP LEDs (like NeoPixels) on a Kitronik Zip Halo HD controlled by a MicroPython program running on a BBC micro:bit V2 including getting the best use out of a low-end logic analyzer and the micro:bit itself to aid the process - Medium.com.

Everything You Always Wanted to Know About Debugging the Nordic nRF52 PWM Peripheral and Cortex ARM Interrupts* (*But were afraid to ask)

Another detailed account (part 2/2) of fixing the bugs in the micro:bit V2 port of MicroPython relating to WS2812B protocol generation using the nRF52 (internal) PWM peripheral including some background on Cortex ARM interrupts and the use of Visual Studio Code for remote debugging - Medium.com.

[![Getting Started With Ultra-Wideband & Measuring Distances Arduino & Pico Guide](../assets/20250825/20250825uwb.jpg)](url)

Getting started with ultra-wideband (UWB) and measuring distances with Raspberry Pi Pico + MicroPython & Arduino guide - Core Electronics and YouTube. Via Hackaday.

Rust: Python’s New Performance Engine

Rust: Python’s New Performance Engine - The New Stack.

Dweet.cc with MicroPython

How to send and receive data from Dweet.cc with MicroPython - lucstechblog.

Debugging Python in Docker: A Tutorial for Beginners

Debugging Python in Docker: a tutorial for beginners - KDNuggets.

"frogger"

A version of “frogger” (with a bit of imagination) on Picopad in CircuitPython - X (Czech).

Podcast Episode

New Podcast Episode! “After weeks of failing at SD card logging on my STM32, I made a bold pivot: switching to CircuitPython on the RP2040 for my DIY drone telemetry project” - herndlbauer.com. Via X.

MicroPython Train Control

Update on model train control with MicroPython - X.

Eurorack

Mounting a Raspberry Pi into a Eurorack - Mastodon.

Interactive toy

An interactive toy with MicroPython - X.

Neopixels, JST connectors, and understanding input & output (CircuitPython School)

Neopixels, JST connectors, and understanding input & output (CircuitPython School) - YouTube.

7 Surprisingly Useful Python Scripts You’ll Use Every Week

7 surprisingly useful Python scripts you’ll use every week - KDnuggets.

KittenBot

KittenBot prompted an AI agent to code a Tetris game capable of running on KittenBot FutureBoard. The resulting MicroPython code, written by the Agent, can directly drive the hardware - X.

Google Calendar Printed on Receipt Paper

Google Calendar printed on receipt paper with Raspberry Pi and Python - Instructables.

16-segment

Making multicolor 16-segment character displays - Mastodon.

Agentic AI Hands-On in Python: A Video Tutorial

Agentic AI Hands-On in Python: a video tutorial recently recorded from an ODSC talk and made broadly available by its creators - KDNuggets and YouTube.

New

DFRobot

DFRobot FireBeetle 2 ESP32-P4 AI Vision Board - 360MHz ESP32-P4 RISC-V, MIPI CSI/DSI, WiFi 6, built-in mic - X.

Raspberry Pi CM5 carrier board

The Waveshare CM5-DUAL-ETH-BASE is a carrier board for the Raspberry Pi CM5 featuring dual Ethernet (1GbE + 2.5GbE), two 4K HDMI outputs, two MIPI CSI/DSI interfaces, and more. It supports NVMe SSDs or AI accelerators via an M.2 slot, offers USB 3.2/2.0 ports, a 40-pin GPIO header, and a wide 7V–36V DC input - CNX Software.

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 58 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

New Learn Guides

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

Fruit Jam OS by 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 536!

What’s the CircuitPython team up to this week?

What is the team up to this week? Let’s check in:

Dan

This past week I spent time investigating the cause of a WiFi hang and USB disconnect on Espressif when the lock on an SPI or I2C object was held for a long time. The two things were seemingly unrelated, but it turns out that these locks, implemented as FreeRTOS mutexes, can cause task priority issues due to how FreeRTOS handles potential task priority inversion problems. The solution was not to hold the locks for too long.

I continue to try to fix bugs so we can get the issue count to zero for the 10.0.0 final release.

Tim

This week I wrote a few of the guide pages for the NeoPot poroduct guide. I’ve also been continuing to review many PRs submitted by the community with improvements to Fruit Jam OS and the apps within it. I worked on simplifying the volume API in the Fruit Jam library as well since the DAC supports so many different ways to control volume. We put a customizable limit mechanism in it as well to try to help prevent small speakers from getting blown out.

Scott

Scott

text.

Upcoming Events

MicroPython Meetup

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

PyCon AU

PyCon AU will be held from Friday the 12th to Tuesday the 16th of September at Pullman Melbourne On The Park in Narrm/Melbourne, Australia - pycon.org.au.

KiCad Conferences

KiCad conferences (KiCon) to be held this year include 19 - 20 Sept 2024 in Bochum, Germany, and 14 - 15 November, 2025 in Shenzhen, China - 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.

PyLadiesCon

PyLadiesCon returns December 5–7, 2025. 100% online conference designed for our global community. Talks, workshops, panels, and community fun – PyLadies.

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

20250810 is the latest Adafruit CircuitPython library bundle.

20250805 is the latest CircuitPython Community library bundle.

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

3.13.7 is the latest Python release. The latest pre-release version is 3.14.0rc2.

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

39,038 Thanks

39,038 THANKS

Adafruit Discord

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