Daily tips and tricks from the experts at Adafruit!
View this email in your browser

View this email in your browser. Warning: Flashing Imagery

Welcome to the latest Python on Microcontrollers newsletter! The August hype is palpable here in Python Towers (wait, that’s Raspberry Pi). Our next issue is #300: help us celebrate! CircuitPython Day 2024 is August 16th with a huge roster of events shaping up. Tag your projects and events with #CircuitPythonDay2024 on social media. There is so much more in this issue, I had to get the grease out to get it all in, I hope you enjoy. - Anne Barela, Editor

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:

CircuitPython Day 2024 is August 16th

CircuitPython Day 2024

It’s that time of year! Adafruit has determined that August 16, 2024 is the snakiest day of the year and designated it CircuitPython Day! Adafruit will have special shows and more! Are you working with CircuitPython? Tag your projects #CircuitPythonDay2024 on social media and Adafruit will look to highlight them. Do you have events you’d like folks to attend or have projects in the works? Also tag your events #CircuitPythonDay2024. Stay tuned for additional details - Adafruit Blog.

Tulip CC: The MicroPython Computer

Tulip

The Tulip Creative Computer is a portable programmable device for music, graphics, code and writing, running MicroPython on an ESP32-S3 chip - GitHub and YouTube.

This is the Two Hundred Nintey Ninth Newsletter

Almost

Next week will be the 300th issue of this newsletter, on the heels of CircuitPython Day 2024. Thanks to all our subscribers in advance for your loyalty! If you have any special content you’d like considered for the special issue, please send links to cpnews(at)adafruit(dot)com - Adafruit Daily.

The First Release Candidate of Python 3.13.0 is Out

Python 3.13.0

The first release candidate for Python 3.13 is out, freezing features. Developers are looking to complete the documentation and quash any reported bugs. There are many important features that have been added - Python Blog.

HackSpace Magazine Says Farewell

HackSpace Magazine

HackSpace Magazine, Issue 81 just released, will be the last as the publication is folded into The MagPi Magazine. HackSpace featured a good amount of MicroPython/CircuitPython/Python content. Added pages to The MagPi will feature HackSpace content - Raspberry Pi News.

Project-piCo is a KiCad Clone of the Raspberry Pi Pico W

Project-piCo a KiCad Clone of the Raspberry Pi Pico W

While Raspberry Pi makes board design files for the Raspberry Pi Pico range available to download, they’re provided in the proprietary Cadence Allegro file format — requiring either payment of a hefty license fee or multiple stages of error-prone conversion to make them accessible to hobbyists. Sam Hocevar’s clone, by contrast, was reverse-engineered from the original boards and is provided in KiCad format - hackster.io.

The Robocup Junior Competition in The Netherlands

Robocup Junior Competition

Two teams of successful high school students with Storming Robots Technology Learning Lab in the US recently won world titles from this year’s international RoboCup Junior (RCJ) competition. Their entries used Raspberry Pi computers and Adafruit servo control boards, all rrunning Python - Adafruit Blog.

Olimex Teases a Low-Cost Dual-Core RISC-V Dev Board Built Around the Espressif ESP32-P4

Olimex Espressif ESP32-P4

Bulgarian open hardware specialist Olimex has unveiled a near-final design for a gumstick-style development board built around the Espressif ESP32-P4 — the company’s first to feature two full-performance RISC-V processor cores up to 400MHz, 16MB of SPI flash, and a camera interface with 1080p H.264 encoder — plus on-board Ethernet - hackster.io.

Flashing CircuitPython on an nRF52840 Developer Kit Board

CircuitPython on an nRF52840 DK Board

Manojroy wanted to flash CircuitPython on nRF52840 DK but couldn’t find a single article that could help. So Manojroy published a step by step guide - hackster.io.

This Week’s Python Streams

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

Deep Dive

Last Friday, Tim streamed work on imageLoad PNG with transparency and more displayio stuff.

You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist - YouTube.

CircuitPython Parsec

CircuitPython Parsec

John Park’s CircuitPython Parsec this week is on FancyLED Hues - Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

The Bootloader

The Bootloader

A monthly podcast loading you up with news, project updates, and product talk from the CircuitPython and maker communities. Hosted by Paul Cutler and Tod Kurt.

In the August 5th episode, Paul and Tod discuss the new MicroPython IDE ViperIDE, the MicroPython-powered Tulip music computer, and an interview with Debra Ansell about Teardown 2024 - The Bootloader.

CircuitPython Weekly Meeting

CircuitPython Weekly Meeting for July 29th 2024 (notes) on YouTube.

Project of the Week: A YouTube Subscriber Counter

YouTube Subscriber Counter

To celebrate the creation of my YouTube channel’s 1-year anniversary, even though the subscriber count may be low, I hope (this project) it will be beneficial to others. In this project, I’ll be using Raspberry Pico W and CircuitPython - YouTube, hackaday.io and hackster.io.

Popular Last Week

What was the most popular, most clicked link, in last week’s newsletter? The Engineer’s Guide to RF Cable Assembly Selection and Use.

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.

Decison Maker!

A Decison Maker with Circuit Playground Express and CircuitPython - Adafruit Playground.

News From Around the Web

Eye-Following Portrait

Eye-Following Portrait With Raspberry Pi Pico and MicroPython - Instructables.

CircuitPython School

Spin NeoPixels, volume gauge, and list comprehensions (CircuitPython School) - YouTube.

