If you missed Tuesday’s Python on Microcontrollers Newsletter, here is the ICYMI (in case you missed it) version.
To never miss another issue, subscribe now! – You’ll get one terrific newsletter each Tuesday (which is out before this post). 9,935 subscribers worldwide (sooo near to 10k!)
The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware. No spam, no selling lists, leave any time.
Welcome to the latest Python on Microcontrollers newsletter! There is a lot of new hardware on the scene! If that’s your interest, see the feature on the Pimoroni Galactic Unicorn and the New section to see what’s available plus the new boards supported by CircuitPython. Developers are working on Python 3.12 after a successful launch of Python 3.11. There’s lots to pique your interest in this edition – enjoy. Ed.
Python 3.12.0 Alpha 1 Released
Python 3.12.0 alpha 1 released – Python Insider Blog.
This alpha version can be tried out now – Python Downloads
This is an early developer preview of Python 3.12. Several items have been deprecated or removed compared to older versions.
The CircuitPython Online IDE now supports the CircuitPython 8 Status Bar
EuroPython 2022 Videos Now Available
EuroPython 2022 was held online and in Dublin, Ireland from 11 – 17 July 2022. The organizers are now releasing videos in batches, one day per week. Brought to you by the EuroPython 2022 Team and the EuroPython Society – YouTube Playlist.
And here is Andy Piper’s introductory MicroPython talk – YouTube.
Pimoroni Galactic Unicorn Released
Galactic Unicorn is a massive sparkly 53 x 11 (583) RGB LED matrix with amplifier & speaker, powered by a Raspberry Pi Pico W running Pimoroni’s fork of MicroPython. The LEDs can be strobed at 300 fps at 14-bit precision – Pimoroni.
Les takes the Galactic Unicorn for a spin with animated text – Twitter.
3D printed case – GitHub.
New Book Out
A new book was released this week: MicroPython for the Raspberry Pi Pico W: A gentle introduction to programming digital circuits with Python by Miguel Grinberg – Amazon.
This Week’s 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
This week, Tim streamed work on Hidden Functionality for Core Module Vectorio.
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.
John Park’s CircuitPython Parsec was not broadcast this week. Catch all the episodes in the YouTube playlist.
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.
The CircuitPython Show is off this week. Last week featured Jason Pecor discussing the River Prairie Trolls. Next Monday, Joey Castillo of Oddly Specific Objects joins the show – Show List.
The Bootloader Podcast
CircuitPython community members Paul Cutler and Tod Kurt have started a new podcast, The Bootloader. In episode 4, Tod and Paul discuss macOS Ventura, the Matter smart home specification, video synths and more – Zencaster, The Bootloader website and Twitter.
Project of the Week
Brian Welsby used a Pimoroni Tufty with a SCD41 sensor breakout and MicroPython to make this carbon dioxide and humidity monitor with analog meter aesthetics. He converted some C code to MicroPython for the build – Twitter Thread.
News from around the web!
A Mastodon “Cyberdeck” using a Raspberry Pi 3, a black and white TV and a thermal printer. All implemented using Python. The latest toot from the timeline is on the screen and the notifications are printed – Twitter.
Les’ disco MicroPython test code that he uses for all LED matrices on a Pimoroni Galactic Unicorn – Twitter.
AI robots: they can tell jokes and the weather. Python for the AI, speech synthesis and voice recognition. The flashy eyes and eye movements are done using MicroPython on the Plasma 2040 and Servo 2040 by Pimoroni – Twitter, YouTube and Tutorial.
Teardown Session 33 from this past weekend’s Hackaday Supercon with many makers – YouTube.
If you have been to a hacking conference you probably have a bunch of cool electronic badges … and odds are they are collecting dust. With all the RP2040s being used, you could install CircuitPython – Twitter.
A Game Of Life Clock upgrade featuring a Galactic Unicorn from Pimoroni. Complicated feelings as the original one represents weeks of work and new version was just a couple of evenings porting the code from C to MicroPython – Twitter.
MQTT Scroller for the Pimoroni Galactic Unicom with Pi Pico W – GitHub.
Using the ADC Pi with the Raspberry Pi Pico and MicroPython – AB Electronics UK.
Using Avid Media Composer with an Adafruit MacroPad programmed in CircuitPython – Twitter.
Testing a RP2040 “KitchenSink” board. “I didn’t want it to just end up in a ‘box of old things’ so I tidied it up and added more detailed comments to the CircuitPython demo code – Twitter.
“With a few folks at Universe this week, partnered with Pimoroni on a hackable, MicroPython based conference badge running the Raspberry Pi RP2040 chip and an e-Ink display” – Twitter.
PyDev of the Week: Kirk Byers on Mouse vs Python
EsPiFF – contains an ESP32 plus a RP2040 in a Raspberry Pi form factor and uses existing Pi HATS and enclosures – hackster.io.
PicoBerry is a tiny Raspberry Pi CM4 carrier board, with full 40-pin GPIO header, USB-C connector for power supply, 2 user and system CM4 LEDs! Open Source Hardware certified – GitHub and OSHWA via Twitter.
LOLIN C3 Pico is a tiny (25.4×25.4mm) ESP32-C3 RISC-V board with 2.4 GHz WiFi and Bluetooth Low Energy connectivity, a few I/Os, and LiPo battery support including charging circuitry – 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 six new boards added!
- M5Stack ATOM Lite ESP32 IoT
- M5Stack Core Fire
- M5Stack Stamp C3
- M5Stack Basic Core IoT
- The Frood
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:
- How to Add a New Board to CircuitPython
- How to add a New Board to the circuitpython.org website
- Adding a Single Board Computer to PlatformDetect for Blinka
- Adding a Single Board Computer to Blinka
New Learn Guides!
Updated Learn Guides
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!
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 389!
Here’s this week’s new CircuitPython libraries:
Here’s this week’s updated CircuitPython libraries:
CircuitPython Library PyPI Weekly Download Stats!
- Total Library Stats
- 239626 PyPI downloads over 324 libraries
- Top 10 Libraries by PyPI Downloads
- adafruit-circuitpython-busdevice: 26676
- adafruit-circuitpython-requests: 25631
- adafruit-circuitpython-typing: 25083
- adafruit-circuitpython-register: 1696
- adafruit-circuitpython-bitbangio: 1268
- adafruit-circuitpython-motor: 1176
- adafruit-circuitpython-ble: 1113
- adafruit-circuitpython-gps: 1055
- adafruit-circuitpython-esp32spi: 1041
- adafruit-circuitpython-wiznet5k: 1033
What’s the team up to this week?
What is the team up to this week? Let’s check in!
This week I mostly worked on the PiCowbell Proto guide. This guide will include four different ways to assemble the PiCowbell with a Pico, including images of the entire process to ensure you have success when assembling yours. There will also be a pinouts page, and examples of detecting a STEMMA QT sensor plugged into the PiCowbell using CircuitPython and Arduino. If you picked up one of these handy boards, keep an eye out for this guide for details!
I also worked with Alec on prototyping a setup to obtain the CircuitPython Library PyPI download stats. A few years ago, PyPI stopped providing that data directly, as the number of packages had reached a point that providing that data was untenable for them. We considered trying to do it ourselves at that point, but nothing came of it. Last week, I brought it up to Alec, who jumped on it, and had an initial setup going the following day. The plan is to include the entire list of libraries in a new auto-generated file in the Adafruit CircuitPython Bundle, and the top ten PyPI downloaded libraries in both the CircuitPython Weekly Meetings and this newsletter. We’re working on getting it implemented now and it might be included as soon as this newsletter! Ed: Yes!
This past week, I finished up writing the Bluetooth CLUE Robot Car using CircuitPython guide from my CircuitPython Day Livestream. This uses a CLUE board and a Ring:Bit Car Kit for a great introduction to robotics using CircuitPython.
I also update the Using Google Assistant on the BrainCraft HAT or Voice Bonnet guide. Google had deprecated authenticating production projects, so making it test project fixed that issue. The software packages had also been updated and a key package had breaking changes and was no longer being maintained. I was able to fork the repo and fix the issues.
In the past week, I made a pass through all eligible Hacktoberfest PRs to label and review them. I made UI enhancements to the Pico W Trivia game and began modeled a 3D printable case for it. The first real print will be a test plate to ensure all mounting features are located properly.
Another month, another keyboard! This week I published a guide on the Adafruit Learning System showing how to hook up a vintage IBM PC keyboard to a modern PC using CircuitPython. You can check the guide out now.
This past week I worked on a CircuitPython HTTP server with the Pico W. It was a lot of fun to work on and a great learning experience. It shows folks how to pass the HTML code with CSS styling as an f string so that variables from code.py can be included, such as sensor data. There are also buttons on the HTML site that can turn the onboard LED on and off and turn on the party parrot animation on the OLED screen (my favorite displayio trick/test). These buttons work by sending HTTP POST requests. I hope this will be a good example for folks that want to try out setting up an HTTP server.
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.
20221107 is the latest CircuitPython library bundle.
Call for help – Translating CircuitPython is now easier than ever!
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 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.
Job of the Week
Vertical Farm Maker – Area 2 Farms – Adafruit Jobs Board.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,819 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
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, 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.
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.