View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! We’re now into spooky project season. If you are making Halloween (or really any) projects with Python/MicroPython/CircuitPython, send them in to CPnews(at)adafruit.com for inclusion in the next issue! That includes any Pythonic news! Raspberry Pi is still pumping out products and their stock is reflecting the success. Finally, the community has been super busy – check out the projects and more. – Anne Barela, Editor
We’re on Discord, Twitter, and for past newsletters – view them all here. If you’re reading this on the web, please subscribe here. Here’s the news this week:
Python 3.12.7 and 3.13 Release Candidate 3 Are Out
Two updates to the latest Python versions were released October 1st:
Python 3.12 is the newest major release of the Python programming language, and it contains many new features and optimizations. 3.12.7 is the latest maintenance release, containing more than 100 bugfixes, build improvements and documentation changes since 3.12.6 – Python Innsider Blog.
Python 3.13.0 release candidate 3 is the final release preview (no really) of 3.13. This release is expected to become the final 3.13.0 release, barring any critical bugs being discovered. The official release of 3.13.0 is scheduled for Monday, 2024-10-07 – Python Innsider Blog.
Note: Python 3.13 delayed by “drastic change” removal of incremental garbage collector – Dev Class.
Review: ESP32 MPY-Jama, an Excellent IDE for Using MicroPython on ESP32
Heikki Hietala was looking for an alternate IDE for MicroPython and found ESP MPY-Jama, a cross-platform tool designed to simplify development with Espressif ESP32 microcontrollers – Sabulo.
USB OTG High Speed Support for ESP32-P4 Merged Into TinyUSB
Espressif’s TinyUSB OTG High Speed USB support for their new ESP32-P4 microconntroller is now available in their release 0.15. Adafruit will be looking to get the changes upstreamed to use in CircuitPython – Adafruit Blog.
The EuroPython 2024 Videos and Playlist is Now Live
The EuroPython 2024 videos and playlist is now live on YouTube – YouTube.
Raspberry Pi AI Camera on Sale Now at $70
The Pi AI Kit is a powerful piece of hardware, capable of performing thirteen trillion operations per second. But it is only compatible with Raspberry Pi 5, and requires a separate camera module to capture visual data. Raspberry Pi announces a new addition to their camera product line: the Raspberry Pi AI Camera – Raspberry Pi News and The Pi Hut.
Tom’s Hardware Updates Their “Best Of” Lists
Normally I might not have included these but they list a lot of gear that Python on Hardware folks may be looking for. Maker and Pythonista Les Pounder compiles much of this and he has some good recommendations:
Best RP2040 Boards
Best RP2040 boards – Tom’s Hardware.
Best Stemma QT, Qwiic, and Grove Add-Ons for Raspberry Pi and Arduino 2024
Best Stemma QT, Qwiic, and Grove add-ons for Raspberry Pi and Arduino 2024 – Tom’s Hardware.
Best microSD Cards for Raspberry Pi 2024
MicroSD cards are a cost effective storage means for single board computers (SBC). At the time of writing, high performance 32GB micro SD cards can be picked up for $10! Tom’s Hardware tests to see which microSD card should you buy for your Raspberry Pi – Tom’s Hardware.
Best Raspberry Pi HATs 2024
Best Raspberry Pi HATs 2024: expansion boards for every project – Tom’s Hardware.
A Playing Card Sorter with LEGO, Raspberry Pi and MicroPython
Maker and Cambridge engineering undergraduate Louis Wood created an automated playing card sorter using a Raspberry Pi 4 with a LEGO Build Hat, programmed in MicroPython – Raspberry Pi News.
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 performed CircuitMatter testing.
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 Absolute Newest – Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for September 30th, 2024 (notes) on YouTube.
Project of the Week: A Control Box for Docking a SpaceX Capsule to the ISS
A Raspberry Pi Pico, a bunch of wiring, and CircuitPython was used by John Chinner to make USB control box to fly the SpaceX Dragon ISS docking simulator by pushing buttons to fire the thrusters. “I coded the Pico to act like a keyboard and send the appropriate keystroke when the (corresponding) button is pushed” – X.
Popular Last Week
What was the most popular, most clicked link, in last week’s newsletter? Arduino C++ vs MicroPython Smackdown.
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.
E-Ink Countdown in CircuitPython with Custom Stand – Adafruit Playground.
Creating Reduced Sized Bitmap Fonts From .ttf Files – Adafruit Playground.
News From Around the Web
STEMMA QT:Qwiic and the Circuit Playground + MCP9808 Temperature Sensor (CircuitPython School) – YouTube via Mastodon.
A comparison of the 12-bit Microchip MCP3208 ADC with the RP2040 ADC on a Pi Pico W (on a Cytron EDU PICO) for 0-50mV including techniques to improve the accuracy of the RP2040 ADC. The sample recording software is written in CircuitPython – Instructables.
Install CircuitPython on a LILYGO T-Display S3 Pro board – X.
Circuit Canvas, a circuit drawing program similar to Fritzing, has added layered components and labels with adjustable font sizes – Circuit Canvas.
Everything you need to know about Python 3.13 – JIT and GIL went up the hill – Drew’s dev blog.
Bradán Lane’s Christmas Coin includes a text adventure game. There is also enough hardware to run CircuitPython – enabling the coin to be a mini macro pad – X.
Raspberry Pi boosted by higher than expected profits – Adafruit Blog.
Demonstrating how to use CircuitPython on the STM32F412 Discovery board, a high-performance microcontroller board from STMicroelectronics – YouTube via X.
The Pi Cast (10/1/2024) featured the Pimoroni Pico Plus 2 W with Paul Beech – YouTube via X.
PicoSoundPlayer – using an RP2040 and PCM5100 with CircuitPython – YouTube via X.
Deep in the Raspberry Pi OS there is code hinting at the existence of the Raspberry Pi 500 keyboard form factor computer, based on Raspberry Pi 5 hardware – Hackaday and Tom’s Hardware.
A physics simulation with 100 particles on CircuitPython (without collisions) on an ESP32-S3. Pressing a button adds some random force opposite to gravity – X.
microdot: the impossibly small web framework for Python and MicroPython – GitHub.
A Python for Data Science cheat sheet – X.
ESP32 MicroPython tutorials – getting started with MicroPython on ESP32 uPycraft – YouTube.
5 products my Raspberry Pi can’t replace – XDA.
Generating infinite, age-appropriate Cat Crimes puzzles with Python – Robert Heaton and GitHub.
New
A review of the CrowView Note, a laptop form factor screen/keyboard/trackpad for Raspberry Pi 5 – The MagPi.
The Quartz64 Zero is a thinner, cheaper version of the Quartz64 Model B with a Rockchip RK3566T quad-core Cortex-A55 SoC clocked at 1.6 GHz, 1GB LPDDR4, and HDMI and USB ports. It has almost the same design as the Quartz64 with footprints for optional components. Two noticeable differences are the presence of the 20-pin PCIe connector compatible with the one found on the Raspberry Pi 5 instead of a mini PCIe socket, and WiFi 6 and Bluetooth 5.4 support instead of just WiFi 5/Bluetooth 5.0 – 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 are eight boards awaiting final entry on circuitpython.org.
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:
New Learn Guides
The Adafruit Learning System has over 3,000 free guides for learning skills and building projects including using Python.
PropMaker Jack O’Lantern from Ruiz Brothers
HID Reporter from John Park
itsSNAP Apple Health Status Board from Trevor Beaton
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 498!
New Libraries
Here’s this week’s new CircuitPython libraries:
Updated Libraries
Here’s this week’s updated CircuitPython libraries:
Library PyPI Weekly Download Stats
Total Library Stats
- 354,720 PyPI downloads over 334 libraries
Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 19,645
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 18,201
- Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 16,718
- Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 3,757
- Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 3,477
- Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 3,456
- Adafruit CircuitPython Register (adafruit-circuitpython-register): 2,986
- Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 2,975
- Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 2,411
- Adafruit CircuitPython Seesaw (adafruit-circuitpython-seesaw): 2,356
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in:
Dan
Last week, I finished updating CircuitPython to use the new Espressif ESP-IDF I2C driver, and solved a problem with the esp32-camera library which had also been updated to use the new driver.
This week I’m continuing to work on the remaining issues for CircuitPython 9.2.0 final.
Tim
This week I worked on some changes to the way that adabot’s actions that built the CircuitPython bundles work in order to make it not commit and push the results if the bundle build was not successful. In doing so it also came to light that a recent change to the way GitHub returns headers in some of their API responses caused a different issue for parts of adabot. I dug into the differing headers and GitHub documentation to understand the issue.
Jeff
After finishing up all my testing of the RP2350 (no terrible bugs found!) I also made a little countdown clock project, which I posted on the Adafruit Playground.
Scott
This last week I’ve continued through the Matter commissioning steps. I’m very close to completing the process. I assume the following step will be implementing the device type. My wife and I are expecting our second child in the next few weeks so we’ll see how far I can get before then.
Liz
This week I worked on another guide for using itsaSNAP. This time I used Matter devices in Apple HomeKit to use Adafruit IO to read and write data to them. I also wrote a CircuitPython example using a Feather ESP32-S3 Reverse TFT to display the data and control a light strip with the onboard buttons. I’m really loving using itsaSNAP and highly recommend folks experiment it.
Upcoming Events
Maker Faire Bay Area returns to Mare Island Naval Shipyard on October 18-20, 2024 – Maker Faire.
The next MicroPython Meetup in Melbourne will be on October 23rd – Meetup. You can see recordings of previous meetings on YouTube. September’s meeting notes are here.
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 presennting on MicroPython – PyCon AU.
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-beta.0. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20241004 is the latest Adafruit CircuitPython library bundle.
20241001 is the latest CircuitPython Community library bundle.
v1.23.0 is the latest MicroPython release. Documentation for it is here.
3.12.7 is the latest Python release. The latest pre-release version is 3.13.0rc3.
4,068 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,355 Thanks
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,355 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.