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! It’s clear that the use of Python on hardware projects is accelerating. Just take a look at this week’s highlights. Python on LEGO automation controllers, micro:bit, and so many microcontroller boards and single board computers (SBC)! Have fun exploring this week’s issue.

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:

Check Out the Simulator in the beta micro:bit Python Editor

Simulator

A simulator is now available within the beta micro:bit Python Editor. This allows you to try your code before sending it to a micro:bit. The developers are fine tuning it over the next few weeks, so send them your feedback to help make it even better – micro:bit newsletter.

The MicroPython Forum Migration to GitHub Discussions

MicroPython Forum Migration

After close to 9 years, the MicroPython team has decided to close their forum in favor of moving to GitHub Discussions – MicroPython Forum Post and GitHub Discussions.

There’s a few key features they really like about GitHub Discussions:

  • Much tighter integration with the rest of the development process which is all hosted on GitHub. We can move Discussions to/from Issues, etc., as well as @ members and reference PRs/Issues.
  • GitHub Discussions has many more features for posts and replies. Emoji responses, accepted answers, threaded replies, etc.
  • GitHub Discussions uses the much more familiar Markdown syntax for writing posts, especially for code snippets (which also support syntax highlighting).
  • It’s less maintenance for the MicroPython team (–> more time to work on features and fixes!).
  • Easier account signup (and for many people who already use GitHub, no new account required at all).

PyBricks – Python for LEGO

PyBricks

PyBricks is Python coding for smart LEGO® hubs. Run MicroPython scripts directly on the hub and get full control of your motors and sensors. PyBricks runs on LEGO® BOOST, City, Technic, MINDSTORMS®, and SPIKE®. You can code using Windows, Mac, Linux, Chromebook, and Android. MIT License Open Source – PyBricks.

VSCode Upload via the New CircuitPython 8 Web Workflow

Web Workflow Upload

Luke Williams is working on a task definition and Python script to upload from VS Code to CircuitPython boards via a web workflow REST API. It’s a work in progress at this time. It shows how leveraging new features in CircuitPython 8 can help development – GitHub.

Thonny Version 4.0.0

Thonny Version 4.0.0

Thonny 4.0.0 has emerged from beta with many changes and fixes. A major change is dropping support for Python 3.5, 3.6 and 3.7. There are about two dozen changes for MicroPython and CircuitPython – GitHub.

WipperSnapper Custom Component Visualizations

WipperSnapper Custom Component Visualizations

Adafruit has introduced some new gorgeous default WipperSnapper component visualizations and the ability for users to customize them – Adafruit IO Blog.

  • Custom Labels
  • Custom Icons
  • Component Contributors Can Set Their Default Visualizations
  • I2C Sensors Display Their Appropriate SI Units

There are some new sensor types too – Adafruit Blog.

200th Python on Microcontrollers Newsletter

200th Newsletter Anniversary
This newsletter has been published weekly now for 200 issues! Thank you to all our readers and subscribers. We’re hoping to get to 10,000 subscribers this year – please tell your friends, colleagues, etc. to subscribe at https://www.adafruitdaily.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

This week, Tim streamed work on CircuitPython Library PR reviews, the Hack Tablet and more.

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 will return next week.

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 Brent Rubell, who discusses IoT, Wippersnapper firmware, and more. Next week Radomir Dopieralski joins the show and shares how he got started, gaming with CircuitPython, and building robots – Show List.

Upcoming: CircuitPython Office Hours

CircuitPython Office Hours are starting September 10th. Office hours were so popular on CircuitPython Day, that community members are planning more! Office hours are a set time where users and developers can gather to collaborate on CircuitPython development, including code, documentation, translations and more. Check out next week’s newsletter for the start time or join the Adafruit community Discord for more information.

Chip Shortage

InvenSense TDK ICM-20948

The Chip Shortage video this week is the InvenSense TDK ICM-20948 9-DOF IMU – Adafruit Blog and YouTube.

Project of the Week: A NASA Astronomy Picture of the Day Viewer

Picture of the Day Viewer

A NASA Astronomy Picture of the Day Viewer using MicroPython, a Raspberry Pi Pico W and a Pimoroni Display Pack 2 – Twitter.

News from around the web!

Garden Dashboard

An Adafruit QT Py powered Garden Dashboard project – Twitter.

Enclosure

An Adafruit Macropad RP2040 case + extra encoders and display – Adafruit Blog and Thingiverse.

Overclocking RP2040

Overclocking RP2040 to 1 GHz – Raspberry Pi.

Garage Door Opener

Remotely open your garage door with Raspberry Pi Pico W – Raspberry Pi and YouTube.

Time Machine

Buy more time with Raspberry Pi Pico (and money) – Raspberry Pi.

The PicoStepSeq Brings Retro Aesthetics to a 3D Printed MIDI Sequencer

The PicoStepSeq Brings Retro Aesthetics to a 3D Printed MIDI Sequencer – electromaker.

KBD Issue 92

Keyboard Builder’s Digest Issue #92 is out – Keyboard Builder’s Digest.

To Do

A Raspberry Pi Pico To-Do Board using MicroPython – hautzenberger.at.

Pico to Pico

