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! Apologies for the lack of a newsletter last week. Your editor ate something that had her quite sick for a weeek. That said, you now have a fabulous issue, packed with all the goodness. SO much news on MicroPython, CircuitPython, and Python on single-board computers (and related content) that I cannot encompase it all in a summary. Happy June. - 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:

CircuitPython 10.0.0-alpha.7 Released

CircuitPython 10.0.0-alpha.7

CircuitPython 10.0.0-alpha.7 is now out. It’s an alpha release for 10.0.0. Further features, changes, and bug fixes will be added before the final release of 10.0.0. - Adafruit Blog and Release Notes - GitHub.

Highlights

  • Update frozen modules
  • Merge MicroPython v1.24.1
  • Espressif:
    • Expand firmware partition on non-USB boards
    • Fix pulseio.PulseIn length limitation
    • Initial impl of MicroROS
  • Nordic: reinit BLE properly after deep sleep
  • Fixes from CPy 9.2.8 and later

MicroPython Ported to Motorola 68000-based Macs

MicroPython Ported to Motorola 68000-based Macs

Jeff Epler has ported MicroPython 1.26.0 preview to older Macintosh computers running Motoroola 68000 microprocessors (pre-1994) - Mastodon and GitHub.

Getting Started With Microcontrollers

Microcontrollers

Jeff Geerling goes through the basics of microcontrollers, the small chips that provide amazing compute capability - YouTube and GitHub.

CircuitPython School

CircuitPython School

Have you been looking for an easy way to learn CircuitPython? Check out the videos by Professor John Gallaugher of Boston College. His CircuitPython School videos are especially helpful - YouTube Playlist.

Out Now: Simple Electronics with GPIO Zero, 2nd Edition

Simple Electronics with GPIO Zero

Simple Electronics with GPIO Zero, by Phil King, takes the reader from turning an LED on and off to controlling simple electronic components, processing information from buttons, sensors and the internet, and controlling it all using Python on Raspberry Pi - Raspberry Pi News.

Arduino Stella Ultra-WideBand Board

Arduino Stella

Arduino has now launched its Stella ultra-wideband (UWB) board and Portenta UWB Shield add-on, after unveiling them both at Embedded World earlier this year.

The Arduino Stella, powered by the Truesense DCU040 and an on-board Nordic Semiconductor nRF52840 microcontroller, has been launched at $75.90; the Portenta UWB Shield, which allows an Arduino Portenta C33 to link to the Stella and other UWB devices as either another client or a base station, is priced at $60 excluding the Portenta C33 - hackster.io.

Python Remains #1 in the Latest TIOBE Poll

Python Remains #1 in the Latest TIOBE Poll

Python remains the number one language at tin the TIOBE index of of computer languages. Python currently has a 25.87 percent rating, up 10.48 percent on the year - DevClass.

Protecting Your MicroPython Source Code

Protecting Your MicroPython Source Code

Luc Volders provides a guide to changee the text source code of a program into bytecode (still runnable by MicroPython) but obscured from prying eyes - lucstechblog.

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 Jammin, Curses-like Apps, ANSI color codes, and IRC.

The previous week, Tim was working on Fruit Jam OS.

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 Displayio .scale - Adafruit Blog and YouTube.

CircuitPython Parsec last week was on Displayio move .x & .y - Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

CircuitPython Weekly Meetings

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

Project of the Week: IINTS, the Open-Source Insulin Pump for Raspberry Pi Pico

Homemade model insulin pump

Rune Bobbaers designed and built a fully open-source insulin pump from scratch having long “been fascinated by the medical technology that helps keep me alive, especially insulin pumps”. It uses MicroPython on a Raspberry Pi Pico, controling insulin delivery using stepper motors and a user-friendly interface - Raspberry Pi News and GitHub.

Popular Last Week

What was the most popular, most clicked link, in the last newsletter? How to Write Code the Pythonic Way (With 6 Examples).

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.

Hypotrochoid Spiral Maker

Hypotrochoid Spiral Maker - Adafruit Playground.

Fruit Jam Lines Screensaver

Fruit Jam Lines Screensaver - Adafruit Playground.

Fruit Jam Color Gradient Generator

Fruit Jam Color Gradient Generator - Adafruit Playground.

Using the Terminal for DVI in CircuitPython

Using the Terminal for DVI in CircuitPython - Adafruit Playground.

News From Around the Web

A Brief History of Zephyr RTOS

A brief history of the Zephyr real-time operating system (RTOS) - Shawn Hymel.

Airplane flipdot

Simon Prickett posts about his flip dot bus display, driven by a Raspberry Pi 3 and a Pi Pico W to display aircraft data using Python and JavaScript - X and GitHub.

Caamera to HDMI

Liz [BlitzCityDIY] has used CircuitPython with a OV5640 camera breakout wired up to an Adafruit Metro RP2350 with PSRAM. The video feed is sent via HSTX DVI - Mastodon.

ZPUI

