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! This has been a wonderful week in Python news with many projects completed over the US holiday weekend. On the other side of the Atlantic, the Raspberry Pi folks have released a new version of their namesake operating system with a new camera app that is much more fully featured and Python friendly. Check out all the projects and resources in this issue, something for everyone.

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:

The latest update to Raspberry Pi OS

The latest update to Raspberry Pi OS

Raspberry Pi has just released the latest version of Raspberry Pi OS. It is mostly a wrapping-up of all the bug fixes and new versions of software which have been released since the previous image in April; but there are a few small tweaks to the user experience – Raspberry Pi.

PiCamera2

One of the new features in the latest set of Raspberry Pi OS images are pre-installed beta release versions of the new Picamera2 Python camera library, a replacement for the old PiCamera Python library. This is a higher-level interface and is easier to use. Picamera2 is supported only on recent Bullseye images. It is not supported on Buster or earlier images, nor on Raspberry Pi OS Legacy; nor is it supported on Bullseye images where the legacy camera stack has been re-enabled – Raspberry Pi and User’s Manual.

The 2023 Official Raspberry Pi Handbook is Out Now

Raspberry Pi Handbook

The 2023 official Raspberry Pi Handbook is out now. Over 200 pages of Raspberry Pi information including 30 pages on Raspberry Pi Pico. Available in print and as a free PDF download – MagPi.

NEW: The Weekly CircuitPython Community Help Desk Every Saturday

CircuitPython Community Help Desk

Thanks to everyone who came to the first CircuitPython Community Help Desk in the Adafruit Discord and helped make it a success. Users and developers were able to get help in both text and voice chat. The Community Help Desk will be held monthly on Saturdays and rotate time zones.

Come get your questions answered or get help with a project. If you’re looking to help with CircuitPython development, documentation or translations, volunteers will be on hand to help, too – Adafruit Blog.

PyCon UK 2022

PyCon UK 2022

PyCon UK will be in Cardiff City Hall from this Friday September 16th to Sunday the 18th – PyCon UK.

Python on Hardware Community Showcase

PyCon UK 2022: Python on Hardware Community Showcase

Are you going to PyCon UK 2022? There’ll be an open session to bring YOUR projects. Join the Python on Hardware Community Showcase – PyCon UK 2022 via Twitter.

Microdot: A Lightweight Web Server API for Python and MicroPython

microdot

Microdot is a minimalistic Python web framework inspired by Flask, and designed to run on systems with limited resources such as microcontrollers. It runs on standard Python and on MicroPython – GitHub and Monk Makes.

A Steam-Powered Raspberry Pi Pico

A Steam-powered Raspberry Pi Pico

Maker Mike Bell has used a small, steam-powered engine to power a Raspberry Pi Pico along with a few accessories. The Pico can run for around 12 minutes before the water in the boiler dissipates – Tom’s Hardware and Twitter.

Companies Hacking Their Way Around the Chip Shortage

Companies Hacking Their Way Around the Chip Shortage

The supply chain issues have no end in sight, so manufacturers are being forced to improvise – Wired.

“There’s desperation in the market,” says Bill Wiseman, a senior partner at the consulting firm McKinsey. “If you’re building a $350,000 mass spectrometer, and you can’t ship it because you don’t have a 50-cent chip, you’re pretty much willing to pay anything.”

Dan Hutcheson, an analyst at TechInsights, who follows the chip industry, says companies have taken desperate measures to deal with previous shortages, including harvesting chips from other products. He also warns that the shortage could quickly turn into a glut, as the economy cools and demand for new products slows. But he also wonders if the current shortage might have another explanation. “There has to be hoarding out there,” Hutcheson says. “I think chips are the new toilet paper.”

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

This week, Tim streamed work on CircuitPython cookie cutting the Flip Clock displayio widget.

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 Progress Bars – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

The CircuitPython Show

The CircuitPython Show

The CircuitPython Show is an independent podcast hosted by Paul Cutler, focusing on the people doing awesome things with CircuitPython. Each episode features Paul in conversation with a guest for a short interview – CircuitPythonShow and Twitter.

