View this email in your browser. Note: Flashing Imagery.
Welcome to the latest Python on Microcontrollers newsletter! Some milestones this issue including 300 Adafruit contributed libraries for CircuitPython (not counting those contributed by the community). Also the Adafruit Twitter community reached 200,000 followers. The Raspberry Pi Pico W continues to be a popular board for makers to use in their projects. And finally, don’t forget CircuitPython Day is August 19th – if you have an event, send it in to the organizers!
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:
Milestone: 300 Adafruit CircuitPython Libraries
A major milestone! Adafruit has written 300 Adafruit libraries for interfacing to CircuitPython – drivers, helper functions & more.
Adafruit invests time and money into providing free, open source code to help you use Adafruit products and much more, in the hope you buy some of your project gear from Adafruit. You can support Adafruit’s efforts by buying Adafruit products.
The Adafruit CircuitPython Library Bundle contain the current libraries available for CircuitPython. CircuitPython libraries are separate files designed to work with CircuitPython code – Adafruit Blog, GitHub PR and CircuitPython Library Download Page.
GitHub Sponsors expands globally with 30 newly supported regions, bringing the total to 68 – GitHub Blog.
“We now officially support maintainers joining GitHub Sponsors from Argentina, Bolivia, Chile, Colombia, Costa Rica, Croatia, Dominican Republic, Egypt, Gambia, Gibraltar, Hungary, Iceland, Indonesia, Israel, Kenya, Liechtenstein, Morocco, Paraguay , Peru, Philippines, Saudi Arabia, Serbia, South Africa, South Korea, Thailand, Trinidad and Tobago, Tunisia, Turkey, UAE and Uruguay.”
If you are a maker and looking to bolster your income via sponsors, you have a broader audience.
CircuitPython Day – August 19, 2022
Friday August 19 (8/19/2022) is CircuitPython Day 2022, being designated the snakiest day this year! The day highlights all things CircuitPython and Python on Hardware.
Below is the latest on events that are developing. Firm times and additional events will be posted in subsequent posts.
Special events will be held during the day – the following is a summary of events known to date:
- A panel discussion with Kattni, Jeff, Dan, and Tim. Hosted by Paul Cutler. More details coming soon!
- A chat with Jeff, Dan and Kattni. This will be the third year in a row that Jeff, Dan and Kattni will sit down and chat about their involvement and latest favorite contribution to CircuitPython.
- Special Edition CircuitPython Themed Show and Tell, hosted by Liz Clark. Details are still being solidified, but start prepping your CircuitPython related projects if you’re interested in participating!
- CircuitPython Project Build with Maker Melissa
Join Maker Melissa on her first ever livestream. This project will be a simple robotics project that uses the Adafruit CLUE to add Bluetooth control to the Ring:bit Buggy robotic car.
Foamyguy CircuitPython Day Game Jam Stream:
On CircuitPython Day, I’ll be combining two of my favorite things, CircuitPython and Games. I will stream the making of a CircuitPython game jam game. My goal will be to make a basic but playable and fun game within the time constraints of a few hours, and I’ll be streaming the process. After the stream, I will publish the code to the game so folks can play on their own CircuitPython devices.
11:00 AM EDT/5:00 PM CEST Reimagining IoT Deployments with CircuitPython
Adafruit’s CircuitPython has helped open up the IoT and place it within reach of developers of all types. Join blues.io on CircuitPython Day as we look at:
- Getting Started with CircuitPython and Wireless IoT
- Walking Through a Real World CircuitPython-based IoT Project
- Remotely Updating CircuitPython Firmware with Cellular IoT(!?!)
Register for this particular event here, sponsored by Blues Wireless.
Working with CircuitPython? Tag your projects #CircuitPythonDay2022 on social media and Adafruit will look to highlight them.
Do you have events you’d like to have folks attend or have projects in the works? Email your thoughts to circuitpythonday(at)adafruit(dot)com – Adafruit Blog.
PyOhio Talks Including One by Kattni on CircuitPython
PyOhio2022 had some great talks last week. One was “Simplicity and Fun: Learning with CircuitPython” by CircuitPython Team Member Kattni – YouTube and Twitter.
See the entire playlist – YouTube
Wordle on the Badger 2040
Simon has coded the popular game wordle on a Pimoroni Badger 2040 in MicroPython – GitHub via Twitter.
Help Test New Firmware for the micro:bit
In collaboration with Arm, micro:bit is releasing the first beta of the micro:bit V2.00 firmware built with the GCC open source toolchain. They need your help testing it out to find any bugs before it’s launched – Adafruit Blog.
Adafruit reached a major milestone this past weekend, exceeding 200k Twitter followers. Thank you to the Adafruit community for sharing projects, checking out our blog posts and learn guides, and as always – for being excellent to each other – Adafruit Blog and Twitter.
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 Octopus Game final touches.
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 discotool – 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 Kevin Matocha, who shared his HACKtablet and TinyUSBFriend projects. Next week features Joshua Lowe, creator of EduBlocks – Show List.
Project of the Week: LED Headband
CircuitPythonista GeekMomProjects on Twitter documents making a colorful LED headband – Twitter Thread.
“Printed in PETG on a Prusa MINI+. Electronics are a XIAO nrf52840 Sense (hope to add sound/motion reactivity & Bluetooth control) powered by a super slim 400 mAh LiPo. It currently runs patterns from the CircuitPython LED animations library.”
News from around the web!
Using an Adafruit M4 MatrixPortal and CircuitPython to show LIVE blood sugar readings on a large display, powered by a Nightscout Project
server – Twitter and TikTok.
Using an LED as a photodiode with Raspberry Pi Pico and MicroPython – Twitter Thread.
Programming a MacroPad in CircuitPython – WebJess’ Blog via Twitter.
“Followed an excellent tutorial by John Park and built a CircuitPython Adafruit RP2040-powered Fallout Pip-Boy. Fun summer project for my 15yo programmer and me! Now we’re porting to PyPortal with touchscreen” – Twitter.
Doom running an an EMFCamp Tidal Badge based on an ESP32-S3 which runs MicroPython – Hackaday and GitHub.
Romilly is writing a Getting Started with MicroPython guide – Twitter.
Getting an old railway station clock working with a Raspberry Pi Pico W and MicroPython – The MagPi Magazine.
A Raspberry Pi Pico birthday candle created by VEEB Projects in honor of Switzerland’ birthday – YouTube, GitHub via Twitter.
“PewPew game running on MicroPython in the browser! It kinda works, but it’s pretty unstable” – Twitter.
“The Awesome MicroPython page has a shiny new social preview – find lots of resources to learn, explore, and to level up your MicroPython projects” – GitHub via Twitter.
An IoT fridge magnet – the Adafruit MagTag, using CircuitPython to serve up inspirational quotes – Twitter.
ESP32-S3 and CircuitPython driving an SSD1331 SPI color OLED – YouTube and code.
“Who wants tiny WiFi fire in their pocket? I’m excited to see CircuitPython is almost ready to roll on ESP32-C3 with web GUI to update files! The board is that bedazzled ESP32C3 from 01Space” – Twitter.
Use Raspberry Pi Pico to revive an old Sony PlayStation – Raspberry Pi News.
Log motion sensor events to Google sheets using a Raspberry Pi Pico W – YouTube via Twitter.
Community members Kmatch and Foamyguy have organized a giveaway of ESP32-S3 CircuitPython-powered Hack Tablet devices. First winners to receive tablets will be chosen 8/3/22 – Gist and YouTube.
Revealing the house advantage in online casino games with Python and OpenCV – Twitter Thread.
Important methods in Python – LinkedIn
PyDev of the Week: PyDev of the Week: Stefanie Molin on Mouse vs Python
CircuitPython Weekly Meeting for August 1, 2022 (notes) on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Book: Data Structures and Algorithms in Python.
Work in progress: ANAVI Macro Pad 10 with Seeedstudio XIAO RP2040 Coming soon at Crowd Supply – Twitter.
- 9 hot-swap mechanical switches
- Rotary encoder
- WS2812B under lighting
- Open Source KMK firmware written in CircuitPython
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!
IoT Food Scale with Azure and CircuitPython from Liz Clark
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 Adafruit and community contributed CircuitPython libraries is 360!
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!
This past week I debugged some ESP32SPI-related problems, which were due to MQTT timeouts and not handling certain exceptions. I revised a number of Learn Guide projects to fix these potential issues.
I’ve now gone back to working on the ESP32 port, and am currently debugging builds for boards with no PSRAM available.
I handed back the ESP32 port to Dan so that I could finish up a guide called Using QMK on RP2040 Microcontrollers. When I returned to CircuitPython land, I started working on some updates to the camera support on Espressif microcontrollers that has since turned into a full rewrite. We hope that when it’s done, we’ll be able to use a wider range of cameras on ESP32, ESP32-S2 and ESP32-S3 boards with a new API.
This was another short week for me. I focused on getting the final WipperSnapper pages completed. Other than that, I finished up a bunch of miscellaneous items I had hanging around or recently assigned.
In CircuitPython Day news, I’m continuing to add more content. Next week I’ll be spending more time on planning, and I’m hoping to have a tentative schedule available soon! Keep an eye on it here.
This past week, I’ve spent most of my time working on refactoring code.circuitpython.org in order to accommodate additional workflows. Part of it was re-familiarizing myself with the existing code and then coming up with a plan about how it should work and the steps I needed to get there. Once that was figured out, the refactoring itself was relatively quick. While the interface is still almost exactly the same at this point, the underlying code structure is now quite a bit better and more loosely coupled.
This week I continued working on the Octopus game guide and adding comments to the code for it. I believe the game is now set save for some smaller details like potentially highscore saving. I’ve also still been working on the Hack Tablet build of CircuitPython that is adding dot clock display support for displayio. The giveaway for these tablets was officially announced this week and entry form is available now for those that wish to enter for a chance to receive one.
This week I’ve been improving the web workflow. I’ve just about finished adding dynamic reconfig and changing the port. I improved the responsiveness of the workflow so that it responds as other code is running. I’ve tweaked the C3’s serial transmit code to improve reliability. Currently, I’m reworking the status title bar code so that it is only transmitted as needed and therefore, speeds everything up.
This week I wrapped up the IoT Pet Food Scale using CircuitPython with Microsoft Azure. I also made a 1-minute video about the project featuring one of the benefactors of the project: my cat Winnie.
I also worked on documenting the new 9-DoF sensor in the shop: the LSM6DS3TR-C + LIS3MDL Stemma Breakout. I wrote up a standalone guide for it, added it to the ST 9-DoF Combo Breakouts guide and went through the How to Fuse Motion Sensor Data into AHRS Orientation guide to make sure magnetometer calibration was working as expected.
The next MicroPython Meetup in Melbourne will be on August 24th – Meetup. See the slides of the July 27th meeting.
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.
PyBay2022 is the 7th annual regional Python Conference in San Francisco. Learn from 25 Python luminaries, sample nearly 20 food trucks, get books signed, meet hiring companies and enjoy live music in the evening. Sept 10, 2022 at San Francisco Parklabs Garden – PyBay2022.
PyCon UK will be returning to Cardiff City Hall from Friday 16th to Sunday 18th September 2022 – PyCon UK.
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.
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.2 and its unstable release is 8.0.0-Alpha.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20220731 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.0b5.
3,107 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 35,143 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.