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,867 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 long awaited CircuitPython support for the Raspberry Pi Pico W is arriving in the latest beta releases. Projects are already taking advantage and expect a new beta soon with even more capability. Linux hits version 6 with more Arm support. A whole host of projects astounding projects are also featured. Please enjoy this issue! – Ed.
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:
CircuitPython Support for Raspberry Pi Pico W Hits Version 8-beta.1
Work on the CircuitPython support for Raspberry Pi Pico W has reached the point where it has been released on circuitpython.org. While not feature-complete in CircuitPython 8.0.0-beta.1, it is usable for several types of WiFi use. It is currently being actively worked on by Adafruit – circuitpython.org.
Liz posts about trying out WiFi on Pico W – Twitter.
Linux 6.0 Arrives Supporting Newer Chips, Core Fixes, and More
A stable version of Linux 6.0 is out, with 15,000 non-merge commits and a notable version number for the kernel. And while major Linux releases only happen when the prior number’s dot numbers start looking too big—”there is literally no other reason“ — there are a lot of notable things rolled into this release.
Lenovo’s ThinkPad X13s, based on an ARM-powered Qualcomm Snapdragon chip, get some early support in 6.0. ARM support is something Linux founder Linus Torvalds is eager to see and believes that more people using Linux on ARM devices leads to more bug reports, more patches, and more enthusiasm – Adafruit Blog and Ars Technica.
Anne Barela on the Alpenglow Solder Sesh Videocast
Anne Barela, a member of the CircuitPython Team at Adafruit (and your newsletter editor) appeared on the Alpenglow Industries Solder Sesh #45 on October 6th. Anne and Alpenglow founder Carrie discussed CircuitPython, Circuit Playground boards, and much more – YouTube.
Making a Talking Macintosh with CircuitPython
A talking Mac SE! It is set to speak any message it receives using a USB wombat and Adafruit Metro ESP32-S2. It is controlled through Home Assistant using MQTT, using CircuitPython. “My friend set the Mac up to boot to the speech program so it’s going to be part of our tour.” – Discord and GitHub.
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 debugging an issue with BitmapLabels and Blinka_DisplayIO.
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 Boot_Out.txt – 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 show is off this week. Last week featured Bradán Lane, who shared how he uses CircuitPython to create a number of products, including the JoyPad and LumosRing. In the next episode coming this Monday, Jim Mussared, a MicroPython maintainer, joins the show – Show List.
Project of the Week: Tiny Orb
Tiny Orb is done! A tiny 4×4 NeoPixel ball by GeekMomProjects is a marvel of compactness. It uses a SeeedStudio Xiao board running CircuitPython. A 5×5 ball is promised next – Twitter Thread and GitHub.
News from around the web!
A Raspberry Pi Pico D&D keyboard with Raspberry Pi Pico and CircuitPython- Adafruit Blog, YouTube and Tom’s Hardware.
LoRa point to point communications with CircuitPython on MaPIE LoRa RP2040 boards – Leon Anavi.
Galdeano is a Python handheld computer with a complete keyboard and a symbolic math engine inside – hackaday.io.
A list of text-only news sites. Handy when looking for information for display by microcontrollers – Greycoder.
Using a Feather ESP32-S2 with an RGB matrix display and FeatherWing with CircuitPython – Twitter.
Raspberry Pi was at Maker Faire Rome and posted using MicroPython on a Pico W lighting NeoPixels – Twitter.
Updated – CircuitPython School Video: Build a DJ Board with CircuitPython audiomixer – YouTube.
A “Ghost Detector” in time for Halloween with micro:bit and MicroPython – Twitter.
A new video on the micro:bit Python editor – YouTube.
Starting to think about future CircuitPython camera support. This is a test of a green screen filter for WeatherLars on an Adafruit PyPortal using the PaletteFilter library. It is also available in the Community Bundle – Twitter and GitHub.
IR reflective sensor and Raspberry Pi Pico: RPR-220 with MicroPython – peppe80.
PythonBytes Episode #304: Build your own text adventure language in Python – PythonBytes.
Easily Create a Custom Macro Interface with the Raspberry Pi RP2040. Uses an Adafruit KB2040 and CircuitPython – Embedded Computing Design.
Almost finished, but if I’m not going to post this in World Space Week when am I? This uses APOD data: Music is MIDI data generated from the picture using Python, processed in Live Runs on a Raspberry Pi Pico programmed in MicroPython – Twitter.
A 3D printed animated skeleton with MicroPython – Guide and Twitter.
A rotary encoder based scroll wheel with CircuitPython – Twitter.
Making a WiFi + Ethernet project with Raspberry Pi Pico W, a Wiznet W5100S Ethernet Hat and CircuitPython 8 beta – Twitter and GitHub.
Using a Raspberry Pi Pico W to log data from BME280 and ENS160 sensors to Adafruit IO with CircuitPython – Twitter.
An LED matrix clock coded in MicroPython on a Raspberry Pi Pico W getting the time from the internet – Twitter.
Remove an image background using Python – Twitter and YouTube.
Issue #98 of Keyboard Builders’ Digest, a weekly round-up of DIY keyboard related news and tips, is out – kbd.net.
Building macOS Apps with Python – Adafruit Blog and YouTube.
13 free Python PDF books – Twitter.
PyDev of the Week: NAME on Mouse vs Python: Sybren Stüvel
The CircuitPython Weekly Meeting will be held on October 11th due to a US holiday October 10th.
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? You Can’t Buy a Raspberry Pi — Why?.
New
The Pimoroni Automation 2040 W Mini is a compact Pico W / RP2040 powered monitoring and automation board. It has a host of useful features for controlling other bits of electronic and industrial kit – analog channels, powered outputs, buffered inputs and a relay. Perfect for controlling fans, pumps, solenoids, chunky motors, electronic locks or static LED lighting (up to 40V). Programmable in MicroPython and C/C++ – Pimoroni.
ANAVI Macro Pad 10 & Knob boards use SeeedStudio Xiao RP2040 and CircuitPython via KMK firmware – CrowdSupply via Twitter.
Banana Pi posts a video asking if a BPI-PicoW-S3 install and using the Mu editor with CircuitPython is better than with a Raspberry Pi Pico W – YouTube.
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 new boards!
- STM32F446RE Nucleo
- Challenger RP2040 WiFi/BLE
- Challenger RP2040 SubGHz
- Lichee RV Dock D1
- Orange Pi 4
- Orange Pi 4 LTS
- SIMATIC IOT2050
- SIMATIC IOT2050 Advance
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!
Darth Faders from John Park
Cheekmate – a Wireless Haptic Communication System
Updated Learn Guides!
CircuitPython Libraries!
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 339!
New Libraries
Updated Libraries
- Adafruit_CircuitPython_ESP_ATcontrol
- Adafruit_CircuitPython_INA260
- Adafruit_CircuitPython_LIS331
- Adafruit_CircuitPython_Colorsys
- Adafruit_CircuitPython_turtle
- Adafruit_CircuitPython_SI5351
- Adafruit_CircuitPython_RA8875
- Adafruit_CircuitPython_VL53L0X
- Adafruit_CircuitPython_PIOASM
- Adafruit_CircuitPython_LTR329_LTR303
- Adafruit_CircuitPython_NTP
- Adafruit_CircuitPython_Fingerprint
- Adafruit_CircuitPython_Display_Shapes
- Adafruit_CircuitPython_TCA8418
- Adafruit_CircuitPython_SI1145
- Adafruit_CircuitPython_Simple_Text_Display
- Adafruit_CircuitPython_GPS
- Adafruit_CircuitPython_SSD1306
- Adafruit_Blinka_bleio
- Adafruit_Python_PlatformDetect
What’s the team up to this week?
What is the team up to this week? Let’s check in!
Dan
I released CircuitPython 8.0.0-beta.1 on October 1. Given the speed with which Jeff is improving the Pico W WiFi implementation, I expect to do another beta release soon.
I improved dotenv parsing, to make it match the CPython version more closely. I also added a test, which Jeff improved to run automatically.
The Module Support Matrix in the ReadTheDocs documentation for CircuitPython lists which native modules are available on which boards. It was missing a few modules, and I added those: _asyncio
, array
, builtins
, collections
, io
, select
, and sys
, all of which link to the appropriate documentation.
I am now investigating some Espressif WiFi problems, aided by a lot of testing from the community.
Kattni
This week I continued on the LTR-329 and LTR-303 guide. There was a fix to both the Arduino and CircuitPython libraries that came in with good timing, as I had not yet started those sections of the guide.
I also tested issue #6676 on the CircuitPython core. This was an issue someone experienced regarding running TimeAlarm
and PinAlarm
together. Turns out the issue was never with running them together, but with a particular way PinAlarm
expects to be set up. I closed that issue as resolved and created a new issue regarding the actual problem.
Melissa
This past week I decided to take a break from working on the CircuitPython Code Editor and turn my attention back to Raspberry Pi OS Bullseye and Picamera2 now that a newer version of Raspberry Pi OS has come out with it included. My goal was to update the Running TensorFlow Lite Object Recognition on the Raspberry Pi 4 guide, but it ended up being quite a rabbit hole. I was able to mostly get the code updated to work in the desktop environment, but with lots of testing, it doesn’t appear to currently run on Raspberry Pi OS lite. I will keep working on a few other things before getting back to the Code editor.
Liz
This past week I worked on a CircuitPython Controller for Trombone Champ. Trombone Champ is a fun rhythm game similar to Guitar Hero but featuring a trombone. A lot of folks have been making custom controllers, so we thought it’d be fun to make a CircuitPython one using a NeoSlider and an arcade button with a QT Py RP2040.
I also worked on adapting the Easy No-Soldering Bluetooth Controlled Room Lights project for the CLUE and imported the project into PyLeap and wrote up a guide for it. The project uses the Bluefruit Connect app to control a strip of NeoPixels by using the controller and color wheel modules to change the color or animation. For the CLUE, I added that the animation name or RGB color code is displayed on the screen.
Upcoming events!
The next MicroPython Meetup in Melbourne will be on October 28th – Meetup. See the slides of the September 28th meeting.
October is Open Hardware Month – OSHWA.
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.
Latest releases
CircuitPython’s stable release is 7.3.3 and its unstable release is 8.0.0-beta.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20221010 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,209 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.
Job of the Week
Wearable Medical Device Development – Medical Device Development – Adafruit Jobs Board.
35,637 thanks!
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,637 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.
Contribute!
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.