View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! A frozen northern hemisphere is still busy when it comes to Python and hardware as witnessed by all the happenings this week. Congratulations to Thea “Stargirl” Flowers, Pythonista/CircuitPythonista for heading OSHWA! Lots of Pi news as usual, and more on editing your code in a web browser: an open source solution for CircuitPython and a limited (unless you pay) version from Arduino. There is so much more happening, check it all out in this week’s edition. – Anne Barela, 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:
Thea Flowers is the New OSHWA Board President
The Open Source Hardware Association (OSHWA) welcomes Thea “Stargirl” Flowers as the new OSHWA Board President.
As many members of the OSHWA community already know, Thea is a creative technologist and passionate open source advocate. She is the creator of the Winterbloom open source synthesizers (many of which are OSHWA certified). Thea is also the creator of KiCanvas, a maintainer of CircuitPython, and a former Python Software Foundation Fellow. Oh, and she recently redesigned the certification mark brand guide – OSHWA.
Raspberry Pi is Now Manufacturing 70,000 Pi 5s Per Week and Will Surge to 90,000 in February
Raspberry Pi Ltd is currently producing 70,000 Raspberry Pi 5 boards a week with plans to scale up to as many as 90,000 units per week in the near future.
Raspberry Pi CEO Eben Upton shared the promising news with Tom’s Hardware, along with the picture above, which he says he took during a recent factory visit. It shows dozens of panels filled with completed Raspberry Pi 5 boards that are about to be tested and packed for shipping. Each panel in the picture contains nine individual Pi boards – Tom’s Hardware.
Online Development Environment News
CircuitPython Online IDE 2 Alpha Launched
River Wang has released an alpha revision to the CircuitPython Online IDE (integrated development environment) which runs in a web browser. It is free to use. Feedback is solicited – X, Mastodon and IDE.
Arduino Cloud Editor
Arduino has updated the Arduino Cloud Editor – which started as Arduino Create several years ago – to bring the web-based code editor closer to the appearance and functionalities of the “classic” Arduino 2.0 IDE. Arduino says the Cloud Editor simplifies the getting started process without having to go through the setups or maintenance required by the Arduino IDE installed on a computer and sketches can be accessed from the cloud – CNX Software.
“The initial experience is nothing like the Arduino IDE as you need credentials to use the device, then install the Arduino Create Agent, and when you add a board with WiFi you’re given a secure key to connect to the Arduino Cloud… the web editor is free with some limitations (e.g. 25 compilations per day) and you’d need to pay a monthly fee whose amount depends on your needs and whether you are an individual, a school, or a business.”
Four Raspberry Pi 5 Projects to Make Use of the Power of One of the Best SBCs Out There
The Raspberry Pi 5 is a single board computer that has seen a significant boost to performance this generation. With support for PCIe devices, massive overclocking headroom, a physical on / off switch and an active cooling option, Notebook Check presents 4 projects to get folks started with a new Raspberry Pi – Notebook Check.
Raspberry Pi Compute Module 5 is in Development, CEO Eben Upton Confirms
Raspberry Pi YouTuber Jeff Geerling had the chance to interview Raspberry Pi CEO Eben Upton at CES. During the interview, Upton confirming that Raspberry Pi 5 production is ramping up, and first confirmation that the Raspberry Pi Compute Module 5 is an upcoming product in 2024. CM5 is expected to be similar to CM4 in terms of connectors and form – Tom’s Hardware, XDA and YouTube.
EU’s Cyber Resilience Act Passes with Wins for Open Source
Six weeks ago, we reported the Python Software Foundation was bristling at European Cybersecurity rules on Open Source Software. The Foundation writes:
“The good news is that CRA text changed a lot between the time the open source community – including the PSF – started expressing our concerns and the Act’s final text which was cemented on December 1st. That text introduces the idea of an ‘open source steward’.” – PSF.
Espressif Reveals ESP32-P4: A High-Performance MCU with Numerous IO-Connectivity and Security Features
Espressif has announced the ESP32-P4, a high-performance MCU with numerous IO-connectivity and security features. It is powered by a dual-core RISC-V CPU with an AI instructions extension, an advanced memory subsystem, and integrated high-speed peripherals – Espressif.
News from the Python Software Foundation
Python 3.13.0 alpha 3 is now available – Python Insider Blog.
Announcing Python Software Foundation Fellow Members for Q3 2023 – Python.org.
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 DisplayIO Sprite Gaming – Making a 1D Pacman Clone.
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 IP Ping – Adafruit Blog and YouTube.
Catch all the episodes in the YouTube playlist.
CircuitPython Weekly Meeting
CircuitPython Weekly Meeting for January 16, 2024 (notes) on YouTube.
Project of the Week: Video – I was Wrong About CircuitPython
Abe’s Projects on YouTube gives a quick overview of the improved developer experience features provided by CircuitPython, it’s a much better way to interact with these small Arduino boards over using C in the normal Arduino IDE – YouTube.
The video says the main features include:
- Hot reloading of code
- Easy, intuitive Python API
- Value as a flash drive to hold source files
- Ease of updating
- and more!
Popular Last Week
What was the most popular, most clicked link, in last week’s newsletter? What I Learned from Using a Raspberry Pi 5 as my Main Computer for Two Weeks.
New Notes from 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.
Programming a Unicomp Mini M keyboard with CircuitPython – Adafruit Playground.
News from around the web
An interview with Damien George, MicroPython’s creator: “MicroPython: A familiar high-level language combined with the ability to directly utilise a microcontroller” – devmio.
The SunFounder PiDog robot dog kit for Raspberry Pi is out and can be programmed in Python – SunFounder.
A dual spiral rolling ball clock controlled by a Raspberry Pi Pico using a combination of 3D printed and hand made parts in metal, acrylic & wood, programmed in MicroPython – hackster.io and YouTube.
A beginner’s guide to debugging Python functions effectively – How-To Geek.
Python packaging, one year later: a look back at 2023 in Python packaging – Chris Warrick.
How to check if you’re running Raspberry Pi OS 32-bit or 64-bit – PiMyLifeUp.
“First rewrite of the Arduino RC car into MicroPython with the DC motor control. It’s a bit hard coded atm but functionally it works” – X.
52Pi is solving the Raspberry Pi 5’s PD problem (5v/5A supplies are rare) with a new PD Power HAT – GitHub via X.
Rewriting a light game on Raspberry Pi Pico W with CircuitPython (Czech) – X.
Tracking the International Space Station with a Pimoroni Badger 2040W and MicroPython – X Broadcast Video.
A quick and dirty PIC16F72 programmer with a Raspberry Pi Pico and MicroPython – Tahmid’s blog via X.
Type information for faster Python C extensions – Bernsteinbear.com.
The Akruvia Maker Badge is a wearable Cyberdeck built with ESP32-S3 and CircuitPython – YouTube via X.
“Ham radio: I played with RigExpert Zero II board on the weekend… Started with Arduino Nano but then switched to Raspberry Pi Pico W. Since I could only find C libraries for the board, I decided to write my own MicroPython module to communicate with the device. So far so good” – X.
See the code – GitHub.
RP2040 PCB: Design, Turn-On, and Debug – How Hard Could It Be? – Episode-638 – Element14 and YouTube.
Ivan Kuleshov delidded a Raspberry Pi 5 CPU and made a custom cooling system with thermal tubes and a Peltier element. In theory, it is possible to reach sub-zero temperatures. Testing is in progress and results will be up soon – X.
Huawei chip design arm HiSilicon launches RISC-V MCUs to overcome Arm restrictions – Tom’s Hardware and DigiTimes Asia.
Python Regular Expressions (video) – YouTube.
Bus Pirate 5 REV 10 hardware is finally for sale. Bus Pirate 5 is an open-source hardware debugging tool that converts simple commands into common bus protocols such as 1-Wire, I2C, SPI, UART, several LEDs and more. Send commands to a chip or sensor and get the response, without writing a line of code – Bus Pirate.
A review of the Raspberry Pi 5 ICE tower cooler – bret.dk.
Raspberry Pi 5 industrial HMI displays gain M.2 NVMe SSD, RS232/RS485 interfaces, audio input/output jacks – 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
LED Glasses Custom Animated Graphics with Sprites from Erin St Blaine
NeoPixel Rotary Fidget from Ruiz Brothers
Updated Learn Guides
Adafruit MEMENTO Camera Board
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 475!
Here’s this week’s updated CircuitPython libraries:
Library PyPI Weekly Download Stats
Total Library Stats
- 140254 PyPI downloads over 324 libraries
Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 8926
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 8786
- Adafruit CircuitPython Register (adafruit-circuitpython-register): 3065
- Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1305
- Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1246
- Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1240
- Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1214
- Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1135
- Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1088
- Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 1082
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in:
I’m experimentally updating the CircuitPython nrf port to use the latest version of the nrfx library from Nordic. It fixes at least one issue we had to work around in the past, and I’ll see what else it improves as well.
This past week, I’ve been working on trying to get the displays working on Raspberry Pi Bookworm. I’ve had some success and will continue working on those until we have something easy to install. Many guide updates will likely be needed after that.
This week I looked into some
DisplayIO bugs, one related to non built-in Eink displays not refreshing in some cases, and another for the Flip Input widget that is a result of incompatibility with the current version of the
Display_Text library. I’ve also started a new game project that will become an Adafruit Learn guide, it’s an implementation of a 1 dimensional PacMan style game that has a single long hallway map that fits perfectly on one of the very long Qualia displays. I’m planning to mount everything to a cardboard box and print out some decals for the outside that are inspired by the original game’s arcade cabinet.
I’ve continued to work on the pull request to add “bitmapfilter”, a small collection of routines for manipulating bitmaps. Since the last update, I added a routine for false color mapping and one for applying look-up tables to image channels.
Last week I was away visiting family. This week I’m getting caught up and wrapping up the SD card over WiFi and BLE support.
This week I worked on two new product guides: the 3.5” capacitive touch TFT FeatherWing and the MCP3421, which is an 18-bit ADC. Both guides have pages for overview, pinouts, CircuitPython, Arduino and resources for download. I also worked on some code for the NeoPixel Rotary Fidget project. I was able to incorporate a smaller version of an older project, the NeoPixel run game, which the Ruiz brothers and I had wanted to do for quite some time.
The next MicroPython Meetup in Melbourne will be on January 24th – Meetup.
PyCascades 2024 is back in Seattle, Washington, USA and online, April 5-8th at the University of Washington Kane Hall. – PyCascades.
PyCon US 2024 Launches – May 15-23, 2024 in Pittsburgh, Pennsylvania US – PyCon US.
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.
CircuitPython’s stable release is 8.2.9 and its unstable release is 9.0.0 alpha 6. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20240118 is the latest Adafruit CircuitPython library bundle.
20240116 is the latest CircuitPython Community library bundle.
v1.21.1 is the latest MicroPython release. Documentation for it is here.
3.12.1 is the latest Python release. The latest pre-release version is 3.13.0a3.
3,793 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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,531 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 Reels), 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.
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.