ZPUI (Zippy UI) is a small-screen Linux control interface and UI framework. It gives you access to your system at your fingertips, untethered from any SSH or keyboard/display/mouse requirements. With ZPUI, you can see your IP address, connect to wireless networks (even do password input with arrow keys in a pinch!), run scripts, manage system services, reboot and power down your system, view and unmount storage partitions, control media volume, and do much more.

ZPUI is perfect for single-board computers, servers, embedded Linux devices, your broken-screen laptop on a shelf, wearable and pocket-able devices with Linux under the hood, and much more. OpenWRT support incoming, too. It is written in Python and it supports third-party apps - Hackaday, GitHub and ReadTheDocs.

Has a nuke gone off?

The Bhangmeter V2 is a Raspberry Pi Pico 2W + MicroPython powered device which detects the gamma ray burst from a nuclear explosion - hasanukegoneoff.com and GitHub.

Pico and MicroPython–powered drum machine

A Raspberry Pi Pico and MicroPython–powered drum machine - Raspberry Pi News.

Python and TOML

Why did CircuitPython change their secrets.py to secrets.toml? Learn about how Python and TOML are getting along - Real Python.

WHY2025 Badge

The hacker camp WHY2025 Badge uses a ESP32-P4, packaged as an M.2-2242 card, ESP32-C6 for WiFi 6, BLE 5.3, Thread & Matter, RA-01H LoRa module (SX1276) and a 4″ 720 × 720 IPS display. It can run MicroPython and is 100% open source - LinkedIn.

RaspyJack

RaspyJack is a low-cost alternative to a Hak5 Shark Jack, built using a Raspberry Pi Zero 2W and Python - Reddit, hackster.io and GitHub.

Jumping Jerboa

Jumping Jerboa: transfer mouse/keyboard to another computer, a Python and CircuitPython project, allowing transfer of a mouse and keyboard to another computer over a USB connection - hackster.io.

Lights and sound to LEGO builds

Adding lights and sound to LEGO builds using the Tiny FX board from Pimoroni and MicroPython - Kev’s Robots.

3D mini house

Yakroo108 has made a 3D mini house using PCBs! It is built on a Raspberry Pi Pico & CircuitPython. It glows with Cyberpunk flair neon lights, metallic vibes & a dystopian twist - X.

Advanced Git Tips for Python Developers

Advanced Git tips for Python developers - Real Python.

one-time password token

Building a one-time password token with the Raspberry Pi Pico W and MicroPython - hackster.io.

WiFi hotspot

Raspberry Pi Pico W as a WiFi hotspot with a web interface displays devices on a network - YouTube.

Pyrefly and Ty

Pyrefly and Ty: two new Rust-powered Python type-checking tools compared - InfoWorld.

Immutability in Python

Immutability in Python - Real Python.

New

ESP32-C61

Espressif Systems ESP32-C61 low-cost WiFi 6 and BLE SoC has now entered mass production - CNX Software.

lilygo T-Embed SI4732

The LILYGO T-Embed SI4732 is an ESP32-S3 development board with an AM/FM radio, a TFT display, a rotary encoder, a built-in microphone, and a microSD card slot powered through a USB-C port or LiPo battery - 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 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 Learn Guides

New Learn Guides

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

Not A Typewriter from Ruiz Brothers and Liz Clark

Startup Screens from Tim C

Tile-Matching Game on the Adafruit Metro RP2350 from M. LeBlanc-Williams

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

Updated Libraries

Here are the 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 released CircuitPython 10.0.0-alpha.7 last week. It includes a number of fixes, and also includes the merge from MicroPython v1.24.1. I’ve now also finished the merge of MicroPython v1.25.

Bob and I have gone through the remaining 10.0.0 issues and assigned more of them to one of us.

I am now switching more ESP32-S3 boards over to the new larger firmware partition. I’m reworking the “Factory Reset” guide pages to update the instructions. The pages will list a choice of TinyUF2 bootloaders to use.

Tim

This week I got the latest revision of the Fruit Jam and I have been testing WiFi capabilities and building some more apps for Fruit Jam OS. I started a basic IRC client program. I also worked on a ColoredTerminal class that builts upon terminalio.Terminal and supports ANSI color escape codes for changing the color of sequences of text when printed in the terminal.

Liz

This past week I worked on the Not A Typewriter Learn Guide. This project lets you turn your boring modern computer keyboard into an energetic, clacking emulated typewriter. There are two versions of the code. The first uses only CircuitPython on a Feather RP2040 USB Host. You plug your USB keyboard into the Feather and the Feather reads the incoming USB HID keycodes, triggers solenoids and send the USB HID keycodes out from the Feather. The second uses a CPython script on your computer that sends all incoming keycodes to the Feather attached via USB. The Feather runs CircuitPython code that receives the keycodes from your computer and triggers solenoids.

Upcoming Events

MicroPython Meetup

The next MicroPython Meetup in Melbourne will be on July 23rd – 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 CircuitPython 10.0.0-alpha.7. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20250625 is the latest Adafruit CircuitPython library bundle.

20250620 is the latest CircuitPython Community library bundle.

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

3.13.5 is the latest Python release. The latest pre-release version is 3.14.0b3.

4,292 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,039 Thanks

39,039 THANKS

Adafruit Discord

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