View this email in your browser. Warning: Flashing Imagery
Welcome to the latest Python on Microcontrollers newsletter! A significant investment in Raspberry Pi by Sony tops this week’s news. I’d like to see how AI is integrated. PyCon US will be here shortly – be sure to catch Adafruit folks there and content if you are remote. Folks are using new DVI/HDMI features for RP2040 chips and the CircuitPython team is working hard on porting the functionality to CircuitPython, stay tuned for high resolution, multiple bit depth displays on RP2040! And our largest section of the week is News from the Web – so much is happening in the community, so please check it out – 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:
Sony Backs Raspberry Pi With Funding and Access to AI Chips
Sony Semiconductor Solutions has announced an investment in Raspberry Pi Ltd, the for-profit arm of the Raspberry Pi empire, telegraphing hopes that it will be able to make its AITRIOS edge artificial intelligence (edge AI) platform the go-to way to boost the single-board computers’ capabilities for low-power on-device machine learning. The firm raised the cash at the same $500 million valuation it was worth in a 2021 funding round. The company has become a more active player in the enterprise — in a typical year, roughly 70% of its sales now come from commercial customers embedding its products into factories or consumer devices – CNBC and Hackster.io.
PyCon US 2023 is coming up in Salt Lake City, Utah USA April 21 – 23 with Development Sprints April 24 – 27. Adafruit CircuitPython team members be there hosting events! Kattni Rembor and Jeff Epler will be present, along with a few well-known community members.
Kattni and Jeff will be managing Open Spaces during the conference. The location and time is yet to be determined, but will be known when the conference begins. These Open Spaces will give folks an introduction to CircuitPython via the Circuit Playground Express. There will be a Quickstart worksheet available to get started easily, and Kattni & Jeff will there to help. Kattni will be bringing some fun extras as well. Everyone is welcome to attend!
Kattni will be hosting three days of Development Sprints from 8am-5pm on Monday April 24 through Wednesday April 26. Jeff will be joining on Monday. The location will be determined during the conference. The Sprints are an opportunity to contribute to the CircuitPython project, on the Python side of things, through code and documentation on CircuitPython Libraries. Everyone is welcome; there will still be all of the introduction to CircuitPython hardware, so there will be opportunities for folks at any level to participate.
Kattni states: “If you’re attending, please let me know ahead of time in the
#circuitpython-dev channel on the Adafruit Discord, or come find us around the conference. We’d love to meet up! We’re looking forward to PyCon US 2023, and we hope you are too! See you there!” – PyCon US 2023.
Python Software Foundation is Worried About Looming EU Cybersecurity Rules
The Python Software Foundation (PSF) is concerned that proposed EU cybersecurity laws will leave open source organizations and individuals unfairly liable for distributing incorrect code – The Register.
“If the proposed law is enforced as currently written, the authors of open-source components might bear legal and financial responsibility for the way their components are applied in someone else’s commercial product,” the PSF said in a statement shared by executive director Deb Nicholson.
How to Build Your Own Raspberry Pi Watch
The Raspberry Pi Maker in Residence, Toby, and the Head of Documentation, Alasdair, were talking about the idea of a Raspberry Pi RP2040-powered watch. While they were looking around to see if anyone else had already come up with the idea and made one, they stumbled across an RP2040-based 1.28-inch TFT display and watch board on Tindie.
Read about how the duo tracked down the code and show how one can program the watch themselves in CircuitPython or MicroPython – Raspberry Pi.
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 Remote Control of Microcontrollers.
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 Wiichuck uDraw Tablet – 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.
The latest episode was released April 10th and features Danny Staple. Danny and Paul discuss Danny’s book, Robotics with Raspberry Pi Pico – Show List.
Project of the Week: The PYPRCA CircuitPython Calculator/Computer
PYPRCA is a Python programable calculator and CircuitPython computer. It has a dedicated numerical keypad for better native input of numbers. It also has a
QWERTY key set for writing programs. Functions like SIN and COS are typed out rather than using shift buttons.
- 2.8” color TFT IPS Display
- keyboard (7×7)
- Raspberry PICO or W
- SD card
- Grove GPIO
- A simple quadratic equation solver
It is based on a Raspberry Pi Pico. It’s a bit shorter and wider than a Numworks calculator – Twitter Thread and Hackaday.io.
News from around the web!
The Raspberry Pi Pico with MicroPython – GPIO Mastery course helps you learn the basics of using MicroPython to control the GPIO pins on a Raspberry Pi Pico. Learn how to connect different components to the board, including LEDs, motors, and sensors, and how to control them with MicroPython code – Kev’s Robots via Twitter.
Bradán Lane discusses making diagrams in various Git systems – Twitter.
How to find your Microcontroller’s IP address with only an LED – YouTube.
Mark Komus writes “I took the still in progress CircuitPython DVI support and experimented getting an animated GIF to run in my second monitor with the Adafruit RP2040 DVI feather. This is ugly under the hood at the moment but I was able to get it going” – Twitter.
Making a wireless controller for a robot with a Raspberry Pi Pico and CircuitPython – Twitter.
ChatGPT helps Wolverine create self-healing Python scripts – Twitter, GitHub and Hackaday.
CircuitPython on the ZynqberryZero: how to modify Adafruit’s CircuitPython packages to install them on the ZynqberryZero with a Linux image created in PetaLinux 2022.1 – hackster.io.
An Ikea head lamp hack with MicroPython – YouTube.
A review of the Elecfreaks Pico:ed V2 board (based on a Raspberry Pi RP2040) showing how to get started with CircuitPython and integrate it into a project, replacing a BBC Micro:bit board – CNX Software via Twitter.
RP2040/CircuitPython 8.1.0 Beta 1, playing animated GIF file on an 8 bit parallel bus ILI9341 display – YouTube and coxxect.
Raspberry Pi Pico and e-paper (e-ink) Display with MicroPython – peppe80.
CircuitPython, Adafruit Feather RP2040 and I2C – PiCockpit.
The “Lost in Space” challenge was part of a CircuitPython exam. Play sounds from the B9 robot when close. CircuitPlayground Bluefruit (Express would work, too), Servo, APDS9960 sensor, mp3 audio, and simultaneous play, NeoPixel pulse, and servo move – YouTube via Twitter.
Shower clock with Raspberry Pi Pico and MicroPython – lucstechblog.
Laurens Valk writes “What do you get if you mix LEGO Duplo with MicroPython, Python, and Pybricks? I built this for my daughters and they had a blast playing with it” – Twitter Thread.
Raspberry Pi Pico Weather Station using MicroPython – BCRobotics.
Roland Schulz writes “I repaired my broken encoder and finished successfully all electrical circuits of my Orion Robots robot. The first tests with CircuitPython also passed. Battery holder and power supplies are also in place” – Twitter.
Testing the encoder motor support on the new Pimoroni robotics HAT on Raspberry Pi – Twitter.
30 Python Language Tricks That Will Make You a Better Coder – morioh.
PyDev of the Week: Allan Campopiano on Mouse vs Python
CircuitPython Weekly Meeting for April 17, 2023 (notes) on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Book: Think Python 2nd. Ed.
Adafruit Feather RP2040 with DVI Output Port – Works with HDMI in Arduino now, CircuitPython later – Adafruit.
Adafruit Feather RP2040 with USB Type A Host – Adafruit.
Orange Pi 800, an “all in the keyboard” computer: Specs, Price, Release & Reviews – all3dp.
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 no new boards added but several are in-progress.
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!
Playing Animated GIF Files in CircuitPython from Anne Barela
Adafruit CircuitPython Wii Classic Controller Library from Liz Clark
Adafruit Feather RP2040 RFM69 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 422!
Here’s this week’s new CircuitPython libraries:
Here’s this week’s updated CircuitPython libraries:
Library PyPI Weekly Download Statistics
Total Library Stats
- 87596 PyPI downloads over 310 libraries
Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 6199
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 5331
- Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1638
- Adafruit CircuitPython Register (adafruit-circuitpython-register): 1545
- Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 917
- Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 884
- Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 817
- Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 801
- Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 730
- Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 722
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s check in!
This week I did some testing and researching of the BNO55 and BNO85 sensors. These sensors do not work well on certain microcontrollers, and on others they are fine. It turns out they sometimes violate the I2C bus protocol. Some I2C implementations are more tolerant of these violations than others. I added warnings to the Learn Guides for these sensors for now. It might also be possible to do some silent error recovery inside the CircuitPython libraries, but for now, we are warning the potential users.
This week I added the CircuitPython Essentials pages to the Feather RP2040 RFM69 guide. This includes the usual, but also includes a simple radio demo. The demo requires two Feathers, and when the appropriate code is loaded onto each one, you can press the Boot button on one, and change the NeoPixel color on the other! Basically, this example shows you how to set up the hardware, and send and receive packets between two modules. That means you have a place to start for any project using the RFM69 module!
Next up is the Adafruit Feather RP2040 RFM95 guide.
Over the past couple of weeks, I finished working on the Robotic AI Bear using ChatGPT Learn Guide. This was once of the biggest project guides I’ve worked on and included 3D printing, Disassembly of the bear, electronics, and lots of code. I had a lot of fun making the project and the project and guide turned out well.
This week I’ve been working on some new capabilities for the pybadger conference badge code to give it an IoT integration and allow it to launch other sample circuitpython scripts from a menu. I’m also still chasing some issues with multiple displays and I’ve got an improvement for the Monster M4sk library to submit that will attach the backlight to the display initialization so the system will keep it on after code.py finishes.
I’ve been feeling better this week. I burned out on i.MX RT work and got tempted by the new Feather RP2040 DVI. I’ve added DVI support to CircuitPython. I’ve proven it works well but have taken a couple shortcuts that I need to fix before creating a PR. Next, I’ll get back to the i.MX RT work that I have pending.
This week I worked on a guide for the CircuitPython Wii Classic Controller library. This library allows you to use a Wii Classic controller connected to a nunchuck breakout with CircuitPython. This is also the first CircuitPython library that I wrote.
Additionally, I’ve been working on adding U2IF support for a few of the RP2040 “bones” Feathers that have been added to the shop. This lets folks use CPython modules with CircuitPython modules on a desktop computer. It’s been a fun learning experience and I’m looking forward to using it in some upcoming projects.
The next MicroPython Meetup in Melbourne will be on April 26th – Meetup.
EuroPython 2023 will be July 17-23, 2023, in Prague, Czech Republic and Remote – EuroPython 2023.
PyCon UK will be returning to Cardiff City Hall from Friday 22nd September to Monday 25th September 2023 – PyCon UK.
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.0.5 and its unstable release is 8.1.0-beta.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20230417 is the latest CircuitPython library bundle.
v1.19.1 is the latest MicroPython release. Documentation for it is here.
3.11.3 is the latest Python release. The latest pre-release version is 3.12.0a7.
3,495 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 37,146 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.
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.