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! Coming off the shock that someone has invented a Chicago-style hot dog pizza (in a city with much better pizza), I’ve yet again gathered a collection of Python information to tempt one’s senses. The first beta of CircuitPython 10 is locking-in the features for this major update. I was looking to do some DVI video with an RP2350, but the information available was fragmented. It’s now centralized in my new Adafruit Learning System guide. When should you use a Raspberry Pi vs. a microcontroller? Learn that and much more in this Summer reading edition – 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-beta.0 Released

CircuitPython 10.0.0-beta.0 Released

CircuitPython 10.0.0-beta.0 is the first beta release for CircuitPython 10. It has known bugs that will be fixed before the final release. This release also marks the introduction of the new artwork for CircuitPython 10 – Adafruit Blog and release notes – GitHub.

Highlights of this Release

  • Increase the firmware partition size for ESP32-S2 boards with 4MB flash, allowing more features to be included. This change was made for 4MB flash ESP32-S3 boards in previous releases. Starting with this release, you must now update the TinyUF2 bootloader on all 4MB flash ESP32-S2 and ESP32-S3 boards.
  • Fix Espressif pulseio.PulseIn regression.

CircuitPython Documentation

CircuitPython Documentation

Have you ever wanted one document with all the latest CircuitPython information? While the latest documentation is on multiple web pages via docs.circuitpython.org, you can download a single PDF with all the details including a table of contents and an index, searchable via your favorite PDF reader. Everyone has their own way of getting information, this is yet another way that might appeal to folks – CircuitPython.Org (PDF).

Using DVI Video in CircuitPython

Using DVI Video in CircuitPython

With the release of the Raspberry Pi RP2350, the ability to use the microcontroller to display DVI video on HDMI monitors has grown. Your editor has written a guide to this video capability and how to use it in scenarios from emulated games to full on graphics. If you are looking to use the HSTX bus on the RP2350 to output video, check out this guide on how all the parts work – Adafruit Learning System.

Manipulating MicroPython ESP32 Firmware Images and Flash

Manipulate MicroPython ESP32 firmware images and flash

mp-image-tool-esp32 manipulates MicroPython esp32 firmware files and flash storage on serial-attached ESP32 devices. It works with ESP32, ESP32-S2 and ESP32-S3 firmware images and devices. mp-image-tool-esp32 can operate on firmware files (including those downloaded from micropython.org) and flash storage in ESP32 devices attached via serial port – GitHub.

5 Reasons To Use Microcontrollers Instead of a Raspberry Pi

Use Microcontrollers Instead of a Raspberry Pi

Jeff Butts writes: “The Raspberry Pi is a fantastic tool, especially for general-purpose computing and media projects. But when I’m working on simple or embedded tasks, I often find myself reaching for a microcontroller instead. They’re not just cheaper; they’re more appropriate for many of the things I like to build. Whether I’m tinkering with sensors, automating something small, or creating wearables, microcontrollers (can) get the job done without the extra baggage” – XDA.

pigg: A Raspberry Pi and Pi Pico GPIO Remote control from GUI and CLI

pigg

Have you ever visually wanted to see or manipulate the GPIO on your Raspberry Pi devices remotely? pigg is set of apps for Raspberry Pi GPIO output control and input visualization, with GUI and CLI Support for macOS, Linux (including Raspberry Pi) and Windows. It has a GPIO CLI agent for Raspberry Pi and embedded applications for Pi Pico (USB) and Pi Pico W (USB, TCP) – GitHub.

I’m Switching to Python and Actually Liking It

I'm Switching to Python and Actually Liking It

César started to code more in Python 6 months ago. Why? Because of AI. “It’s clear (to me) that big money opportunities are all over AI these days. And guess what’s the de facto programming language for AI? Yep, that sneaky one” – cesarsotovalero.net. Via news.ycombinator.com.

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 refactoring an EDID example into a library.

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 random(ish) numbers from floating pins – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for July 14, 2025 (notes) on YouTube.

Project of the Week: The Smart Magnifying Glass

the Smart Magnifying Glass

Leviathan Engineering builds the ultimate Sherlock Holmes AI detective device using a Raspberry Pi and Raspberry Pi 4 camera module. It uses Python, OpenCV, and advanced image recognition algorithms – Hackaday, YouTube and GitHub.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? AI Cheat Sheet.

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 USB Host MIDI Tester

Fruit Jam USB Host MIDI Tester – Adafruit Playground.

News From Around the Web

Mjölnir 2.0: IoT Smart Thor Hammer

Mjölnir 2.0: IoT Smart Thor Hammer made with a Raspberry Pi Pico W, CircuitPython and 3D printing- Instructables, YouTube, and GitHub.

Self opening can