Unleash Your Pico: A Step-by-Step Guide to Installing MicroPython

Unleash Your Pico: a step-by-step guide to installing MicroPython - NoCodeDeveloper Blog.

Explorer Badge

Explorer Badge CircuitPython Demo reel - X.

Working on MicroPython disassembler in ViperIDE

ViperIDE is working on MicroPython disassembler - X.

A Mini Vector Display

Making a mini vector display with MicroPython - … and another thing … via Mastodon.

LCD Dashboard for Raspberry Pi (System Monitor)

An LCD dashboard for Raspberry Pi (System Monitor) with Python - hackster.io and GitHub.

USB power interval timer

A USB power interval timer using RP2040-Zero and CircuitPython. The actual time was 30 minutes - 5 minutes. “It was so easy” - X (Japanese).

Traffic Light

Using a Raspberry Pi Pico and MicroPython to create small Python projects. A traffic light controller is quickly programmed and offers students practical and exciting application possibilities for a text-based language such as Python - X.

Clock

A clock on a long display with Raspberry Pi and Python - X (Japanese).

Micropython running on the Risc-V SoC

“Porting MicroPython turns out to be easier than I expected - the minimal system is really easy to get up and running. So now I have MicroPython running on the RISC-V SoC I made for Tiny Tapeout 4!” - Mastodon.

Raspberry Pi Pico MicroPython or C/C++

Raspberry Pi Pico MicroPython or C/C++ DrJonea.co.uk- YouTube.

Python vs. MicroPython

Python vs. MicroPython: exploring the differences and applications - YouTube.

Matrix Portal weather station

An Adafruit Matrix Portal weather station using a BME280 sensor over I2C displayed on a 64x32 LED matrix using CircuitPython - X and GitHub.

How to Train Custom Hand Gestures Using Mediapipe

How to Train Custom Hand Gestures Using Mediapipe - Instructables.

Trace

Microsoft and Stanford University researchers introduce Trace: a groundbreaking Python Framework poised to revolutionize the outomatic optimization of AI systems - MarkTechPost.

New

Pico Video4 display board

Raspberry Pi RP2040-based Pico Video4 display board features 4 composite video outputs and can be programmed in MicroPython or C++ - CNX Software.

Pico Display Pack 2.8"

Pico Display Pack 2.8” is a 2.8 inch diagonal display programmable in MicroPython or C++ - Pimoroni.

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 (after 19 last week), but there are always more in development.

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

New Learn Guides

CNC Rotary Macropad from Ruiz Brothers

Colorful Creations with the New JLCPCB PCB Service from Anne Barela

CircuitPython Libraries

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 489!

Updated Libraries

Here’s this week’s updated CircuitPython libraries:

Library PyPI Weekly Download Stats

Total Library Stats

  • 166667 PyPI downloads over 331 libraries

Top 10 Libraries by PyPI Downloads

  • Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 11956
  • Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 11091
  • Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 9850
  • Adafruit CircuitPython Register (adafruit-circuitpython-register): 2528
  • Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 2133
  • Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1642
  • Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1500
  • Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1363
  • Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1290
  • Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1283

What’s the CircuitPython team up to this week?

What is the team up to this week? Let’s check in:

Dan

I’ve done all the file merging and reviewing for the merging of MicroPython v1.22 into CircuitPython. I submitted a draft PR and fixed some minor errors that caused parts of the build to fail. Now I need to examine and fix the errors that are appearing when the tests are run. But there aren’t many and I hope to finish the merge soon.

Tim

This week I tested some changes that add backwards compatibility to Blinka DisplayIO on a Raspberry Pi. I’ve also been continuing move libraries over to use Ruff instead of Black and PyLint as I’m looking into them to review PRs. The other thing I did was looking into RTD builds to try to confirm a new fix for an issue that resulted in the board module documentation page being blank.

Scott

This last week I’ve continued work on CircuitMatter. I’ve successfully established a passcode based secure channel and decrypted the next message sent over it. It is part of the “interaction model” layer of Matter so I’m laying more groundwork for how that layer will work. I suspect it is the same layer that user code will interact with from within Python/CircuitPython.

Liz

This week I worked on code for the CNC Rotary Macropad guide. This project is a collab with the Ruiz brothers and uses a Feather RP2040 with ortho snap apart NeoKeys and a chonky CNC rotary encoder. I wrote the code to be easily customizable for folks so that they could change the shortcuts if they wanted to.

Upcoming Events

MicroPython Meetup

The next MicroPython Meetup in Melbourne will be on August 28 – Meetup. You can see recordings of previous meetings on YouTube. The July 2024 Video.

Espressif DevCon24

Espressif DevCon24 will be held Sep 3-5, 13:00-18:00 CEST. Call for presentations now - Espressif.

Maker Faire Bay Area

Maker Faire Bay Area returns to Mare Island Naval Shipyard on October 18-20, 2024 - Maker Faire.

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.1.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20240730 is the latest Adafruit CircuitPython library bundle.

20240729 is the latest CircuitPython Community library bundle.

v1.23.0 is the latest MicroPython release. Documentation for it is here.

3.12.4 is the latest Python release. The latest pre-release version is 3.13.0rc1.

3,977 Stars Like CircuitPython? Star it on GitHub!

Call for Help – Translating CircuitPython is now easier than ever

CircuitPython translation statistics on weblate

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,159 Thanks

38,159 THANKS

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 38,159 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

ICYMI

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.