Pico to Pico communication over UART using easy_comms and MicroPython – Instagram via Twitter.

Wear your words with this subtitle hoodie

Wear your words with this subtitle hoodie, using a Raspberry Pi 3 B+ and Python – Raspberry Pi.

Webb Image Viewer

Mirrored wall art which displays Webb telescope images – Raspberry Pi and YouTube.

Solar Diverter

A Raspberry Pi Pico powered solar diverter build with MicroPython – Twitter.

Read RSS feeds in Python and download the weather

Read RSS feeds in Python and download the weather with Raspberry Pi – Sean.co.uk.

Dragon Clock

A Dragon frame clock with a Pimoroni HyperPixel round display and Raspberry Pi Zero W with Python – Twitter.

Python Notes for Professionals book

831 page free eBook: Python Notes for Professionals book – Goalkicker.

A Practical Introduction to Web Scraping in Python

A Practical Introduction to Web Scraping in Python – Real Python.

Your Python Coding Environment on Windows: Setup Guide

Your Python Coding Environment on Windows: Setup Guide – Real Python.

Python 3 Cheat Sheet

A cheat sheet for data structures in Python 3 – Twitter.

Cheat sheet for data visualization

A cheat sheet for data visualization – Novartis.

Using colors in data visualization – Warsaw University of Technology.

CircuitPython Weekly Meeting for August 29, 2022 (notes) on YouTube

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

Coming Soon

LumosStick

The first LumosStick PCBs are nearly ready for Tindie. They have an ESP32-S2 and can run CircuitPython – Twitter.

Wemos S3

Wemos S3 – WiFi & Bluetooth 5 (LE) board based on the ESP32-S3-WROOM-1, 16MB Flash, 8MB PSRAM, compatible with MicroPython (default), Arduino and ESP-IDF – Wemos.

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

Flying Faders from John Park

Raspberry Pi Azure IoT Hub Dashboard with CircuitPython from Liz Clark

Capturing Camera Images with CircuitPython from Jeff Epler

Adafruit ESP32-S3 TFT Feather from Kattni

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

New Libraries!

Here’s this week’s new CircuitPython libraries:

Updated Libraries!

Here’s this week’s updated CircuitPython libraries:

  • Too many to list this week!

What’s the team up to this week?

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

Dan

I had a great time being on two different live stream panels for CircuitPython Day. Thanks to all who organized and volunteered for the day.

I am continuing to fix bugs for the 8.0.0 release. I’ve backported some of the more important fixes to the 7.3.x branch, and plan to release 7.3.3 by the time this newsletter comes out.

Kattni

This past week, I finished up the ESP32-S3 TFT Feather guide. It’s one of the beefiest board guides yet, as it has all of the compatible CircuitPython Essentials pages added, which we, thus far, have not been consistent about. The guide has been live for a bit, but it wasn’t entirely finished until this week.

I also started working with the Feather ESP32 V2 and CircuitPython, and the CircuitPython web workflow. The plan is to redo my LoRa mailbox project with WiFi and AdafruitIO. The reason for using the ESP32 is that we still need more thorough testing, and I’m really good at finding bugs. Found a big one within 10ish minutes of picking it up, which is basically how it goes. This will be in an upcoming guide. I hope to also include the original LoRa version.

Melissa

This past week, I did my first livestream. If you missed it, you can still watch it on YouTube. I also added around 15 new boards over on circuitpython.org. On the Code Editor, I ended up replacing the hterm component, that we use to show the serial terminal, with xterm and web workflow on the code editor now works in Firefox.

Tim

For CircuitPython Day, I participated in a panel discussion livestream and in the evening held a special Game Jam live stream where I made a CircuitPython version of a space ship asteroid mining game, inspired by old arcade games Galaga, Space Invaders and similar games. I learned out to make debug builds of CircuitPython and how to parse the stack trace outputs that they generate for hard fault errors. I also learned more about how to use GitHub Actions, enough to figure out how to set up one actions step that outputs some information and a separate actions step that runs conditionally based on the output of the first. This is utilized in a proposed PR to cookie cutter that will make the actions-bot leave comments on library PRs under certain conditions based around the size of the compiled mpy file.

Liz

On CircuitPython Day, I hosted the special edition Show and Tell livestream. It was a great turnout with a wide variety of projects. Big thanks to Kattni for all of the organization she did to bring the day together.

For guides, this past week I published the final of three Azure CircuitPython guides. This project uses a Raspberry Pi with Azure IoT Hub to create a dashboard to view your devices’ data and subscription information. The Python code on the Raspberry Pi uses the Azure SDK combined with the Blinka DisplayIO PyGame library, which allows for DisplayIO elements to be shown over HDMI. I hope folks will find it to be a good example for not only Azure IoT Hub but also combining Python SDKs with Blinka CircuitPython libraries.

Upcoming events!

MicroPython Meetup

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

PyCon UK 2022

PyCon UK will be returning to Cardiff City Hall from Friday 16th to Sunday September 18, 2022 – PyCon UK.

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.

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.

20220827 is the latest CircuitPython library bundle.

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

3.10.6 is the latest Python release. The latest pre-release version is 3.11.0rc1.

3,148 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,409 thanks!

35,409 THANKS

Adafruit Discord

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