Last week’s episode features Radomir Dopieralski and gaming with CircuitPython. Next week Thea Flowers joins the show and talks about CircuitPython and her synthesizer company, Winterbloom – Show List.

Project of the Week: Minesweeper Game on an Adafruit PyPortal Titano with CircuitPython

Minesweeper

Minesweeper

A CircuitPython implementation of the classic Minesweeper game on an Adafruit PyPortal Titano. It uses Adafruit’s retro PC design for the 3D printed enclosure – Twitter and GitHub.

News from around the web!

Adafruit MagTag Google Cloud Status

A CircuitPython program downloading the Google Cloud Service Health page and displaying the best rows on an Adafruit MagTag every five minutes with deep sleepYouTube.

A DIY mini IoT workshop for the Adafruit QT Py ESP32-S2

A free DIY mini IoT workshop for the Adafruit QT Py ESP32-S2 – GitHub via Twitter.

Pico Gaming

Using a Raspberry Pi Pico with an Adafruit Sharp Memory display for gaming – Twitter.

MicroPython DMA support for Pi Pico RP2 port

A promising PR to add generic RP2040 DMA support for MicroPython – GitHub via Twitter.

2-Key Keyboard with XIAO RP2040

A 2-Key Keyboard with XIAO RP2040 and CircuitPython – Twitter.

RASPBERRY PI PICO AND MCP9808 DIGITAL TEMPERATURE SENSOR

A how-to on connecting a MCP9808 digital temperature sensor to a Raspberry Pi Pico running CircuitPython – rp2040learning.

More CircuitPython programming for the C64 USB/Serial/Wireless adapter board

More CircuitPython programming for the C64 USB/Serial/Wireless adapter board – Twitch.

LumosStick Clock

“Woot LumosStick showed up this evening in the post and already have it clocking via local Raspberry Pi NTP server, thanks to great design and code by Bradán Lane and CircuitPython code from tannewt” – Twitter.

Pi Pico powered plant monitor that reports ambient temperature and soil moisture

A Pi Pico powered plant monitor that reports ambient temperature and soil moisture without using an LCD or screen. The vertical thermometer shows temperature, and the scales tip to indicate dry or wet soil using MicroPython – Twitter.

Keyboard Builders' Digest

Keyboard Builders’ Digest Issue 94 is out – Keyboard Builder’s Digest.

Python Cheat Sheet

A comprehensive Python 3 “cheat sheet”, single page double sided – Sheet (PDF).

Raspberry Pi Pico MIDI Proto Expander

Raspberry Pi Pico MIDI Proto Expander, Part 2 – DiyElectronicMusic.

Wearable

A Wearable, wholly 3D-printed light sensor could help track the causes of lupus flare-ups. Driven by a Raspberry Pi Zero W and a Python script, this wearable could provide vital insights into light-sensitive conditions – hackster.io.

SiFive

NASA selects SiFive and makes RISC-V the go-to ecosystem for future space missions – BusinessWire via Twitter.

Wireless Message Display

A wireless message display with Raspberry Pi Pico and uLisp – uLisp Forum.

Board Holders

Mohit Bhoite has designed 3D printed holders for development boards, allowing them to be mounted on pegboard – Twitter.

CircuitPython Weekly Meeting for September 12th, 2022 (notes) on YouTube.

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Every Linux command I know a-z chart.

Coming Soon

Radxa ROCK5 Computing Module

Radxa has announced a new system-on-module (SOM) designed for compatibility with Raspberry Pi Compute Module 4 (CM4) carrier boards. Radxa ROCK5 Computing Module (Radxa CM5) is a System-on-Module based on the ROCK5 boards (RK3588/RK3588S inside), containing processor, memory, eMMC flash, and Power Management Unit – hackster.io.

EZ-Link Bluefruit

Adafruit is coming closer to a new EZ-Link Bluefruit serial module based on an ESP32 – Adafruit Blog and Adafruit Top Secret.

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!

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

Tiny LED WiFi Companion Cube from Charlyn G

CircuitPython Web Workflow Code Editor Quick Start from Melissa LeBlanc-Williams

CircuitPython Libraries!

