View this email in your browser. Warning: Some Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! There’s lots of news this week as everyone is getting things in before the holidays. I hope you like this issue as I’ve gone in-depth finding information on some of the cool stuff happening. A scheduling note: Next week (December 23rd) will be an end-of-year wrap-up edition and then the newsletter will be off two weeks with the next issue being January 13th as folks get back to their activities (and this will provide me with a holiday break). Cheers! - Anne Barela, Editor
We’re on Discord, Twitter/X, BlueSky 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 Raspberry Pi 500 Keyboard Debuts Along With an HDMI Monitor
Raspberry Pi has released two hotly anticipated products: the Raspberry Pi 500 keyboard sized computer, available for $90, and the Raspberry Pi Monitor for $100 - Raspberry Pi News.
Jeff Geerling does a thorough review of the Pi 500. He notes the PCB has space for a PCIe card and power over Ethernet, but the components are not placed, therefore the unit doesn’t have those capabilities (but may in the future in a “pro” model). Overall it’s a solid offering, with the 2x to 3x speedup from the Pi 5 design - Jeff Geerling and YouTube.
The monitor is a 15.6” IPS LCD with speakers. It can be powered either directly off the Pi’s USB port (at 60% brightness and 60% volume), or via an external USB-C charger (for 100%). It comes with an integrated kickstand. If a VESA mount is used, it does block the ports, making changing connections difficult - Jeff Geerling.
And folks are already designing alternate stands and Pi 5 mounts for the monitor - X and Printables.
Ashley Whittaker summarizes community reviews, teardowns and builds - Raspberry Pi News.
Adafruit Visits Boston College
On Friday, December 6th, Adafruiters Noe and Liz visited Boston College (BC) for Professor John Gallaugher‘s Student Tech Showcase, joined by BC alum and maker Guy Dupont - Adafruit Blog.
“At the end of every semester, Prof. Gallaugher organizes a showcase for his students in his physical computing and Swift programming classes to present their end of semester projects science fair-style. All of the projects were very impressive. For most of the students, the class had marked the first time they were working with these technologies, including electronics for the physical computing students.
Prof. Gallaugher uses CircuitPython and a lot of Adafruit hardware in his physical computing course. We were able to chat with the students presenting to learn about their projects and hear about their experiences using CircuitPython and Adafruit hardware.”
The Mu Python Code Editor is Sunsetting in 2025
In a Made with Mu blog post, the developers of the Python code editor have announced they will retire the app in 2025. Mu has been the recommended editor for CircuitPython for a while. There is more choice in editing environments now, as detailed in past newsletters. These include a functional VSCode plug-in, Thonny, Viper IDE and code.circuitpython.org for an inclusive browser based editing experience - Adafruit Blog.
Adafruit’s Growing Presence on BlueSky
Adafruit is actively posting using BlueSky on a number of accounts, with two new ones just added. Please follow us - BlueSky.
What Is a HAT for Raspberry Pi, and What Can You Do With One?
A Raspberry Pi “HAT” or Hardware Attached on Top is a simple upgrade component you can add to compatible models of Raspberry Pi computers to expand what they can do and make many different projects far easier than they were before. How-To Geek has an article this week explaining it all - How-To Geek.
PyLadiesCon 2024 Videos Are Now Available
PyLadiesCon 2024 was December 6th through the 8th with many interesting speakers. The videos are now available online - YouTube Playlist.
STMicro Launches an NPU-Equipped Microcontroller
The STM32N6 is the newest and most powerful STM32 and the first to come with a Neural-ART Accelerator, a custom neural processing unit (NPU) capable of 600 GOPS for machine learning applications which once demanded an accelerated microprocessor now run on an MCU. It’s also STM’s first Cortex-M55 MCU and one of the few in the industry to run at 800 MHz. Additionally, at 4.2 MB, the STM32N6 includes the largest embedded RAM on an STM32 - EE Times and STM Blog.
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
Last Friday, Tim streamed work on integrating with Wiz Smart Lights.
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 a Drawing Tool Color Picker - Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for December 9, 2024 (notes) on YouTube.
Project of the Week: Night Light Turned Into a Weather Cloud
Reddit user shoddyperspectiveV2 demonstrates a nice CircuitPython project - Reddit.
“Purchased some cute night lights. I installed an Adafruit Feather V2 (with CircuitPython 9.2.1) and an Adafruit Jewel. Added a battery and power switch. It pulls the weather code from open metro which is assigned a colour and pushed to the NeoPixels. Changed switch position from version one. On the bottom works better than on the side. Easy cute project.”
Popular Last Week
What was the most popular, most clicked link, in last week’s newsletter? 10 Python Libraries Every Developer Should Know.
Did you know you can read past issues of this newsletter in the Adafruit Daily Archive? Check it out.
Adafruit Playground
Adafruit Playground is a new place for the community to post their projects and other making tips/tricks/techniques. Ad-free, it’s an easy way to publish your work in a safe space for free.
News From Around the Web
There are situations where someone has a Raspberry Pi and wants to provide many users with access to it. Or a school with a set of Raspberry Pis giving each of their students access to them, so they can develop software remotely. With this and commercial customers in mind, Raspberry Pi has introduced Raspberry Pi Connect for Organisations - Raspberry Pi News.
Install and using CircUp (CircuitPython library updater) to install CircuitPython libraries - YouTube.
Shae Erisson’s Adafruit MagTag FlowLight tracks programming flow in Emacs to dodge disturbances hackster.io and GitHub.
A review of Piper Make, a block language for students that is translated into CircuitPython - Keisoku Lab. Via X
Adafruit’s Guide to Piper Make - Adafruit Learning System
Powering small 3V Christmas lights with the second regulator on the UM FeatherS2 with PWM brightness control via unusual technique of PWM signal on enable line using CircuitPython - Instructables.
Wee Noise Makers PGB-1 is an advanced yet portable synthesizer and sequencer that allows you to craft complex musical pieces anywhere. This all-in-one, open-source, customizable device is designed to empower aspiring musicians, seasoned creators, and makers. PGB-1 is hackable with CircuitPython, C\C++, and Ada support for programming your own synthesizers, video games, or any audio-based projects. It has doubled it’s crowdfunding target - Crowd Supply.
Maker Yakaroo108 uses a Raspberry Pi Zero with CircuitPython bare metal to craft an ADC tester with an LCD display - X.
And another bare metal CircuitPython on Raspberry Pi Zero project, drawing complex graphics on an HDMI display - X.
A smol MicroPython version of the famous After Dark 2.0 Flying Toasters, coded in MicroPython. It is based off Jack Eastman’s 1-bit prototype sketches as refined by Tomoya Ikeda (池田友也) in 1989 - X and GitHub.
RaspController, an Android app for tinkering with ones Raspberry Pi - XDA.
Raspberry Pi Zero 2 W uses AI to make infinite flower paintings on an e-ink display with Python - Tom’s Hardware, Reddit and GitHub.
Shamay299 on BlueSky posts about making a MIDI controller quickly with CircuitPython and Stemma QT/Qwiic - BlueSky.
“Having some fun with my #yarrbooty prizes from Pimoroni - I’m amazed how easy it was to get a MIDI controller running with CircuitPython! From zero to this in an evening, including making the cable (hooray for the Pico Plus 2W’s QW/ST port saving me some soldering).”
On the December 10th Pi Cast, Les Pounder interviews Bret from Bret.dk about the many single board computers (SBC) on the market - YouTube.
A 3D printable and MicroPython programmable Santa Claus Otto robot for children - hackster.io.
Monitoring a lizard’s environment with multiple temperature sensors and CircuitPython - Mastodon.
A portable Morse Code setup using 3D printing, a Raspberry Pi Pico and CircuitPython as a HID device - YouTube.
Sorting trash and recyclables using machine learning with Adafruit Memento, Raspberry Pi Pico W and CircuitPython - Instructables.
Making an off-road vehicle with Raspberry Pi Pico and MicroPython - Instructables.
How To simulate a PID Controller in Python for a DC motor - Maker.io.
RISC-V CEO Calista Redmond resigns after 5+ years of progress - RISCV.org.
New
Sipeed has previewed their FPGA Tang Console 60K HAT+ for Raspberry Pi 5 and PCIe set for release next month - X.
Olimex RP2040pc Raspberry Pi RP2040 computer board supports Apple and Oric Atmos emulation through the Reload emulator. You’ll find the source code on the reload-emulator GitHub repository. It’s designed with the official Raspberry Pi Pico C/C++ SDK, and relies on popular projects such as PicoDVI and tinyUSB - CNX Software.
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
The Adafruit Learning System has over 3,000 free guides for learning skills and building projects including using Python.
Using the CircuitPython Extension for Visual Studio Code from Liz Clark
Motorized POV LED Display from Ruiz Brothers
Integrating Color Sensors with itsaSNAP and HomeKit from Trevor Beaton
CircuitPython Libraries
The CircuitPython library numbers are continually increasing, while existing ones continue to be updated. Here we provide library numbers and updates!
To get the latest Adafruit libraries, download the Adafruit CircuitPython Library Bundle. To get the latest community contributed libraries, download the CircuitPython Community Bundle.
If you’d like to contribute to the CircuitPython project on the Python side of things, the libraries are a great place to start. Check out the CircuitPython.org Contributing page. If you’re interested in reviewing, check out Open Pull Requests. If you’d like to contribute code or documentation, check out Open Issues. We have a guide on contributing to CircuitPython with Git and GitHub, and you can find us in the #help-with-circuitpython and #circuitpython-dev 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 507!
Updated Libraries
Here’s this week’s updated CircuitPython libraries:
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in:
Dan
I’ve been working on making the CircuitMatter library run under CircuitPython. Currently, in regular Python, CircuitMatter relies on several other libraries, and uses features of Python that are not available in CircuitPython. I’ve been preparing trimmed-down and substitute versions of the prerequisite libraries, and changing the code so it can be run in CircuitPython.
Tim
I’ve been continuing to work on issues in library repos, this week I received various sensors for testing different fixes. I also made a CircuitPython implementation of Karel the Robot, a utility for learning the basics of programming. I’m starting to experiment with wiz connected smart lights to interface with them from CircuitPython.
Jeff
I’ve been working on Raspberry Pi 5 NeoPixel support in Adafruit Blinka. By the time you read this, it’s likely that (after a few simple steps like updating your Pi’s kernel & firmware to the latest official versions) import neopixel
will work on Raspberry Pi 5 computers with Blinka installed on them.
Scott
I’ve been continuing to work on CircuitPython on Zephyr. west flash
worked well to load the new binary onto the nRF52840 and it started up! I got output over the serial to the UART adapter. I tried connecting CircuitPython to the Zephyr console but discovered it is blocking! So, CircuitPython starts up and then just waits for a character forever. Next, I’ll use a lower level asynchronous API. I’m travelling this week though and then mostly off for holidays so I’m not sure when that’ll happen. Follow along on my Zephyr git branch.
Liz
This past week I had the opportunity to visit Boston College (BC) for Professor John Gallaugher’s Student Tech Showcase. At the end of every semester, Prof. Gallaugher organizes a showcase for his students in his physical computing and Swift programming classes to present their end of semester projects science fair-style. The students use CircuitPython and a lot of Adafruit hardware in his physical computing course. I wrote up a blog post detailing the visit and highlighting some of the CircuitPython projects that were on display; all of which were very impressive, especially for only one semester of work.
Upcoming Events
The next MicroPython Meetup in Melbourne will be on January 22nd – Meetup. You can see recordings of previous meetings on YouTube.
The community is coming back to Pittsburgh, Pennsylvania for PyCon US 2025 May 14 - May 22, 2025 - us.pycon.org.
Send Your Events In
If you know of virtual events or upcoming events, please let us know via email to cpnews(at)adafruit(dot)com.
Latest Releases
CircuitPython’s stable release is 9.2.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20241213 is the latest Adafruit CircuitPython library bundle.
20241206 is the latest CircuitPython Community library bundle.
v1.24.1 is the latest MicroPython release. Documentation for it is here.
3.13.1 is the latest Python release. The latest pre-release version is 3.14.0a2.
4,147 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.
38,538 Thanks
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,538 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, Instagram), 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.
Contribute
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Monday. 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.