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,646 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! A busy week in many folks’ lives this past week! CircuitPython gains web workflow on standard ESP32 microcontrollers. CircuitPython Day is very near, see all the events and plan your own. And check out all the happenings worldwide – projects galore.
Web Workflow Added for ESP32 Programming in CircuitPython
Of all the great microcontrollers on the market today, ESP32 (the original, no suffix) had been left out of CircuitPython due to not having native USB, not allowing it to act like a flash drive for code. Scott and Dan just merged in Web (WiFi) Workflow for CircuitPython 8.0.0 alpha and ESP32, which means that it’s now incredibly easy to start working with chips like the ESP32 which have excellent WiFi networking but do not have USB mass-storage – Adafruit Blog.
Now when we visit the IP address displayed on the odroid’s screen, it will let us immediately go to the built-in serial console that is also web-compatible! Any repl commands are echoed on the display as well. Next up will be uploading files – Video.
CircuitPython Day 2022 – 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:
Celebrating Code & Community: A CircuitPython Day Panel Discussion
Panelists take a look back at CircuitPython’s accomplishments over the past year, look forward to what is to come, community Q&A, and more.
Hosted by: Paul Cutler
CircuitPython Day Chat with Kattni, Jeff and Dan
Kattni, Jeff and Dan get together for the third year in a row to talk about what was the most interesting thing each of them has done with CircuitPython over the last year.
Special Edition CircuitPython-Themed Show & Tell
Liz Clark hosts a special edition of Show & Tell that focuses on CircuitPython-themed projects.
CircuitPython 8 Preview
Scott will cover all of the changes upcoming in CircuitPython 8
CURRENT SCHEDULE – all times are US Eastern:
- 11:00 ET – Celebrating Code & Community: A CircuitPython Day Panel Discussion
- 13:00 ET – CircuitPython Project Build with Maker Melissa
- 14:00 ET – Special Edition CircuitPython Themed Show and Tell
- 15:30 ET – CircuitPython 8 Preview
- 16:00 ET – CircuitPython Day Chat with Kattni, Jeff and Dan
- 18:00 ET – Foamyguy CircuitPython Day Game Jam Stream
- 11:00 AM EDT/17: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 Wireless on CircuitPython Day as they 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.
Working with CircuitPython? Tag your projects #CircuitPythonDay2022 on social media and Adafruit will look to highlight them – Adafruit Blog.
Extending CircuitPython: The Fibonacci Adventure
Before actually contributing to CircuitPython, Lee Atkinson thought to try a toy extension. A non-hardware related Fibonacci Generator for the Raspberry Pi Pico. The process is excellent at learning the methodologies on how to extend CircuitPython – GitHub.
1,000 CircuitPython Library Bundle Releases
Woohoo! Ee were just going to download the library bundle for a project and noticed….we have reached 1000 releases! We do a library bundle release nightly on every detected change – e.g. new version – of a submodule-d CircuitPython library. Psst! Did you know we have reached 300 official Adafruit-written CircuitPython libraries?
Anyways, the bundle is great if you want to make sure you have all the latest libraries. It’s also used by tools like BundleFly and PyLeap to get all the dependencies you need to make your project go.
Educators: Free, High-Quality Instructional Videos for CircuitPython
Teachers Planning STEM / Programming this year? All materials for John Gallaugher’s entire CircuitPython course for absolute code/maker beginners using Adafruit, Arduino, & Raspberry Pi is FREE online. Slides (exercises & solutions) & syllabus – Twitter.
Chip Shortage: Analog Devices AD8495A
Chip Shortage features Ladyada highlighting items that are in short supply or possibly “unobtainium” (with no known return date to the market).
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 Octopus Game final touches.
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 is off 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 minute interview – CircuitPythonShow and Twitter.
Joshua Lowe guests in the newest episode released August 8th. Josh shares his project EduBlocks, which helps new programmers bridge the gap between Scratch and Python. – Show List.
Project of the Week: Connecting a Raspberry Pi Pico W to Microsoft Azure IoT Hub using MicroPython and MQTT
Connecting a Raspberry Pi Pico W to Microsoft Azure IoT Hub using MicroPython and MQTT – PeteCodes.
News from around the web!
Baby Monitor Haptic Mod – adding a motor driver and BLE to a VTech baby monitor to enable alternative outputs, like haptic feedback, with CircuitPython – hackaday.io.
Programming Tiny devices with MicroPython. Explore the fantastic world of Physical Computing by programming tiny devices such as the XIAO BLE Sense using CircuitPython – hackster.io.
Belay Aims to Make PC-Based Python Hardware-Software Interfaces Quick and Easy via MicroPython. Talking to any MicroPython board via serial, Belay lets you integrate hardware interaction into Python programs in a minimum of code – hackster.io.
“Hacking on my PyPortal CircuitPython project to change the orientation and add a Winamp player. Eventually the artist name in the Winamp player will match the chosen record. Before and what’s to come” – Twitter.
MicroPython PiChart – Twitter.
“Getting ESP32 boards to work with ESPHome… now I don’t have to write any MicroPython networking code just to give my CircuitPython boards WiFi” – Twitter.
How to build and use a Pico Grove adapter (complete with schematic) – RAREblog.
Espressif discusses Matter Solutions – YouTube.
Simulating the preliminary launch trajectory for Artemis I with the Space Launch System with Python – Researchgate.
lowbar is a blazing fast module with zero dependencies for displaying a progress bar in the terminal. It’s extremely simple with a low amount of code – GitHub.
Choose the Right Python Concurrency API – SuperFastPython.
Python Constants: Improve Your Code’s Maintainability – Real Python.
Python in Visual Studio Code – August 2022 Release – Microsoft Python Blog.
PyDev of the Week: Wolf Vollprecht on Mouse vs Python
Bombercat is a security tool that combines an RP2020 and an ESP32 MCUs. It’s a security tool that combines the most common card technologies: NFC technology (Near Field Communication) and magnetic stripe technology used in access control, identification, and banking cards. Easy to program using frameworks such as Arduino, CircuitPython, and MicroPython – LinuxGizmos and ElectronicCats.
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 being worked on.
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!
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 Adafruit and community contributed CircuitPython libraries is 361!
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’m continuing to work on the plain ESP32 port. I got the port working on ESP32 boards with no PSRAM, and am now incorporating changes Scott made to determine flash and PSRAM pin assignments at run-time.
Once I finish on the ESP32, I will go back to addressing issues we want to fix for the 8.0.0 release.
I’ve gotten quite far with the new camera module for the Espressif port. It works on boards with ESP32, ESP32-S2, and ESP32-S3 microcontrollers. However, some more features need to be added before it’s at parity with the previous code.
This week I published the Adafruit PCF8574 I2C Expander guide. It has everything you need to get started with this breakout, including examples in CircuitPython and Arduino. If you picked up one of these expanders, check out the guide!
I also put together the video content schedule for CircuitPython Day! Keep an eye out for that on the Adafruit blog.
This past week I was out sick for a couple of days, but for the days I was able to work, I was able to finish refactoring the code structure of the code.circuitpython.org website. After that was made live, I started refactoring the UI enough to start adding Web Workflow functionality.
I tested a fix for Ethernet connections with the Wiznet5k library. I investigated a difference around the tuple constructor having different behavior in CPython and CircuitPython / MicroPython. I continued work on the Octopus guide, and made some final cleanups to a few of the sprite assets. I did the drawing for the initial selections for the Hack Tablet giveaway this week. The remaining winners will be selected 8/26.
This week I added two more ESP32 boards to CircuitPython and fixed some issues with them. I enabled the web workflow on the Feather ESP32 v2 as well. After that, I’ve been refining the title bar to add info about the running Python code, exceptions and the BLE workflow state. It adds a bit of code to the smallest builds so my next task is to figure out how to make it all fit.
This past week I worked on the CircuitPython MIDI to CV Skull project. It’s a fun little project that helps to integrate MIDI into your Eurorack or CV controlled synth setup. Big shout out to Thea and her CircuitPython Winterbloom Eurorack modules. Her work is a huge inspiration for a lot of the music tech CircuitPython projects I’ve worked on.
Next up, I’ll be working on some new product documentation and a fun collaboration with the Ruiz brothers.
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.
Silicon Valley’s Premier Comic Con Returns! Featuring The Best In Pop Culture, Tech, Science, Makers, Artists, Cosplay, Gaming, Comic Creators, Authors & More! August 27-28, 2022 San Jose McEnery Convention Center – SiliCon.
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! 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.
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.
20220808 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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,207 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.