CircuitPython Libraries

CircuitPython support for hardware continues to grow. We are adding support for new sensors and breakouts all the time, as well as improving on the drivers we already have. As we add more libraries and update current ones, you can keep up with all the changes right here!

For the latest libraries, download the Adafruit CircuitPython Library Bundle. For the latest community contributed libraries, download the CircuitPython Community Bundle.

If you’d like to contribute, CircuitPython libraries are a great place to start. Have an idea for a new driver? File an issue on CircuitPython! Have you written a library you’d like to make available? Submit it to the CircuitPython Community Bundle. Interested in helping with current libraries? Check out the CircuitPython.org Contributing page. We’ve included open pull requests and issues from the libraries, and details about repo-level issues that need to be addressed. We have a guide on contributing to CircuitPython with Git and GitHub if you need help getting started. You can also find us in the #circuitpython 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 366!

New Libraries!

There are no new libraries this week!

Updated Libraries!

Here’s this week’s updated CircuitPython libraries:

What’s the team up to this week?

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

Dan

I’m adding the ability to preserve the state of pins when entering deep sleep in CircuitPython. This will allow keeping devices powered up, maintaining static signaling on pins, and the like.

Kattni

This week I continued work on the WiFi Mailbox Notifier guide. I also continued to run into bugs and hardware issues. So it hasn’t been the smoothest experience. The guide is coming along. It’s a very simple build with a very useful result, so if you’re interested in knowing when you have new mail, check out this guide once it’s published.

Melissa

Melissa

This past week I wrote up a learn guide called CircuitPython Web Workflow Code Editor Quick Start. The guide covers getting most features on all the Web Workflow features I’ve added over the past couple of months. The guide includes a handy script I came up with to allow switching between multiple WiFi networks while USB Mass Storage is disabled.

Tim

This week I created FlipDigit and FlipClock widget classes that make use of pre-generated spritesheets to show an animated flip clock style transition from one number to another with displayio. The Digit represents a single number that can flip and change between the numbers 0-9. The FlipClock holds 4 digits, and draws a colon between them. To serve as the first test program using these widgets I used the NTP library to create a flip clock that stays in sync with the real time that it fetched from the server.

Upcoming events!

The next MicroPython Meetup in Melbourne will be on September 28th – Meetup. See the slides of the August 24th meeting.

2022 Hackaday Supercon 6

After two years in remote mode, Hackaday is very excited to announce that this year’s Hackaday Supercon will be coming back, live! Nov. 4th, 5th, and 6th in sunny Pasadena, CA for three days of hacks, talks, and socializing with the Hackaday community – Call for proposals and Hackaday.

RISC-V Summit

RISC-V Global Summit, December 12-15, 2022 San Jose, California US – Linux Foundation, YouTube via Twitter.

PyCon US 2023 will be April 19-17, 2023, again in Salt Lake City, Utah US – PyCon US 2023.

Send Your Events In

As for other events, with the COVID pandemic, most in-person events are postponed or held online. If you know of virtual events or upcoming events, please let us know on Twitter with hashtag #CircuitPython or email to cpnews(at)adafruit(dot)com.

Latest releases

CircuitPython’s stable release is 7.3.3 and its unstable release is 8.0.0-beta.0. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20220910 is the latest CircuitPython library bundle.

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

3.10 is the latest Python release. The latest pre-release version is 3.11.0rc2.

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

jobs.adafruit.com – Find a dream job, find great candidates!

jobs.adafruit.com

jobs.adafruit.com has returned and folks are posting their skills (including CircuitPython) and companies are looking for talented makers to join their companies – from Digi-Key, to Hackaday, Micro Center, Raspberry Pi and more.

35,498 thanks!

35,498 THANKS

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,498 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, IGTV (Instagram TV), 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.

Codecademy “Learn Hardware Programming with CircuitPython”

Codecademy CircuitPython

Codecademy, an online interactive learning platform used by more than 45 million people, has teamed up with Adafruit to create a coding course, “Learn Hardware Programming with CircuitPython”. The course is now available in the Codecademy catalog.

Contribute!

The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. 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.