View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! The Raspberry Pi Pico W excitement is calming down a bit and there are a number of Python events like EuroPython just concluding. The community is looking to keep cool in the Northern hemisphere with record heat, some doing so by building projects while looking to stay cool indoors. Do you have news? Send it anytime to cpnews(at)adafruit(dot)com for consideration for upcoming issues.
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:
The PyFive RISC-V ASIC Project
The PyFive project is creating a community-driven, RISC-V-based microcontroller with the ability to easily support CircuitPython and MicroPython. They’ve been documenting progress on hackster.io – hackster.io via Twitter.
The team is fundraising to pay for an engineering team to work on the PyFive ASIC – GroupGets.
Raspberry Pi Staff Make RP2040 Lightsabers
The crew at Raspberry Pi Towers made Star Wars lightsabers using Adafruit RP2040 Feather boards with the Propmaker FeatherWing, CircuitPython and 3D printing – Raspberry Pi News.
The design is based on the Adafruit tutorial Prop-Maker Lightsaber, changing out the Feather M4 Express with the RP2040-based Feather.
Adafruit Working on New Raspberry Pi Pico Add-on Boards: Bells
Adafruit is working on new add-on boards for the Raspberry Pi Pico form factor. Quote: “whenever we start making add-ons we always do a protoboard first, and so it is that this is Adafruit’s first design for a RasPi Pico add-on. it’s the simplest and ‘cheapest’ to start” – Twitter.
With a wide variety of names for add-on boards: shields, capes, FeatherWings, HATs, gizmos, etc., Adafruit wanted a name for their line of boards.
As the new Pico W is being dubbed the “Picow” by the community, cow-themed ideas are being used. Adafruit, after consideration, announced on their Ask an Engineer show, Top Secret segment, their add-on boards will be called “bells” (like cowbell) – Adafruit Top Secret.
Nicholas Tollervey at EuroPython 2022 Conference
Pythonista Nick Tollervey gave a talk at the EuroPython conference recently, titled “Music and Code”, using Python and Mu, the editor favored by CircuitPython users – EuroPython 2022.
PyPI 2FA Security Key Giveaway
In order to improve the general security of the Python ecosystem, PyPI has begun implementing a two-factor authentication (2FA) requirement for critical projects. This requirement will go into effect in the coming months.
To ensure that maintainers of critical projects have the ability to implement strong 2FA with security keys, the Google Open Source Security Team, a sponsor of the Python Software Foundation, has provided a limited number of security keys to distribute to critical project maintainers.
Eligible maintainers will be able to redeem a promo code for two free Titan Security Keys (either USB-C or USB-A), including free shipping – PyPI.
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 was looking at a CircuitPython powered tablet.
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 List Sorting – 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, Blog Post and Twitter.
The show is off this week. Last week featured Nicholas Tollervey, the creator of Mu and circup, and next week long time CircuitPython community member and contributor Kevin Matocha joins the show. Show List.
This week’s Chip Shortage segment focuses on the ST HTS221 Capacitive Humidity and Temperature Sensor – YouTube and Adafruit Blog.
Project of the Week: Picodeck
Picodeck uses TinyUSB to turn a Raspberry Pi Pico into a device that works with Elgato’s Stream Deck software – GitHub.
Colin Edwards wanted to control Elgato Stream Deck much like the official pedal sold by the company. Using Wireshark with the Elgato pedal helped to determine the communication method of the commercial hardware.
Based on the Adafruit tutorial Three Button Foot Switch. You may read more on Hackaday.
News from around the web!
PicoTouch HMI is a Raspberry Pi Pico Carrier for Human-Machine Interface Projects. A single-board design hosting the Raspberry Pi Pico as a surface-mount module, the PicoTouch HMI packs a keypad, screen, speaker, and more with CircuitPython library support – Twitter, YouTube and Hackster.io.
Simulating Raspberry Pi Pico running CircuitPython and some virtual NeoPixels, completely in the browser – Twitter.
A Raspberry Pi Pico-based Pong game with a Pimoroni Pico Unicorn HAT and MicroPython – Twitter.
One-shot IR Helper uses a Raspberry Pi Pico with MicroPython as a very simple IR transmitter. Send the code you need based on any trigger you define – Hackaday.io and Hackaday.
Dr. Patrick Kavanagh at EuroPython 2022 discussing the Pythonic genius behind the James Webb telescope – Twitter.
Simple shadow detector using Adafruit PyPortal’s analog light sensor phototransistor. Automatic background light compensation and anti-flicker filter. Needed a way to turn off the TFT backlight of the workshop IoT corrosion monitor to keep things cool – Twitter.
Oh yeah, these 256×64 grayscale OLED displays are nice. (They) look like a VFD but low power & they are still being made, wide viewing angle, fast to refresh, SPI, supported by CircuitPython (this demo running on a Raspberry Pi Pico) – Twitter.
A desktop Webb telescope image viewer with a Raspberry Pi Zero and display, using CircuitPython – Twitter.
A temperature display with a Raspberry Pi Pico, W, Pimoroni Pico Display and MicroPython – Twitter.
Raspberry Pi Pico W lets your houseplant text you using a Pimoroni Grow Kit, Adafruit Perma-Proto HAT and MicroPython – Raspberry Pi News.
Using a Raspberry Pi Pico W with a Pimoroni Inky display, grabbing information from Trello with MicroPython – Twitter.
A Ghostbusters PKE meter which scans for WiFi signals using a Raspberry Pi Pico W, 3D printed case and MicroPython – Twitter.
Adding custom functions to MicroPython’s “pyboard.py” to write bin files to PicoGraphic’s buffer – Twitter.
Monitoring pool temperatures (air, surface, bottom) with Raspberry Pi Pico W – Twitter.
Folks are discussing file write speeds on Micro SD cards – MicroPython Forum.
Python-Script-to-Executable is a GitHub Action that builds stand-alone Windows, Mac, and Linux executable binaries from a Python script using the nuitka Python compiler – GitHub and LinkedIn.
tio is a simple serial device tool which features a straightforward command-line and configuration file interface to easily connect to serial TTY devices for basic I/O operations. It’s recently received a rare update – GitHub via Hackaday.
Technical Things Every Software Developer Should Know About – GitHub via Twitter.
PyDev of the Week: Reindert Jan Ekker on Mouse vs Python
CircuitPython Weekly Meeting for July 18, 2022 (notes) on YouTube.
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Make Humble Book Bundle – pay what you want.
Add high-quality motion, direction, and orientation sensing to projects with this all-in-one 9 Degree of Freedom (9-DoF) sensor with sensors from ST. This little breakout contains two chips that sit side-by-side to provide 9 degrees of full-motion data. The board includes an ST LSM6DS3TR-C (a.k.a LSM6DS3), a great entry-level 6-DoF IMU accelerometer + gyro – Adafruit.
Orange Pi 5, with the RK3588S Chip (Quad A76 + Quad A55 ARM cores) – MiniMachines.
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 the works.
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!
Owl IR TV Remote from Noe and Pedro
Super Simple Sunrise Lamp from Carter Nelson
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 357!
Here’s this week’s new CircuitPython libraries:
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!
Building on a large amount of work by Dan, I was able to find one big remaining problem with the new ESP32 port. Now, a lot of things work with the Adafruit Feather ESP32 V2 and the experimental version of CircuitPython, and I’ll be fixing more as the week continues. As of now it’s possible to connect with a terminal program or Thonny and do a lot of basic tasks including I2C,
This past week has been focused on non-CircuitPython related work. I have been helping out with adding WipperSnapper Setup and Usage pages to supported board guides. I’ve found bugs both in the background and the UI (all of which have been fixed!). I’ve also helped out with making a Usage template that works with the rest of the boards (the first two were for Feather and QT Py). I’ll be continuing to work on that until I get through the rest of the boards on my list.
This last week, I spent a lot of the time learning and adding some GitHub Actions to the WipperSnapper code base that was able to look at some JSON files to get some parameters for different boards and process the board differently. This was to fix an issue where the separate files were having trouble being written to board, but a combined file worked fine.
I continued worked on the Octopus Game & Watch game and the guide covering it. I also cleaned up the web workflow edit page implementation and submitted a PR with it. I’ve received and started looking into an ESP32-S3 based tablet device made by a community member, I’ll be trying to solve a few issues and get it into a state where it could be PR’d to add to CircuitPython core. First step is trying to get the branch for it building in my local environment.
This week I’ve wrapped up WebSocket serial support. It’s working pretty well, even on mobile. After that, I’ve been working on making the web workflow on boards without displays. Thanks to RetiredWizard for helping debug this. I’ve got a PR out to fix it but they are still seeing some issues (though it’s better than what is checked in now I think.) I’m also working on supporting changing the port of the HTTP server so that user code can use 80. While I was at it, I also tweaked the start up code so it doesn’t require a full-reset for password and port changes to take effect. It’s all getting close! It’s also very cool to see on the ESP32.
This week I worked on the NAU7802 Food Scale project. It was a fun challenge to learn about and code up a reliable calibration process for the sensor in CircuitPython. Next, I’ll be turning it into an IoT with Azure. I think it will be good to show an inventory IoT project. I’m also working on documenting some new STEMMA boards, like the LSM6DS3TR-C accelerometer.
The next MicroPython Meetup in Melbourne will be on July 27th – Meetup. See the slides of the June 22nd meeting.
PyOhio is a non-profit annual Python community conference usually held in Columbus, OH. It is being held online starting Saturday, July 30, 2022. It is free to attend and welcomes anyone with an interest in Python. Content ranges from beginner to advanced and is intended to be relevant to all types of Python users: students, software professionals, scientists, hobbyists, and anyone looking to learn more – PyOhio.
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.
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.1# and its unstable release is 8.0.0-alpha.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20220715 is the latest CircuitPython library bundle.
v1.19.1 is the latest MicroPython release. Documentation for it is here.
3.10.5 is the latest Python release. The latest pre-release version is 3.11.0b4.
3,095 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 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.
Job of the Week
Hardware Engineer (potential for full time CTO) – BRIGHT (smart rings) – Adafruit Jobs Board.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 34,987 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.