A box that cannot be closed, made with a Raspberry Pi Pico, servo, sensor and MicroPython – X (Japanese).

CYD

A tutorial on using MicroPython with the ESP32 Cheap Yellow Display (CYD) board – Random Nerd Tutorials.

Make games with Python, 2nd edition

Make games with Python, 2nd edition, is out now – Raspberry Pi News.

Build Your Own DIY Stream Deck with Raspberry Pi Pico W and CircuitPython

Build your own DIY Stream Deck with Raspberry Pi Pico W and CircuitPython – CoderLegion.

NeoSword Badge

The Defcon 33 Indy badge: The NeoSword, programmable with MicroPython – X and Untitled Electronics.

Thumby Color

A guide to programming the Thumby Color with MicroPython – Thumby.us.

Soil sensor

A Xiao ESP32C6 device that, when inserted into a plant pot, sends data on moisture levels, temperature, and light intensity via WiFi, programmed with CircuitPython – X (Japanese).

How to Overlay a Heatmap on a Real Map with Python

How to overlay a heatmap on a real map with Python – Towards Data Science.

Installing & Using PyCharm with CircuitPython (Pico School)

Installing & Using PyCharm with CircuitPython (Pico School) – YouTube and Google Docs.

CircuitPython Libraries, Example Code, & Using CircUp (Pico School)

CircuitPython Libraries, Example Code, & Using CircUp (Pico School) – YouTube.

5 projects you can complete in a weekend with the $8 Raspberry Pi Pico 2 W

5 projects you can complete in a weekend with the $8 Raspberry Pi Pico 2 W – XDA.

Getting the right time

Getting the right time: another method, demonstrated with MicroPython – lucstechblog.

CPX 3D Printed Countdown Timer

A Circuit Playground Express 3D printed countdown timer – Instructables.

7 Raspberry Pi Projects That You Can Do In 1 Hour

7 Raspberry Pi projects you can do in an hour – How-To Geek.

Making a Simple HTTP Server with Asyncio Protocols

Making a simple HTTP server with Asyncio Protocols – Jacob Padilla.

KiCad

Improving KiCad productivity with these shortcuts – Hackaday.

New

Pimoroni Pico LiPo 2 XL W

The Pimoroni Pico LiPo 2 XL W is an elongated Pirate-brand RP2350 microcontroller with 16MB of flash, 8MB of PSRAM, USB-C, Qw/ST, 2.4GHz wireless / Bluetooth and LiPo charging – Pimoroni.

NanoPi R76S

The NanoPi R76S is a new single-board computer that’s available in various configurations starting at $49. The Raspberry Pi competitor is by the Rockchip RK3576 SoC with four Cortex-A72 and four Cortex-A53 cores, a Mali-G52 MC3 GPU and an NPU with 6 TOPS – 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.

No new boards were added this week.

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.

Knobby Sequencer from John Park

Using DVI Video in CircuitPython from Anne Barela

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

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 released CircuitPython 10.0.0-beta.0 last week. Now all 4MB Espressif boards have larger firmware partitions, allowing more features to be turned on.

I’m now working on the remaining issues for the 10.0.0 release. I’ve fixed some bugs, and also have switched the Espressif builds to use the Mozilla root certificate list, which means we have much more complete coverage of root certificates for websites you might want to connect to.

Tim

This week I finished the guide for the Triple RGB Matrix Bonnet. I’ve also worked a little on finding a solution to a docs build issue that resulted from a proposed change that adds the micropython module to CircuitPython stubs. I’m working on the HSTX DVI CowBell guide next.

Scott

I’m started working part-time after taking eight weeks fully off to care for my youngest. I’m still watching them during the day so I’m working when they’re napping. So, folks can mention me or assign me as a reviewer and I’ll get back to me when I can. No deep diving for me yet though. I’m jumping into fixing issues for 10.0 and adding support for newer e-paper displays.

Liz

This past week I worked on a Python script for a Raspberry Pi thermal camera. The project uses a Raspberry Pi camera along with an MLX90640 thermal camera module. The script shows a preview stream from the Pi camera and then overlays the thermal camera image on top. You can use keyboard commands to adjust the thermal range and the overlay opacity.

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.

HOPE_16

HOPE_16 is a welcoming place for hackers of all types: makers, artists, educators, experimenters, tinkerers, and more! If you’re interested in playing with technology, coming up with new ideas, learning from others, and sharing your knowledge, then this is the place for you. August 15-17, 2025 at St. John’s University Queens, New York City US – HOPE.

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.

PyLadiesCon 2025

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

20250718 is the latest Adafruit CircuitPython library bundle.

20250705 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.0b4.

4,304 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,057 Thanks

39,057 THANKS

Adafruit Discord

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