View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! As more Northern Hemisphere Python folks take their vacations, the Raspberry Pi community are garnering additional headlines. EuroPython is coming in a week and it’ll be spectacular. I packed the In the News section this week for you to round things out. – 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:
Which Raspberry Pi Model To Buy In 2024: A Complete Guide
With so many Raspberry Pi buying options available, choosing the right one can be challenging. RaspberryTips explains the most important things to consider to help make the right choice for one’s needs – RaspberryTips.
Raspberry Pi Connect: Remote Shell Access and Support For Older Devices
Raspberry Pi is bringing Raspberry Pi Connect to even more devices. A new release includes remote shell access and support for all Raspberry Pi computers, whether they’re running Raspberry Pi OS 32-bit or 64-bit, going all the way back to the 2012 Raspberry Pi 1. This includes Raspberry Pi OS Lite, as well as versions of Raspberry Pi OS with the desktop.
The new remote shell feature in Raspberry Pi Connect enables you to launch a shell on your Raspberry Pi device from a web browser, over a secure connection (similar to SSH but more secure) – Raspberry Pi News.
A video review by Jeff Geerling – YouTube.
Maker of RStudio Launches New R and Python IDE
Posit, formerly RStudio, has released a beta of Positron, a ‘next generation’ data science development environment based on Visual Studio Code, specifically for both R and Python – InfoWorld.
A Terminal-Based Bluetooth Manager for Linux
bluetuith is a TUI-based bluetooth connection manager, which can interact with bluetooth adapters and devices. It aims to be a replacement to most bluetooth managers, like blueman – GitHub.
A Raspberry Pi 5 software patch boosts performance up to 18% via Non-Uniform Memory Access (NUMA) emulation for ARM64. The patch details were posted to a mailing list, and it appears to be around 100 lines in length – Tom’s Hardware.
How To Get Started With ESP-NOW
DigiKey has a tutorial on using ESP-NOW, a connectionless communication protocol developed by Espressif for transmitting packages between ESP32 boards without needing to establish a WiFi connection – DigiKey.
Feather of the Day Launched
Feather of the Day celebrates the Adafruit Feather ecosystem of programmable boards. Each day a new Feather board will be highlighted – Adafruit Blog.
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 Stemma G0 I2C Target.
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 the round GC9A01 display pinout – Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
The Bootloader
A monthly podcast loading you up with news, project updates, and product talk from the CircuitPython and maker communities. Hosted by Paul Cutler and Tod Kurt.
In the July 1st episode, Paul Cutler and Tod Kurt discuss new tutorial videos from Professor John Gallaugher about using CircuitPython with PyCharm and how to use circup to update CircuitPython libraries. In addition to other topics, the show also includes an interview with Justin Myers, the author of the new CircuitPython library, ConnectionManager – The Bootloader.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for June 24, 2024 (notes) on YouTube.
Project of the Week: The SPOKE Capacitive Touch Board
Tom Fox’s SPOKE board is an easy way to add up to 26 touch sensors to projects for interaction. Anything with capacitive potential can be connected to the pins and used to control computer inputs. Create your own USB MIDI device, game controller, key mapper or other computer interface device by attaching metallic objects, conductive inks, conductive threads, fruits, plants, vegetables, cutlery, car keys, mushrooms etc. or use it as a standalone device. The custom circuit board houses a Raspberry Pi Pico. USB MIDI and keyboard are accommodated via CircuitPython code on GitHub – Project Website, YouTube, and Adafruit Blog.
Popular Last Week
What was the most popular, most clicked link, in last week’s newsletter? The Best Python Cheat Sheet.
Adafruit Playground Notes – Document Your Projects
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.
News From Around the Web
Using AI to automatically drop hats onto New Yorkers – Adafruit Blog and dropofahat.zone.
Len Popp built a device to warn of potential Earth-threatening asteroids. It monitors NASA JPL’s Sentry web service using a Raspberry Pi Pico W and CircuitPython – Adafruit Blog, lenp.net and GitHub.
Porting Python to a terrible $3 smartwatch – YouTube.
A Divoom Pixoo LED display replacement with MicroPython – chebe.dreamwidth.org.
The ePiPod is a reimagined take on the iPod that’s powered by a Raspberry Pi and Python – XDA.
Sortify is an award-winning student project featuring automated waste sorting using Seeed Studio Wio Terminal, Raspberry Pi + BuildHAT, LEGO Mindstorms, Ultralytics YOLOv8, Roboflow for data labeling, Python, Adafruit CircuitPython, Grafana, and InfluxDB – X.
Connectionless messaging via Bluetooth Low Energy (BLE) with MicroPython – GitHub.
The last known issue for the ESP32-C6 implementation of MicroPython has been resolved – GitHub.
CardTuber is an electronic business card featuring an animated avatar coded in CircuitPython. It doubles as a maker badge for the Long Island Maker Faire. There is a MIC that picks up the volume, then the avatar will speak when the wearer speak – Hackaday via X.
ESP-HOSTED turns an ESP32 into a Linux WiFi/Bluetooth adapter – Hackaday.
An air quality monitor using an RP2040 and CircuitPython – X and YouTube.
WWDC24 video: Go Small with Embedded Swift. The description includes links to resources – YouTube.
Cyberfly, a Web 3.0 platform, releases Cyberfly MicroPython firmware to power microcontrollers like the ESP32 – X and GitHub.
Raspberry Pi Pico/Pico W free simulator: Wokwi – hackster.io.
Data logging with Raspberry Pi Pico and micro SD card using CircuitPython – YouTube.
Custom gauges using a TFT 240×320 ILI9341 display, Raspberry Pi Pico and CircuitPython – YouTube.
Making a calculator using Raspberry Pi Pico and MicroPython – YouTube.
Raspberry Pi Pico, get started and examples LEDs, PWM and ADC using MicroPython – YouTube.
Python FIFO Buffer Class for Audio – an Algorithm – HackerNoon.
New
SiFive Unveils Its Fourth-Generation “Essential” RISC-V Core Range — From 32-Bit MCUs to 64-Bit CPUs – hackster.io.
The Pico Display Base Board offers a simpler way to create Raspberry Pi Pico LCD projects – 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 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:
New Learn Guides
Adafruit HX711 24-bit ADC from Liz Clark
Updated Learn Guides
Adafruit UPDI Friend
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 488!
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
- 143862 PyPI downloads over 330 libraries
Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 11465
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 11336
- Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 9922
- Adafruit CircuitPython Register (adafruit-circuitpython-register): 2545
- Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1719
- Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1235
- Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1209
- Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1197
- Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1175
- Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1101
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 fixed three CircuitPython Espressif BLE bugs. Espressif BLE is now working well with multiple BLE peripherals. There’s one more bug to fix related to advertising the BLE workflow that’s causing big delays on ESP32. The number of CircuitPython 9.1.0 bugs is again getting close to zero.
Tim
This week I looked into an issue with the device specific board stubs and worked on a fix that allows them to be used with Python 3.9. I have also been continuing work on integrating the BLE workflow support into Circup / wwshell. I incorporated the first few basic PoC bleak scripts into the wwshell commands, right now listdir and read are implemented and working in my branch.
Jeff
I’ve spent the past few weeks learning about Zigbee. While the code I wrote as a result isn’t suitable for including in CircuitPython, I did put the code in a branch.
I used this prototype code on an ESP32-C6 devkit together with an Espressif Zigbee “light switch” built with ESP-IDF to toggle an LED on and off. It’s a simple demo, but it does show that there’s potential to integrate Zigbee or other protocols, based on 802.15.4, into CircuitPython.
Scott
I’ve been out off and on because family has been in town. I have been doing some flash debugging with the Saleae and tweaked their Simple Parallel analyzer to depend on a chip select signal. This improves analysis of captured QSPI flash traffic by the higher level analyzer because it had to guess when transactions ended based on clock gaps.
Liz
This week I worked on a guide for the HX711 breakout. It is a 24-bit ADC for strain gauges. I wrote a CircuitPython library to interface with the chip as well.
I’ve also been working on a PCB design for the Ikea Vindriktning air quality monitor. Ladyada discussed this a bit on her Desk of Ladyada stream. We’re putting together a PCB with an ESP32-S2 that will fit inside the housing and connect to the PM1006 sensor inside. To check the component clearance, I 3D-printed the board with the components. You can do this with Eagle and Fusion360 by following along with the guide by the Ruiz Brothers.
Upcoming Events
EuroPython is the oldest and longest running volunteer-led Python programming conference on the planet. This year it will be held July 8-14 in Prague – EuroPython 2024.
The next MicroPython Meetup in Melbourne will be on July 24 – Meetup. You can see recordings of previous meetings on YouTube. The June 2024 Meeting Notes are here.
PyOhio is being held July 27-28, 2024 in Cleveland, Ohio – PyOhio.
Espressif DevCon24 will be held Sep 3-5, 13:00-18:00 CEST. Call for presentations now – Espressif.
Maker Faire Bay Area returns to Mare Island Naval Shipyard on October 18-20, 2024 – Maker Faire.
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.0.5 and its unstable release is 9/.1.0-beta.3. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20240625 is the latest Adafruit CircuitPython library bundle.
20240625 is the latest CircuitPython Community library bundle.
v1.23.0 is the latest MicroPython release. Documentation for it is here.
3.12.4 is the latest Python release. The latest pre-release version is 3.13.0b3.
3,953 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.
39,069 Thanks
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 39,069 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.