View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! The Raspberry Pi Pico W continues to dominate the news with many makers using them for projects. Eben Upton states two million will be made before the end of 2022. CircuitPython Day 2022 has been announced for August with virtual events in the works. Finally this week, please do browse all the projects, there is a wide variety.
We’re on Discord, Twitter, and for past newsletters – view them all here. If you’re reading this on the web, subscribe here.
Announcing CircuitPython Day 2022 – August 19th
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.
Working with CircuitPython? Tag your projects #CircuitPythonDay2022 on social media and Adafruit will look to highlight them.
Special events will be held during the day – keep an eye on Adafruit social media channels for announcements – Adafruit Blog.
Now you can simulate circuits with Fritzing!
After many requests and years of waiting, Fritzing finally got a simulator!
The primary purpose of the simulator is to teach electronics to beginners, and its current capabilities are very limited (only analysis of DC circuits). However, it is fully functional, easy to use, and works on the breadboard and schematic view. In addition, it performs some checks to see if any parts are working outside their specifications – Adafruit Blog, announcement post and download page.
How to Run a Webserver on Raspberry Pi Pico W
The Raspberry Pi News features an article on using the new Pico W microcontroller board with WiFi as a web server. MicroPython is used to create a RESTful server to toggle an LED – Raspberry Pi News.
Anvil, a popular web applications development tool, announced a new toolkit developed for the recently released Raspberry Pi Pico W. The toolkit provides a means of communicating between a web application and a Raspberry Pi Pico W, using nothing but Python. This new toolkit brings secure IoT applications for the Wi-Fi enabled Pico W, applications normally reserved for the more powerful, and hard to come by Raspberry Pi – Tom’s Hardware.
A tutorial: “How To Build a Raspberry Pi Pico W Web App With Anvil” – Tom’s Hardware.
Boards and Coding Humble Bundle
Humble Bundle, the low-cost eBook bundler, has teamed up with the makers and experts at Make: for a bundle full of how-to books and DIY guides to help you learn and get creative. Included is Make: Getting Started with Circuit Playground Express, which covers CircuitPython on this popular learning board. Pay what you wish, a portion of the profits help charity Maker Ed – Humble Bundle.
Microsoft gives insight into Inclusive Design, a methodology, born out of digital environments, that enables and draws on the full range of human diversity. Most importantly, this means including and learning from people with a range of perspectives – Microsoft and PDF Document.
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 Game & Watch Octopus for PyGamer.
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 Pixel Framebuf – Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
The CircuitPython Show: Mu Developer Nicholas Tollervey
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.
Nicholas Tollervey joins the show in the latest episode that released Monday, July 11th. Nicholas and Paul talk about the Mu code editor, Nicholas’ background in music, and the similarities in learning to code and learning to play an instrument – Episode 13.
Project of the Week: The BornHack 2022 Game On Badge
The BornHack 2022 Game On Badge puts the focus on games. With the shape of a small controller and a color LCD screen in the middle, it’s ready for a bunch of interesting homebrew games.
This badge uses the RP2040 dual core Cortex M0+ microcontroller from Raspberry Pi and has 16MB of Quad SPI flash for code and media files.
The badge will have CircuitPython preloaded for a very low barrier of entry, all you need is a USB-C cable, and your favorite text editor and you are on your way to your own games.
In addition to screen and navigation buttons, there are are also a standard SAO v1.96bis connector and a Qwiic/Stemma QT connector for interfacing with modules in those eco-systems over I2C – Adafruit Blog, GitHub and an article on Hackaday.
News from around the web!
Eben Upton of Raspberry Pi states there will be 2 million Raspberry Pi Pico W boards out before the end of the year – Twitter.
A crocheted Friends couch with music provided by an Adafruit Circuit Playground Express programmed in CircuitPython. An infrared remote control triggers the music – Twitter.
Soldered up Joey Castillo’s LCD Wing, changed pin headers to socket headers on my FeatherS2, modified example code to look up NTP time, and BAM! We’re ready to play with this thing (with CircuitPython) – Twitter.
A Pico W powered weather station. 5 minute updates from the Open Weather Map API of current temperature, wind speed and description – Twitter.
WiFi Garage Door Controller with Raspberry Pi Pico W and MicroPython – Adafruit Blog and YouTube.
A design for a HitClip cartridge player
- Works with all of the players the author owns
- Are easy enough to order/assemble
- Can be configured by end users
It uses a Raspberry Pi RP2040 running CircuitPython and Solder Party flexypins for programming – Twitter.
A Raspberry Pi Pico W with the Pimoroni breakout garden submitting MQTT data every second via MicroPython. 35,000 successes, 0 failures – Twitter.
A colorful purse using NeoPixel LEDs programmed in CircuitPython – Twitter.
A prototype Raspberry Pi PICOW + Pimoroni microdot phat clock. On power-up it uses NTP to set the onboard real-time clock. Coded in MicroPython… so far so good now to add more features – Twitter.
Raspberry Pi Pico-based Big Orange Button does whatever you want. A single key USB keyboard using a Pimoroni Tiny 2040 programmed in CircuitPython – Tom’s Hardware and Twitter.
The TiDAL badge – your electronic companion at EMF2022. It uses an ESP32-S3 running MicroPython – GitHub and Hackaday.
Creating a talking KITT control panel from the TV show Knight Rider, using an RP2040 Microcontroller and CircuitPython – Raspberry Pi, GitHub and YouTube.
A Big Mouth Billy Bass fish using a Raspberry Pi Pico W over WiFi using MicroPython, via a simple web page hosted on the Pico W – Twitter.
Prototyping a CircuitPython eurorack quantizer – Twitter.
Using AprilTags, OpenMV, and 100 lines of MicroPython to open a front gate – Hackaday.
A painted giraffe and frog with both conductive (electric) and non-conductive black paint. Each animal has a mode controller touch spot and multiple other touch spots that play sounds. Uses an Adafruit Feather nRF52840 Express running CircuitPython – wisc.edu.
An Adafruit MacroPad programmed in CircuitPython to do MIDI in and out – Twitter.
NES Shortcut Keyboard: a shortcut keyboard (or macro pad), but with an aesthetic flair inspired by a classic console – Hackaday, GitHub, and YouTube, via Twitter.
TensorFlow Lite for Commodore 64s. Model output is run through a Python script to turn it into C64-compatible BASIC – GitHub.
Download Vimeo video using Python – Jakeroid’s blog.
PyDev of the Week: Bas Steins on Mouse vs Python.
CircuitPython Weekly Meeting for July 11, 2022 (notes) on YouTube.
CircuitPython Weekly Meeting for July 5, 2022 (notes) on YouTube.
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? title.
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 was one new board 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!
LO-LA59 Droid from Noe and Pedro
Getting Started with Microsoft Azure and CircuitPython from Liz Clark
GitHub Actions Status Tower Light from Kattni
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 updated CircuitPython libraries:
What’s the team up to this week?
What is the team up to this week? Let’s check in!
I’m continuing on plain ESP32 support for CircuitPython, and I am currently debugging uploads from Thonny and other upload-over-serial file managers.
One of the things we want to upgrade in CircuitPython version 8 is ulab; there are a lot of bugfixes and improvements in the current version. To that end, I’ve filed a pull request to bring in all those changes. In the process, I got to learn some interesting things about how different CircuitPython platforms, such as Broadcom, deal with floating point numbers! Hopefully this PR will be merged soon.
This week I published two guides: Create an Excellent GitHub Profile with Markdown and GitHub Actions Status Tower Light.
The Create an Excellent GitHub Profile with Markdown guide covers everything you need to know to get from start to finish creating a GitHub profile that is both memorable and representative of you. Even if you’re brand new to GitHub, this guide has you covered. Check it out!
The GitHub Actions Status Tower Light guide shows you how to use a USB-controlled tower light to keep track of your latest GitHub Actions run on any repo you customize the code to query. Gone are the days of keeping endless tabs open to keep up with your Actions statuses. Let the light do the work for you!
I’m back this week and and have caught up on my messages. After I finished that, I started familiarizing myself with the Web Workflow that Scott has been working on and looking into an issue where the ESP Web Tool was writing to the ESP32-C3, but the written image wasn’t working.
I completed the Game & Watch Octopus game for PyGamer. The components that control the more complex behaviors in the game are complete now and the most basic game mode has been implemented. The remaining programming work is to finish up the second game mode and verify that my implementation is matching the original as best as possible, then work on the guide that will cover the process of making the game.
This week I’m wrapping up WebSocket support in CircuitPython. WebSockets allow browsers to have a serial connection over the network. I’ve got it sending and receiving characters from a test page. I need to enhance the page a little to better handle control characters and make input simpler. Once I’m happy with it, I’ll be making a PR. I’m excited to see what folks do with it.
This week I am working on the food scale project with the NAU7802. I was able to code up a UI with CircuitPython that uses two alphanumeric displays and two LED buttons. You can scroll through a menu of modes, show the weight in grams or ounces, zero out the NAU7802, fully calibrate the scale and show the current offset value. During calibration mode, you press one of the buttons to advance to the next step. Since it involves clearing the scale and placing an item with a known weight on it, I didn’t want to rely on hardcoded delays. I think that this could be a good example for folks who want to build projects that need calibration or resets.
The next MicroPython Meetup in Melbourne will be on July 27th – Meetup. See the slides of the June 22nd meeting.
SciPy 2022, the 21st annual Scientific Computing with Python conference, will be held in Austin, Texas, USA from July 11-17, 2022. The annual SciPy Conference brings together attendees from industry, academia, and government to showcase their latest projects, learn from skilled users and developers, and collaborate on code development. The full program will consist of 2 days tutorials (July 11-12), 3 days of talks (July 13-15) and 2 days of developer sprints (July 16-17) – SciPy 2022.
EuroPython 2022 will be held on 11th-17th July 2022 and it will be both in person and virtual. The in-person conference will be held at The Convention Centre Dublin (The CCD) in Dublin, Ireland – EuroPython 2022.
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.
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.
20220711 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,079 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
Science Kit Builder – MicroKits – Adafruit Jobs Board.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 34,912 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.