View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! A busy week as Halloween projects are popping up. CircuitPython 8 beta 2 is out with very usable WiFi on Raspberry Pi Pico. Adafruit founder Limor Fried will present at Espressif’s first development conference. Many other new projects and hardware plus much more. 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:
Espressif Developer Conference 2022 This Week With Ladyada
Espressif DevCon22 is the first official conference for Espressif developers. This two-day online conference October 19-20 will discuss products and solutions created by Espressif and its partners. You can expect over 30 talks on topics including Matter, RainMaker, ESP-IDF, Privilege Separation, Embedded Rust, Components Manager, Board Support Packages, 3rd-party frameworks, and more – Espressif.
Limor “Ladyada” Fried of Adafruit will speak about CircuitPython on ESP32 at 1900 Central European Time on October 19th – Espressif.
CircuitPython 8.0.0 Beta 2 Released!
CircuitPython 8.0.0-beta.2 was released! It is relatively stable, but there will be further additions and fixes before final release – Adafruit Blog.
Warning: The flash partitioning for the Raspberry Pi Pico W has changed since 8.0.0-beta.1. When you load 8.0.0-beta.2 over beta.1 (or vice versa), on the Pico W only, CIRCUITPY will be erased and reformatted.
Notable changes to 8.0.0 since 7.3.0
- Added WiFi workflow with browser-based device discovery, filesystem browsing, upload, download, file editing, serial/REPL connection.
- Added a one-line status bar, which displays connection status, last exception, and version on a terminal window title or on the top line of an attached display. Support for status bar display is also being added to the Mu and Thonny editors.
.env file in CIRCUITPY specifies WiFi connection parameters, BLE name, and other startup values.
os.getenv() values are set by values in
.env file. Values can be fetched from other
- WiFi functionality implemented on the Pi Pico W.
- Revised Espressif camera support, now available on ESP32, ESP32-S2, and ESP32-S3.
- Bulk analog input:
analogbufio (available only on RP2040 for now).
- Pin state can be preserved during deep sleep (available only on Espressif for now).
- Allow setting USB VID, PID, manufacturer, and product ids at runtime.
collections.deque on most builds.
WaveFile can now take a filename instead of an open file.
AnalogIn values are full range from 0 to 65535, instead of having zeros on low-order bits.
- In-place firmware update (
dualbank) capability may be disabled in favor of a larger CIRCUITPY drive.
Full Release Notes.
Join the Python Developers Survey 2022: Share and Learn about the Community
The Python Software Foundation (PSF) is conducting the sixth iteration of the official Python Developers Survey. The goal is to capture the current state of the language and the ecosystem around it. By comparing the results with last year’s, they can identify and share with everyone the hottest trends in the Python community and the key insights into it. The PSF encourages you to contribute to our community’s knowledge. The survey should only take about 10-15 minutes to complete.
The survey is organized in partnership between the Python Software Foundation and JetBrains. After the survey is over, the PSF will publish the aggregated results and randomly choose 20 winners (among those who complete the survey in its entirety), who will each receive a $100 Amazon Gift Card or a local equivalent – PSF.
Connect your Raspberry Pi Pico W to AWS IoT Core
Learn how to connect your Raspberry Pi Pico W board to AWS IoT Core using MicroPython and MQTT – hackster.io via Twitter.
Pulling News Headlines with Raspberry Pi Pico W and CircuitPython
Les Pounder wrote a short CircuitPython 8 program to get the latest headlines on Tom’s Hardware. Using the Raspberry Pi Pico W and WiFi, the news site is opened and the JSON feed is read in and the top five articles are printed – Twitter.
Desk of Ladyada – Making Add-On Boards for Raspberry Pi Pico: CowBells
Adafruit has got a fevah and the only cure is testing out the proto picowbell fabbed this week. This board got a little lonely over the few months as parts started to come in, but it’s been improved in the meantime – it now has both a reset button and a QT/Qwiic port and a nice silkscreen. Ladyada tries it it out with the new CircuitPython 8.0.0b2 release that adds Pico W WiFi support – YouTube.
Looking for Testers
River Wang writes:
Alpha version of the new CircuitPython online IDE is out! If you want to help me test it out, please visit https://urfdvw.github.io/cpy-ol-ide-tests/#. Sorry the GitHub repo is a bit messy right now. It is going public soon. For now, please use “Help->Feedback” to send me some suggestions – Twitter 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 a Pico W trivia app.
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 Deep Sleep – 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 latest episode was released October 17th and features Jim Mussared, a MicroPython maintainer – Show List.
Project of the Week: A Homemade HP 16C Calculator
A homerolled HP 16C implementation (work in progress) by u/someyob – Reddit.
A work in progress, including labels for the missing keys. Does its thing in RPN, of course. Right now, base conversion. Raspberry Pi Pico, 1602 LCD with level shifters, AliExpress keypads with rows wired together to create a 40-key keypad. Learning Python along the way with Adafruit’s CircuitPython.
Make faux Halloween flicker “fire” with Raspberry Pi Pico and CircuitPython – Adafruit Blog, Twitter and YouTube.
Kevin McAleer is currently printing out this mystery object… it has a Raspberry Pi Pico and a Pimoroni Display Pack 2.0 – Twitter and YouTube.
Halloween NeoPixel goggles using CircuitPython on an Adafruit Trinket M0 – Twitter.
News from around the web!
A homemade keyboard with firmware in CircuitPython – Twitter.
Generating terrain graphics on a LCD screen with MicroPython – Twitter.
Les Pounder at Tom’s Hardware checks out connecting to the internet with the Raspberry Pi Pico W and CircuitPython. He makes an “Astronauts on the ISS” list and pulled BBC News via their API – Twitter Thread.
Using a web app to draw on a Pimoroni NeoPixel RGB LED matrix with a Raspberry Pi Pico and MicroPython – Twitter.
Playing with some Dial Toner ideas with a SeeedStudio Xiao and CircuitPython – Twitter and GitHub.
An experiment with physical computing using the new micro:bit Python editor in a board game scenario – Twitter.
BurgerBot V2, a pen wielding robot with a Raspberry Pi Pico W programmed in MicroPython – Guide and YouTube.
The DFRobot Beetle is a new small form factor board powered by a RP2040 and has large pads to make soldering easier. MicroPython compatible – Twitter here and here and DFRobot.
MicroPython LCD driver code for the T-Display S3 – Twitter and GitHub.
A working concept for some configurable Feather breakout boards for some future microcontroller projects… any number of breakout boards can be chained through the edge castellations – Twitter.
Make a project for a Raspberry Pi Pico from your headless Raspberry Pi. A script that will get the basics of your project setup from a simple CLI command – Twitter and GitHub.
The Pdfalyzer is a Python tool for visualizing the inner tree structure of a PDF in large and colorful diagrams as well as scanning its internals for suspicious content – Reddit and GitHub.
Python Community News is a podcast, livestream, and newsletter that focuses on the Non-Pipable news in the Python Community.
Join Jon Banafato, experienced conference organizer, and Jay Miller, community organizer and advocate, each week as they look at the top stories affecting Pythonistas around the world.
You can tune in live every Friday at 6pm EST/3pm PST. If you miss them live you can check out the podcast or watch the VODs on YouTube – Python Community News via Twitter.
PyDev of the Week: Matthäus Chajdas on Mouse vs Python
CircuitPython Weekly Meeting for October 17, 2022 (notes) on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Free Python Books (pdf).
Coming Soon and New
PINE64 unveils the Ox64, a low-cost dual-core RISC-V Single-Board Computer with breadboard support. With 64MB of RAM and up to 16MB of flash, this low-cost embedded machine will run Linux or a RTOS in a Raspberry Pi Pico form factor – hackster.io.
ROCK 4 is a Single Board Computer (SBC) in an ultra-small form factor that offers class-leading performance while leveraging outstanding mechanical compatibility. The ROCK 4 offers makers, IoT enthusiasts, hobbyists, PC DIY enthusiasts and others a reliable and extremely capable platform for building and tinkering their ideas into reality – Review and Radxa.
Introducing the Pico Slice, combining the Raspberry Pi Pico with the Proto Toast idea, Breadstick Innovations has been working on a series of fun soldering kits that explore microcontrollers, CircuitPython, and STEM principles – Twitter.
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 three new boards added!
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!
Quick-Start the Pico W WiFi with CircuitPython from Liz Clark
Feather Freezer Door Alarm from Matthew Desmarais
Updated Learn Guides!
Using Servos With CircuitPython and Arduino
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 344!
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!
I released CircuitPython 8.0.0-beta.2 on October 13. It has much more complete Pico W WiFi support, courtesy Jeff, including SSL. There are also many other fixes and additions.
By upgrading to a newer version of the ESP-IDF, I was able to fix a couple of problems in the Espressif WiFi code, including a crash and a scanning problem. Unfortunately, this version does not yet fix the ESP32-S3 I2C problems we are seeing.
I am still chipping away at the remaining issues for the 8.0.0 final release.
This past week I worked on updating the Running TensorFlow Lite Object Recognition on the Raspberry Pi 4 guide so that it can now be used with the latest Bullseye release. This involved a lot of trial and error to find what settings played nicest together.
This week I worked on implementing the Bitmap.blit() function for Blinka_DisplayIO. This function exists in the core but and existed but without an implementation in Blinka DisplayIO. Adding it to Blinka_DisplayIO brings the API in line with core displayio and allows BitmapLabel from the adafruit_display_text library to work correctly. I also worked on various tests of WiFi functionality for the Pico W device and am making a few variations of a trivia game as a more complex example project for it.
I worked on solidifying the support for WiFi on the Raspberry Pi Pico W, as well as on a number of smaller Pull Requests and issues. The newest beta added SSL support for the Pico W and fixed several problems with dotenv that came up in the context of internet projects. We continue to ask users to test the Pico W and submit feedback via GitHub issues or on Discord.
This past week I worked on a guide to import the CLUE Custom Badge project into PyLeap. Since folks will be using PyLeap for this project, I included instructions on editing the code with the File Glider app to customize the badge. This is a great way for folks to use and edit CircuitPython projects without a computer.
I also updated the Arduino to CircuitPython guide. There was some guide feedback relating to updates that have occurred with CircuitPython over the last few releases so everything should be up to date now.
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.
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.
20221017 is the latest CircuitPython library bundle.
v1.19.1 is the latest MicroPython release. Documentation for it is here.
3.10.8 is the latest Python release. The latest pre-release version is 3.11.0rc2.
3,220 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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 35,688 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.