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! PyCon US 2023 is currently underway and I hope folks are having fun connecting with like minded folk. A new beta of CircuitPython is out with some cool features. And folks are working on MicroPython running alongside other apps on the Playdate handheld. Never a dull moment in the Python on Hardware beat. And we only need two more subscribers for 11,000 – I’m crossing my fingers for that. – Anne Barela, Ed.

We’re on Discord, Twitter, and for past newsletters – view them all here. If you’re reading this on the web, subscribe here. Here’s the news this week:

CircuitPython 9.1.0 Beta 2

CircuitPython 9.1.0 Beta 2

CircuitPython 9.1.0-beta.2, a beta for CircuitPython 9.1.0, is a new unstable release. This release has known bugs that will be addressed before 9.1.0 final. – Adafruit Blog and release notes.

The Official Raspberry Pi 5 M.2 HAT+ Is Now Out

Raspberry Pi 5 M.2 HAT+

The preannounced Raspberry Pi 5 M.2 HAT+ is now rolling out to official retailers at $12. It enables connection of M.2 M-key peripherals, such as NVMe drives and AI accelerators, to a Raspberry Pi 5. The HAT provides fast (up to 500 MB/s) data transfer to and from these peripherals – Raspberry Pi News. A review – bret.dk.

“A nice side-effect of launching of the M.2 HAT+ a bit later has been a profusion of third-party products. We want to make it easier to build high-quality PCIe accessories for Raspberry Pi 5, and so we’re publishing our schematics as a reference design. You can also browse our documentation for the M.2 HAT+.

Late Breaking: MicroPython Ported to the Playdate

MicroPython Ported to the Playdate

Christian Walther (GitHub, X) has ported MicroPython to the Panic developed Playdate handheld gaming device – X and GitHub Code.

The work is part of a port of PewPew to Playdate – Playdate dev forum.

“What I want is to embed MicroPython into a fully fledged Playdate application that can live alongside other Playdate games. Unlike Lua, MicroPython is not specifically made for that purpose, but it does have some provisions for it. While it doesn’t easily compile into a library, among its “ports” to different microcontrollers there is one named ‘embed’ that is not for a specific microcontroller but spits out a bunch of .c and .h files as its build product that can then be added into the build system of any C project on any platform.”

Linux Kernel 6.9 Officially Released, This Is What’s New

Linux Kernel 6.9

This release introduces Rust support on AArch64 (ARM64) architectures and support for the Intel FRED (Flexible Return and Event Delivery) mechanism – 9to5Linux and The Register.

Linus Torvalds now favors the Ampere Arm chip over using an Apple Silicon MacBook for building Linux kernels — he says he’s now doing more Arm64 Linux testing than ever – Tom’s Hardware.

Unboxing the MicroPython-capable Arduino Alvik Robot

Arduino Alvik

Arduino’s Alvik is out. Watch as Alex Glow at hackster.io unboxes this robot which runs on a Nano ESP32 and also features an STM32 on the chassis. It supports MicroPython, integrates a bunch of sensors, and includes connectors for customization – hackster.io via X.

PyCon US 2024 Happening Now

PyCon US 2024

Events are happening now in Pittsburg at PyCon US 2024. Shown here is the Introduction to MicroPython: Getting Started With micro:bit tutorial – X.

microSD Cards for Single-Board Computers (SBC) – Their Days Are Numbered

microSD Cards for Single-Board Computers

Jeff Geerling postulates that use of microSD cards’ for SBCs like Raspberry Pi may be phased out. The speeds obtained by PCIe drives are faster and the reliability of the storage is much higher – Jeff Geerling and YouTube.

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 ESP BLE pairing and bonding.

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. Catch all the episodes in the YouTube playlist.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for May 13th, 2024 (notes) on YouTube.

Project of the Week: A DIY Vintage Spotify Radio

DIY Vintage Spotify Radio

A vintage look radio houses a Raspberry Pi Zero W running Mopidy, a Python based music playing application. The project uses an Adafruit RasPi Bonnet, TFT display and I2S mono amplifier – hackster.io, Raspberry Pi News and YouTube.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? Raspberry Pi Connect.

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.

USB Keyboard Adapter V2 for Big Tandys

USB Keyboard Adapter V2 for Big Tandys – Adafruit Playground.

Babel

Babel – Let’s make some Alien words!! – Adafruit Playground.

News From Around the Web

Door Monitor

Door Monitor

Device provides the status of a lock via a Raspberry Pi Pico W using WiFi via MicroPython. The remote status is on an eInk display – X (Japanese).

CPU fan controller

“What started with my needing a new CPU fan resulted in a new case with aRGB fans. My motherboard didn’t support aRGB so rather then buy a controller for $20 I spent $100 making my own! (It uses an) nRF52840 for BLE with level shifting logic running CircuitPython” – X.

BreadboardOS for Raspberry Pi Pico

BreadboardOS for Raspberry Pi Pico – Adafruit Blog, YouTube and GitHub.

Python-Powered eInk Name Badge

A CircuitPython-powered eInk name badge – kattni:decoded.

Car avoids objects

