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,800 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! The development world finally has the long awaited Arduino development environment version 2. Will that be enough to entice devs away from easier to code languages like Python? A raft of podcasts celebrating making this week. And some very interesting projects and new hardware is featured. We hope you like this issue of the newsletter.
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:
Arduino IDE 2.0 Was Finally Released
After a lengthy testing period, Arduino announced that Arduino IDE 2.0 has moved to stable and is available for download. It has a modern editor and provides a better overall user experience thanks to a responsive interface and faster compilation time – Arduino and Adafruit Blog.
Diode: Build and Program Projects in the Browser
Diode makes it easy to build, program, and run hardware projects in the browser. Save time and money waiting on parts, shorten feedback loops, and build hardware better. The syntax is Python. You can play with a very limited demo now – Diode via Twitter.
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 a CircuitPython PR Followup and FlipClock Spritesheets.
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 is on Bitmap Snow – 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.
The latest episode was released September 19th with guest Thea Flowers. Thea shares how she discovered CircuitPython, founded her synthesizer company Winterbloom, and how her products use CircuitPython – Show List.
Maker Becky Stern has a new Electronic Video Series for Digi-Key
Former Adafruit Director of Wearable Electronics Becky Stern has a new video series that she’s doing for Digi-Key. Becky has always done an outstanding job of explaining what can be intimidating technically in an entertaining and digestible way (like her Adafruit Learning System guides).
If this first installment of the series (playlist in progress), an introduction to LEDs, is any indication, this series looks to deliver more of her welcome brand of accessible tech education.
Check out the first video and an article on BoingBoing – Adafruit Blog.
Today September 20th, The Pi Cast celebrates its 100th episode with the creator of the rpilocator, André Costa @makerbymistake. Rpilocator has become the go-to place to find stock of the Raspberry Pi – YouTube via Twitter.
GitHub Markdown Syntax
GitHub uses a syntax called Markdown to format text. As many Python folks use GitHub, here’s a handy reference to how Markdown encodes the typical document formats including bold/italic/lists and much more – Twitter (open for full two page reference).
Help with Python F-Strings
Help with Python F-Strings, a four page concise guide – Cheatography and page.
The CircuitPython Community Help Desk Returns September 29
The CircuitPython Community Help Desk returns on Thursday, September 29th from 7pm EDT to 9pm EDT. Developers will be on hand to help you get ready for Hacktoberfest 2022. Volunteers will help get you registered for Hacktoberfest, help with your development environment, and share how to participate in Hacktoberfest by contributing to CircuitPython and its libraries. Help will be available in the Adafruit Discord in both voice and chat.
Project of the Week: Electronic MasterMind Game
An electronic version of the classic 70’s Super Master Mind board game. The object is to guess the code that has been selected by the computer in as few moves as possible using clues given at each turn. It uses a Raspberry Pi Zero WH, an Adafruit 16×32 LED Matrix Panel (6mm pitch), an Adafruit Matrix Hat (or Bonnet) and Python – Instructables.
News from around the web!
Tiny Orb using 4×4 LED NeoPixel matrices, a Xiao and CircuitPython with the
led_animations library – Twitter Thread.
A countdown timer to the NHL Bruins season opener. It uses an Unexpected Maker Feather S2, Jose Castillo LCD wing, and CircuitPython – Twitter.
A keyboard and large knob controller powered by CircuitPython – Twitter.
Assembling the Raspberry Pi Pico Open Book eReader which can run CircuitPython – Twitter Broadcast video and Twitter Thread.
Monitoring of 2 batteries with an Eco Flow Delta Max & River pro with one M5Stack Fire, 4 relays and MicroPython – Twitter.
A Gort head from the movie “The Day the Earth Stood Still” using Python – Instagram via Twitter.
Joey Castillo automates shipping the Sensor Watch with a CircuitPython-powered foot pedal that presses the Enter key when it is tapped – Twitter.
Paul Cutler builds the NeoPixel Rainbow designed by the Ruiz Brothers and programmed by Rose Hooper. Based on the Adafruit Learning System Guide here – Twitter.
A doorbell notifier powered by Raspberry Pi Pico W, MicroPython and Telegram – GitHub.
Proximity detection lighting NeoPixels with an ESP32 and CircuitPython – Twitter Thread.
Visual Studio Code Shortcuts Cheatsheet — For Mac, Linux, & Windows – Twitter Thread.
Purple Owl is a 60% hot swap mechanical keyboard with underglow RGB, powered by a tiny Seeed XIAO RP2040 and KMK (CircuitPython) Firmware – hackster.io.
Simple Robot Arm you can build yourself with a Raspberry Pi Pico W-based Pimoroni Inventor 2040 W and MicroPython – YouTube.
A pull request to add Microchip SAM4 support to CircuitPython – GitHub via Twitter.
Python Libraries you Must Know – Twitter.
New book: An Introduction to Python Programming for Scientists and Engineers – Cambridge via Twitter.
A new book, for free from HackSpace Magazine (PDF): FreeCAD is the number one free software 3D design program, and this PDF guide is the best way to get started with it. We’ll take you from absolute beginner to advanced user, going from the basics of drawing a line and making it 3D all the way to parametric design, importing objects from photographs, designing for sheet metal, and loads more – HackSpace Magazine.
CircuitPython Weekly Meeting for September 19, 2022 (notes) on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? The Official Raspberry Pi Handbook 2023 (book and free PDF).
DFRobot Beetle RP2040 joins other miniature Raspberry Pi RP2040 developments boards such as Pimoroni Tiny 2040 and Adafruit QT Py RP2040, but with only eight GPIOs accessible through larger pads that are easier to solder – cnx-software.
Autonomous Robotics Platform for Raspberry Pi Pico by Kitronik review (it’s programmed in Python) – The MagPi.
Some interesting Pico clones for pretty much same price (~2-4$), silk screen on top side, USB-C and a WS2812 LED. Also another option with 16MB flash – Twitter.
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 was one new board 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:
- 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!
Walkmp3rson: Personal MP3 ‘Tape’ Player from John Park
WiFi Mailbox Notifier from Kattni
Commodore Keyboard to USB HID with CircuitPython from Jeff Epler
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 370!
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’ve just added the ability to preserve the state of specified pins when entering deep sleep in CircuitPython. This is currently implemented on Espressif boards only.
I’m continuing to investigate and fix bugs for the 8.0.0 release.
This week I published the WiFi Mailbox Notifier guide! This guide uses a CircuitPython, a Feather ESP32 V2, WiFi, and Adafruit IO to put together a project to install in your mailbox, that will email you every time the mailbox door is opened. The guide includes how to identify reed switch terminals (they can be very confusing!), soldering and assembly instructions, code walkthrough, Adafruit IO set up, installation and usage, and power analysis to verify your board is definitely entering deep sleep. The guide is great for the project, but also for the extra included info! Feel free to check it out!
This past week I worked on adding a lot of improvements to the CircuitPython Code Editor. These improvements included some code restructuring, bug fixes, an improved loading animation with a spinning Blinka, folder uploading and downloading into a zipped file, updating to the latest CodeMirror editor component, changing the filename color based on whether changes are saved, and showing more files and details. I’m hoping to get this project to a good stopping point very soon and will probably be getting to some move thorough testing in about a week.
This week I worked on “finishing touches” for the flip clock widget library. The core functionality is done and working but I’ve been adding docstrings and type annotations as well as more thorough example scripts. The last piece remaining that needs cleanup, docstrings, and type annotations is the PIL based script that runs on the PC to generate the sprite sheets. Once that one is finished up I’ll make the PR to add this library to the bundle.
I published a new guide this week: Commodore Keyboard to USB HID with CircuitPython. In this guide, you can learn how to adapt a matrix-style keyboard from an iconic computer brand to a modern computer using CircuitPython and the KB2040 board.
This past week I wrote a guide on plugging the new nOOds flexible LED filaments into CV (control voltage) synths. The nOOds light up depending on the voltage and waveform coming out of your synth. I’m hoping this will inspire folks to get creative with these new LEDs. If you want more info on them, be sure to check out Phil B’s amazing Überguide that he did for them.
I also added a page to the MacroPad guide on using external hardware with the board, such as a STEMMA board. The MacroPad has a STEMMA port on the side, so there’s a lot of possibilities for adding sensors to your macro keyboard setup.
The next MicroPython Meetup in Melbourne will be on September 28th – Meetup. See the slides of the August 24th meeting.
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 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.
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.
20220917 is the latest CircuitPython library bundle.
v1.19.1 is the latest MicroPython release. Documentation for it is here.
3.10.7 is the latest Python release. The latest pre-release version is 3.11.0rc2.
3,173 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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,530 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.
Join the Adafruit Discord or post to the forum if you have questions.