If you missed this week’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 Monday (which is out before this post). 11,435 subscribers worldwide.
The next newsletter goes out in a week and subscribing is 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! Another busy week in the Python on hardware space. Raspberry Pi keeps introducing innovative products. The interwebs have been flooded with news and projects, and your editor was interviewed by Tom’s Hardware for the Pi Cast. Finally there has been an uptick in the use of the RP2350/Pico 2 in projects. I hope you enjoy this issue. – Anne Barela, Editor
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:
Raspberry Pi Announces a Variety of New Products
Raspberry Pi has announced a slew of new products this month. It’ll be exciting to see how folks use them in new projects.
- Raspberry Pi AI HAT+ with 13 or 26 TOPS – Raspberry Pi News.
- Raspberry Pi SSDs and SSD Kits – Raspberry Pi News and Tom’s Hardware.
- Raspberry Pi SD Cards and the Raspberry Pi Bumper – Raspberry Pi News.
- Raspberry Pi AI Camera – Raspberry Pi News and Setup Guide.
CircuitPython Now Has 503 Libraries
The CircuitPython community reached a big milestone together! There are 503 CircuitPython Libraries! The CircuitPython Library Bundle and Community Library Bundle contain all the current libraries available for CircuitPython. CircuitPython libraries are separate files designed to work with CircuitPython code – Adafruit Blog.
Python is Still the Most Popular Coding Language, But Challengers Are Gaining Ground
For October 2024, Python continues to reign as the most popular programming language, growing by 7.08 percent in the past month and holding a 21.90 percent market share. C++ has claimed second place with 11.60 percent, followed by Java with 10.51 percent. The classic C language, however, is losing ground, now ranking fourth with a 8.38 percent market share, down 3.70 percent – TechSpot.
CircuitPythonista Anne Barela on Tom’s Hardware Pi Cast
Tom’s Hardware Pi Cast host Les Pounder interviews CircuitPythonista Anne Barela (your editor) about her latest project, a PyDOS handheld, CircuitPython and more – YouTube and the project on Tom’s Hardware and Adafruit Playground.
5 Differences Between Raspberry Pi, Odroid and Other Popular SBCs
The SBC (single-board computer) market has exploded over the past several years. Ever since the Raspberry Pi debuted and sparked new interest in the field, many competitors have risen to capitalize on that interest. These include Odroid, Orange Pi, Banana Pi, and others. XDA looks at the most significant differentiating characteristics – XDA.
CircuitPython 9.2.0-rc.0 Out Now, 9.2.0 Final should Come This Week
CircuitPython 9.2.0-rc.0, a release candidate for 9.2.0 final, is now out. This release is believed to be stable, and is meant for testing before the final release of 9.2.0 – Adafruit Blog and Release Notes.
Highlights of This Release
- New
audiodelays
andaudiofilters
modules. These modules are experimental and the API may change. - Bug fixes.
Supercon 8 Badge Holds Six Add-ons and Runs MicroPython
Hackaday Supercon 8 will be held November 1-3 in California. Their conference badge this year is a homage to the “SAO” (simple add-on), a conference badge add-on “standard” created in 2017 by Hackaday’s Brian Benchoff. The badge this year holds 6 SAOs and runs MicroPython for I2C interaction goodness – Hackaday.
Best Raspberry Pi Projects: October 2024
If you’re looking for inspiration for your next Raspberry Pi project, check out this updated list – Tom’s Hardware.
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
Last Friday, Scott streamed work on CircuitMatter wrap up.
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.
CircuitPython Parsec
John Park’s CircuitPython Parsec this week is on Touchscreen Circles – Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
Project of the Week: Record Scratch SAO
The Record Scratch simple add-on (SAO) is a board with circular capacitive touch for digital scratching of vinyl records by Simen E. Sørensen – Mastodon Thread and Hackaday.io.
Popular Last Week
What was the most popular, most clicked link, in last week’s newsletter? You can actually run Linux on the RISC-V cores of the Raspberry Pi Pico 2’s RP2350.
Did you know you can read past issues of this newsletter in the Adafruit Daily Archive? Check it out.
New Notes from Adafruit Playground
Adafruit Playground is a new place for the community to post their projects and other making tips/tricks/techniques. Ad-free, it’s an easy way to publish your work in a safe space for free.
Display AIO+ Local Weather Conditions: MatrixWeather System – Adafruit Playground.
Pumpkins vs Skeletons Game for CircuitPython – Adafruit Playground.
PC media remote – Adafruit Playground.
News From Around the Web
Tired of hunting for the right flash_nuke.uf2 for your RP2040 or RP2350 based board? Your Pico, your Pico W, your Pico 2 W? That nightmare is over. Gadgetoid’s gift to the community: The Pico Universal Flash Nuke – GitHub.
Eye Following Halloween Prop – BN Embedded.
CircuitPython audiodelays.Echo guitar input demonstration on Raspberry Pi Pico 2 – YouTube and Code.
MicroPython no Dia das Bruxas (MicroPython on Halloween) – YouTube (Portuguese with translated subtitles available).
“I modded a Nintendo Zapper to add an ItsyBitsy RP2040, battery charger and 400 mAh battery, a speaker, and a NeoPixel to make a prop with a ‘muzzle flash’ and pew-pew sounds. It uses a magnetic USB connector and cable for charging and programming in CircuitPython” – BlueSky.
A Rasberry Pi Zero DIY Music Player – imgur via The MagPi.
A simple kitchen timer built with an Adafruit Propmaker RP2040 and a few rotary encoders and seven segment displays programmed in CircuitPython. It uses RP2040 deep sleep when not in use, only needing to be charged about once a month – BlueSky.
Build your own digital photo frame powered by Raspberry Pi and Python – XDA.
Making a game for the Worlds Smallest Console featuring the Raspberry Pi RP2040 & MicroPython – YouTube.
Next Level Python Applications with PyScript — Fabio Pliger & Chris Laffra (PyBay 2024) – YouTube.
Controlling a DHT11 temperature and humidity sensor on CircuitPython – YouTube.
TinyML based room occupation watcher with WIZnet W55RP20 and MicroPython – hackaday.io.
Driving 12864-06D display with CircuitPython on Pico 2 – YouTube.
A practical guide to ESP32 communication protocols – Rechrm.
Python’s GIL, multithreading and multiprocessing – The New Stack.
PHP vs. Python comparison for web development – DesignRush.
The top 5 Python Packages and what they do – The New Stack.
Stress-Terminal UI ( s-tui) monitors CPU temperature, frequency, power and utilization in a graphical way from the terminal – GitHub.
New
A new Waveshare ESP32-S3 board features a 1.91-inch AMOLED display and a QMI8658 6-axis motion sensor – CNX Software.
The 2024 Aerospace Village badge made for DefCon32. The badge is a self-contained ADS-B receiver and single board computer – Tindie.
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 four new boards added:
- PicoADK v2 – Audio Development Kit
- ESP32-S3 LCD Evaluation Kit v1.5
- iMX RT1011 Nano Kit
- ESP32-P4-Function-EV-Board
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
The Adafruit Learning System has over 3,000 free guides for learning skills and building projects including using Python.
Driving TM1814 addressable LEDs from Jeff Epler
CircuitPython Libraries
The CircuitPython library numbers are continually increasing, while existing ones continue to be updated. Here we provide library numbers and updates!
To get the latest Adafruit libraries, download the Adafruit CircuitPython Library Bundle. To get the latest community contributed libraries, download the CircuitPython Community Bundle.
If you’d like to contribute to the CircuitPython project on the Python side of things, the libraries are a great place to start. Check out the CircuitPython.org Contributing page. If you’re interested in reviewing, check out Open Pull Requests. If you’d like to contribute code or documentation, check out Open Issues. We have a guide on contributing to CircuitPython with Git and GitHub, and you can find us in the #help-with-circuitpython and #circuitpython-dev 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 503!
New Libraries
Here’s this week’s new CircuitPython libraries:
- adafruit/Adafruit_CircuitPython_INA3221
- adafruit/Adafruit_CircuitPython_TM1814
- adafruit/Adafruit_CircuitPython_USB_Host_MIDI
Updated Libraries
Here’s this week’s updated CircuitPython libraries:
- adafruit/Adafruit_CircuitPython_BLE
- adafruit/Adafruit_CircuitPython_ImageLoad
- adafruit/Adafruit_CircuitPython_Wiznet5k
Library PyPI Weekly Download Stats
Total Library Stats
- 1,726,566 PyPI downloads over 339 libraries
Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 32,620
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 23,366
- Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 19,567
- Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 18,980
- Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 17,121
- Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 16920
- Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 16,180
- Adafruit CircuitPython HTTPServer (adafruit-circuitpython-httpserver): 12,562
- Adafruit CircuitPython PortalBase (adafruit-circuitpython-portalbase): 11,963
- Adafruit CircuitPython Seesaw (adafruit-circuitpython-seesaw): 11,740
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in:
Dan
This past week I released CircuitPython 9.2.0-rc.0, in preparation for 9.2.0 final. I fixed several issues before rc.0, as did many other folks. One serious bug was noted in rc.0, in RP2350 PSRAM support, and I was able to fix that as well. I hope 9.2.0 final will be released early in the week this newsletter is published.
Tim
This week I’ve been added listings to circuitpython.org for several newly supported devices. I tested out a fix for the ImageLoad library that resolves an issue with certain kinds of PNGs. I also learned how to make custom animations for the LED Animation library in order to help someone on the forums who was having trouble creating a specific effect in a non-blocking way to get it working with several other animations in concert.
Jeff
This week my work included creating a CircuitPython library for the TM1814 RGBW LED chip. This library works on RP2040 and RP2350 micros including the Metro RP2040 & Feather RP2040. TM1814 is an alternative to NeoPixel, and this library uses the RP2’s PIO peripheral to drive them reliably and quickly.
Scott
This week I’m winding down my work because we’re having a baby in the next week. I’ve been picking away at CircuitMatter. I have two examples working on a Raspberry Pi Zero 2W. The first is an LED as an on/off light. The second is a NeoPixel as a full RGB light. Although Apple Home is able to change the state of the LED correctly, it gets a bit confused about the current state because we’re not sending the updated state back to it. So, I’m working on making “subscribe” work fully to send updates back to Apple home.
Liz
This week I worked on a guide for the new INA3221 breakout. It’s a STEMMA breakout that lets you monitor voltage and current for three different devices on three different channels. I also worked on a CircuitPython library for the sensor by porting the Arduino library.
Upcoming Events
Hackaday Superconference is an epic gathering of hardware hackers, makers, and tech enthusiasts happening November 1-3 in Pasadena, California – Hackaday and Eventbrite.
PyCon AU will be held from the 22nd to the 26th of November at the Melbourne Convention and Exhibition Centre (MCEC) in Narrm/Melbourne. Matt Trentini and Damien George will both be presenting on MicroPython – PyCon AU.
The next MicroPython Meetup in Melbourne will be on November 27th – Meetup. You can see recordings of previous meetings on YouTube. September’s meeting notes are here.
PyLadies Conference (PyLadiesCon) is a transformative event designed to promote diversity, learning, and empowerment within the Python community. December 6-8, 2024 online – PyLadies.
Send Your Events In
If you know of virtual events or upcoming events, please let us know via email to cpnews(at)adafruit(dot)com.
Latest Releases
CircuitPython’s stable release is 9.1.4 and its unstable release is 9.2.0-rc.0. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20241024 is the latest Adafruit CircuitPython library bundle.
20241005 is the latest CircuitPython Community library bundle.
v1.23.0 is the latest MicroPython release. Documentation for it is here.
3.13.0 is the latest Python release. The latest pre-release version is 3.14.0a1.
4,094 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.
38,382 Thanks
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,382 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, Instagram), 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.
Contribute
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Monday. 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.