Raspberry Pi Pico W and MicroPython teaches a car to avoid objects – Raspberry Pi News, GitHub and YouTube.

Pico WiFi Demo

One Raspberry Pi Pico communicating to another over WiFi sockets in MicroPython – X (Japanese).

PyScript

How to use Pyscript to create Python web apps – TheNewStack.

Pi-card

Pi-card, a DIY voice assistant with eyes, uses a Raspberry Pi 5, speaker, mic, and camera to run a vision language model entirely locally – hackster.io.

CircuitPython Online IDE 2.0.0 Beta.1

CircuitPython Online IDE 2.0.0 Beta.1 has been released. This update addresses several bugs identified since the initial Beta release. The author is still looking for feedback – X and IDE.

Test HDMI video

Test HDMI video with a Raspberry Pi Zero without OS using CircuitPython – YouTube.

Bot

Easily build a robot car with the Car Base Board for the STM32F411 “Black Pill” board – CNX Software.

RFID Cloud Integration

RFID cloud integration Using the Arduino IDE and MicroPython – Instructables.

Teletext

Displaying TeleText on an HDMI display with CircuitPython 9 and PicoPad – X (Czech).

RasPi Fireplace

A Raspberry Pi fireplace with Python and Blinka – Instructables.

New

52Pi W01 U2500 HAT

52Pi W01 U2500 HAT adds 2.5GbE and NVMe SSD support to Raspberry Pi 5 SBC – CNX Software.

Adafruit TRRS Trinkey – USB Key for Assistive Technology

Adafruit TRRS Trinkey – a USB key for assistive technology and more – Adafruit Blog.

Touchscreen color display

Waveshare has launched a 1.69-inch touchscreen color display based on an ESP32-S3 WiFi and LE WiSoC, and equipped with am IMU sensor, an RTC, a buzzer, and more – X.

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 two new boards added:

Looking to add a new board to CircuitPython? It’s highly encouraged! Adafruit has four guides to help you do so:

New Learn Guide

New Learn Guides

Halo Energy Sword RP2040 from Ruiz Brothers

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

Updated Libraries

Here’s this week’s updated CircuitPython libraries:

Library PyPI Weekly Download Stats

Total Library Stats

  • 102,110 PyPI downloads over 326 libraries

Top 10 Libraries by PyPI Downloads

  • Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 8320
  • Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 8155
  • Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 7319
  • Adafruit CircuitPython Register (adafruit-circuitpython-register): 2064
  • Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 1233
  • Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1073
  • Adafruit CircuitPython RGB Display (adafruit-circuitpython-rgb-display): 957
  • Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 932
  • Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 847
  • Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 835

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 9.1.0-beta.2 last week to catch up on all the changes that have been going on, and to have some new boards be included in a labeled release.

I reworked the socket retry logic in the ConnectionManager library, to make sure to release sockets when the code was running out of RAM. Now SSL sockets are working much better on ESP32-S2. There is still an issue with SSL server sockets causing memory errors in some cases, and I’m going to look at that as well.

Jeff

I’ve been at PyCon in Pittsburgh for the past few days, and yesterday I delivered my talk “Connecting Old to New with CircuitPython”. Thanks to all those who attended! Sometime in the future the video & slides should become available.

Scott

Last week I was on vacation. My Dad and I did a road trip down to Goblin Valley State Park in Utah.

This week I’ve gotten caught up and I’m picking back up my work to enable BLE GATT servers support on Espressif chips. My first goal is to get the continuous integration builds succeeding so folks can test it more easily. After that, I’ll be bug hunting!

Liz

This week I worked on a few product guides. The first was the S-35710 low power timer. This breakout lets you use a watchdog timer over I2C. I wrote a simple CircuitPython driver to interface with it. The next one was a breakout adapter for a SEN54 or SEN55 sensor. These sensors use a JST GH connector, so this breakout makes the wiring a lot easier. Sensirion has their own libraries for Arduino and Python, so I was able to use those for the demos.

Finally, the last new product guide for this week was the 555 STEMMA breakout. This breakout has the famous 555 timer on it paired with a 74HC1G04 buffer for a square wave output with trimmer pot adjustable frequency.

Upcoming Events

The next MicroPython Meetup in Melbourne will be on May 22 – Meetup. You can see recordings of previous meetings on YouTube.

Open Sauce

Open Sauce, the Maker extravaganza, is returning to San Francisco, California June 15-16 – Open Sauce.

EuroPython 2024

EuroPython is the oldest and longest running volunteer-led Python programming conference on the planet. This year it will be held July 8-14 in Prague – EuroPython 2024.

PyOhio 24

PyOhio is being held July 27-28, 2024 in Cleveland, Ohio – PyOhio.

Espressif DevCon24

Espressif DevCon24 will be held Sep 3-5, 13:00-18:00 CEST. Call for presentations now – Espressif.

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.0.4 and its unstable release is 9.1.0-beta.2. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20240516 is the latest Adafruit CircuitPython library bundle.

20240515 is the latest CircuitPython Community library bundle.

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

3.12.3 is the latest Python release. The latest pre-release version is 3.13.0b1.

3,914 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.

NUMBER Thanks

NUMBER THANKS

Adafruit Discord

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