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,575 subscribers worldwide!
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! This week, a new minor release of CircuitPython to fix three bugs. Adafruit hits 35,000 users on their Discord server, where you have a 24x7x365 connection with others with the same interests, including CircuitPython. We hope everyone is getting ready for CircuitPython Day next month! And much more, including some fantastic projects and new events coming up listed below. Enjoy.
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:
A New Version of CircuitPython 7 is Released
CircuitPython 7.3.2 is the latest bugfix revision of CircuitPython, and is a new stable release – GitHub.
Notable changes to 7.3.2 since 7.3.1:
- Adafruit MatrixPortal: restore
traceback, which allows
- Always release displays during deep sleep.
- Update frozen libraries: fixes issues due to older libraries on certain AirLift boards.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,000 humans – thank you! Adafruit believes Discord offers a unique way for Python on hardware folks to connect. Join today at https://adafru.it/discord.
CircuitPython Day 2022 is August 19th!
Friday August 19 (8/19/2022) is CircuitPython Day 2022, being designated the snakiest day this year! The day highlights all things CircuitPython and Python on Hardware.
Below is the latest on events that are developing. Firm times and additional events will be posted in subsequent posts.
Special events will be held during the day – the following is a summary of events known to date:
- A panel discussion with Kattni, Jeff, Dan, and Tim. Hosted by Paul Cutler. More details coming soon!
- A chat with Jeff, Dan and Kattni. This will be the third year in a row that Jeff, Dan and Kattni will sit down and chat about their involvement and latest favorite contribution to CircuitPython.
- Special Edition CircuitPython Themed Show and Tell, hosted by Liz Clark. Details are still being solidified, but start prepping your CircuitPython related projects if you’re interested in participating!
Foamyguy CircuitPython Day Game Jam Stream:
On CircuitPython Day, I’ll be combining 2 of my favorite things, CircuitPython and Games. I will stream the making of a CircuitPython game jam game. My goal will be to make a basic but playable and fun game within the time constraints of a few hours, and I’ll be streaming the process. After the stream, I will publish the code to the game so folks can play on their own CircuitPython devices.
11:00 AM EDT/5:00 PM CEST Reimagining IoT Deployments with CircuitPython
Adafruit’s CircuitPython has helped open up the IoT and place it within reach of developers of all types. Join blues.io on CircuitPython Day as we look at:
- Getting Started with CircuitPython and Wireless IoT
- Walking Through a Real World CircuitPython-based IoT Project
- Remotely Updating CircuitPython Firmware with Cellular IoT(!?!)
Register for this particular event here. Sponsored by Blues Wireless.
Working with CircuitPython? Tag your projects #CircuitPythonDay2022 on social media and Adafruit will look to highlight them.
Do you have events you’d like to have folks attend or have projects in the works? Email your thoughts to circuitpythonday(at)adafruit(dot)com – Adafruit Blog.
Inside the Effort to Refine Python
The Python Steering Council attempts to reflect the decisions of the community, weighing up all the advantages and disadvantages of each proposal.
See this article discussing the process and methodology – TechRadar.
A Raspberry Pi Pico W Silicon-Level Teardown
A good assembly to tear down on the Raspberry Pi Pico W, as it shows the types of integrated circuits found on a modern circuit board and some state-of-the-art packaging technologies – YouTube and an article – electronupdate.
How to Support Open Source Software and Stay Sane
How to support open-source software and stay sane. Nature explores how to support open-source software and stay sane. Releasing lab-built open-source software often involves a mountain of unforeseen work for the developers – Adafruit Blog and Nature.
Join the Online Color-Changing LED Community with Raspberry Pi Pico W
In the latest issue of HackSpace magazine, out now, they demonstrate how to add some light to electronics with the new Raspberry Pi Pico W using NeoPixels, re. WS2812B RGB smart LEDs – Raspberry Pi News.
You can check out more about HackSpace Magazine in Issue 57 (free PDF available as well as print versions) – HackSpace Magazine
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 CircuitPython powered Hack Tablet.
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 this week was on the tio serial i/o tool – Adafruit Blog and YouTube.
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.
Kevin Matocha joins the show in the latest episode and showcases some of his projects, including the HackTablet – Show List.
Project of the Week: Driving A DC Motor With CircuitPython Tutorial
Woolsey Workshop released the new Driving A DC Motor With CircuitPython tutorial. It uses the Adafruit_CircuitPython_Motor library to control two motors connected to an Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board.
Various demonstration example routines are provided, from performing basic operations to using a potentiometer to control the speed of a motor. It also explains how to detect and report faults occurring on the motor driver board – Woolsey Workshop.
News from around the web!
How to Connect Your Raspberry Pi Pico W to Twitter via IFTTT, and send sensor data to Twitter with MicroPython – Tom’s Hardware via Twitter.
BadOS is a Badge Operating System for the Pimoroni Badger2040 Electronic Badge using CircuitPython – GitHub via Twitter.
Maker Joey Castillo writes: “My philosophy for writing (hardware) drivers: do it in CircuitPython first. Then port it to Arduino. In Arduino you can get closer to bare metal, but CircuitPython is very easy to code in; the iteration cycle is just super fast because you save your code and it’s immediately running on the device” – Twitter.
“My pixel flinger project has got the cats interested! Made with a Pimoroni Tiny2040, a breakout garden vl53l1x TOF distance sensor and a NeoPixel strip, coded in CircuitPython” – Twitter.
“Tryna get better at automating things, so I put together this li’l monster to program/smoke test the DIY HitClips. A Python script on the ‘puter transfers all the code over USB and coordinates testing with a CircuitPython ESP32-S3 running a tiny web server” – Twitter.
A WiFi Garage Door Controller with Raspberry Pi Pico W – Core Electronics and YouTube, via Hackaday.
SmallPi packs a Raspberry Pi Zero W, display, battery and more into a compact cuboid. Built using off-the-shelf add-on boards including the Adafruit 1.3” TFT Bonnet, this compact portable squeezes a lot of functionality into a very small space – Reddit via hackster.io.
Work on MicroPython libraries for M5Stack M5Stick C components – Twitter and GitHub.
A Raspberry Pi Pico W rover robot with a Pimoroni Inventor 2040W and lasers with MicroPython, in progress – Twitter.
“There are 4 Lights!” NeoPixel IoT lights with Pi Pico W and MicroPython – Twitter.
A MicroPython program displaying Carbon Intensity for electricity generation using the new Pi Pico W attached to a Cytron Maker Pi Pico Base and an SSD1306 display – Instructables.
PicoW NTP Client with temperature sensor and serLCD via I2C – MicroPython Forum.
Pimoroni Pico Enviro+ temperature monitoring with MicroPython – Raspberry Pi News.
Watchdog Timer – what is it, and how to use it in MicroPython – Twitter and YouTube.
PicoLabelPlate helps you keep track of your Raspberry Pi Pico (W) pin functions – Twitter and Printables.
HunterCat NFC RP2040 with support Arduino, CircuitPython and MicroPython, available at DEFCON 30 – Twitter.
Pimoroni Tufty 2040 Review: Color LCDbadge with Pi inside. Make a full-color badge or display live sensor data, using an RP2040 chip – Tom’s Hardware.
Pretty Maps in Python – Mark’s Blog.
Book: Data Structures and Algorithms in Python – GitHub.
Python 101 – Type Hinting in Python – Mouse vs Python.
Convert a Python dictionary to JSON – Twitter.
It’s time to say goodbye to these obsolete Python libraries – Python in Plain English.
PyDev of the Week: Cristián Maureira-Fredes on Mouse vs Python
CircuitPython Weekly Meeting for July 25, 2022 (notes) on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? PyFive ASIC.
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 no new boards added but several are in progress.
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!
NAU7802 Pet Food Scale from Liz Clark
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 359!
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!
I released CircuitPython 7.3.2 this week. It updates ESP32SPI-related frozen libraries and fixes one minor MatrixPortal issue.
I’m continuing to debug ESP32SPI-related issues, which manifest with a variety of symptoms.
I’ve been working on adding support for the original Adafruit Feather ESP32 in CircuitPython. It mostly differs from the more recent “version 2” by not having “PSRAM”. This has proven not to be the easy task I hoped it would be, but hopefully with time the reason it’s being tricky will come to light.
I’ve still been working through WipperSnapper pages. Three out of four board guides are done, and the fourth one is close!
In CircuitPython news, I’ve been working on CircuitPython Day planning. CircuitPython Day is August 19, 2022 this year. We’re still in the planning stages, but we’re slowly solidifying the details. Check out what we have so far here. You can keep an eye on that post for updates, as well as the latest blog posts that will come with each update. If you have any ideas, suggestions or interest in participating, please reach out via email at [email protected]!
This past week I have been working with the Edge Impulse Studio software to see how it could help us with some upcoming machine learning projects.
I also had the chance to reacquaint myself with the code.circuitpython.org code that I had worked on in order to take a look at refactoring it a bit to add some more features.
This week I got the Hack Tablet ESP32-S3 building successfully and installed on the device. I created a multi-touch example with some colorful circles to show off the snappy capacitive touch screen. I also continued work on the Octopus game guide pages, and did some preliminary testing on some flip clock sprite assets for a new project.
This past week I wrapped up the NAU7802 Pet Food Scale guide. I’m excited about the calibration functionality and hope folks will find the code to be helpful for their own projects that require calibration for sensors. This project will also be used for another Learn Guide with Microsoft Azure that will be released soon.
I’m starting to work on a new project with the Ruiz brothers that involves AdafruitIO. We’re going to build two displays with analog servos that “talk” to each other over AdafruitIO. You’ll be able to position a servo on one display, it will send the message to IO, and then the second display will receive the message and update its servo position and vice versa. I have a proof of concept working right now with a QT Py ESP32-S2 and a Feather ESP32-S2 changing each other’s onboard NeoPixel colors.
The next MicroPython Meetup in Melbourne will be on July 27th – Meetup. See the slides of the June 22nd meeting.
PyOhio is a non-profit annual Python community conference usually held in Columbus, OH. It is being held online starting Saturday, July 30, 2022. It is free to attend and welcomes anyone with an interest in Python. Content ranges from beginner to advanced and is intended to be relevant to all types of Python users: students, software professionals, scientists, hobbyists, and anyone looking to learn more – PyOhio.
Kiwi PyCon is the Python community gathered to meet and to mingle, to share experiences, to learn from each other, and to build lasting relationships. Friday the 19th to Sunday the 21st of August, 2022 all over New Zealand and beyond – Kiwi PyCon 2022.
PyCon UK will be returning to Cardiff City Hall from Friday 16th to Sunday 18th September 2022 – PyCon UK.
After two years in remote mode, Hackaday is very excited to announce that this year’s Hackaday Supercon will be coming back, live! November 4th, 5th, and 6th in sunny Pasadena, California, USA for three days of hacks, talks, and socializing with the Hackaday community – Call for proposals and Hackaday.
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.
CircuitPython’s stable release is 7.3.2 and its unstable release is 8.0.0-alpha.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20220725 is the latest CircuitPython library bundle.
v1.19.1 is the latest MicroPython release. Documentation for it is here.
3.10.5 is the latest Python release. The latest pre-release version is 3.11.0b4.
3,100 Stars Like CircuitPython? Star it on GitHub!
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
Linux System Administrator with Maker Skills – Pratt Institute – Adafruit Jobs Board.
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.
Join the Adafruit Discord or post to the forum if you have questions.