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! It’s been a few years since the Raspberry Pi 4 was released, so the user base is very excited with this week’s news on the Raspberry Pi 5 with all the official links in this issue. Also check out the Python Developer’s Survey on how Python is being used in the community – 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:

Raspberry Pi 5 Details Released

Raspberry Pi 5

On the heels of the supply shortage easing comes information on the Raspberry Pi 5 – Raspberry Pi.

There are many new features, many requested by the community and enthusiasts for modern computing – Raspberry Pi Blog and YouTube.

  • 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU
  • VideoCore VII GPU, supporting OpenGL ES 3.1, Vulkan 1.2
  • Dual 4Kp60 HDMI® display output
  • 4Kp60 HEVC decoder
  • Dual-band 802.11ac Wi-Fi®
  • Bluetooth 5.0 / Bluetooth Low Energy (BLE)
  • High-speed microSD card interface with SDR104 mode support
  • 2 × USB 3.0 ports, supporting simultaneous 5Gbps operation
  • 2 × USB 2.0 ports
  • Gigabit Ethernet, with PoE+ support (requires separate PoE+ HAT, coming soon)
  • 2 × 4-lane MIPI camera/display transceivers
  • PCIe 2.0 x1 interface for fast peripherals
  • Raspberry Pi standard 40-pin GPIO header
  • Real-time clock
  • Power button

Raspberry Pi founder Eben Upton states:

Priced at $60 for the 4GB variant, and $80 for its 8GB sibling (plus your local taxes), virtually every aspect of the platform has been upgraded, delivering a no-compromises user experience. Raspberry Pi 5 comes with new features, it’s over twice as fast as its predecessor, and it’s the first Raspberry Pi computer to feature silicon designed in‑house here in Cambridge, UK.

And check out this video from Eben on the seven year journey getting to the Pi 5 – YouTube.

According to Raspberry Pi, subscribers of The MagPi or HackSpace Magazine will get “Priority Boarding” for obtaining a Pi 5. With Priority Boarding, one can pre-order a Raspberry Pi 5 (4 GB or 8 GB) and it’ll get sent out at the front of the shipping queue. Raspberry Pi states boards will ship in late October 2023.

Authorized resellers have their own policies. Adafruit has signups for Pi 5 boards and accessories at adafruit.com/new (note this is not preorder).

Python Developers Survey 2022 Results

Python Developers Survey 2022 Results

The Python Software Foundation has announced the results of the sixth official annual Python Developers Survey. This work is done each year as a collaborative effort between the Python Software Foundation and JetBrains. Late last year, more than 23,000 Python developers and enthusiasts from almost 200 countries/regions participated in the survey to reveal the current state of the language and the ecosystem around it – JetBrains and PSF.

Highlights

  • 8% of those surveyed are using it for embedded development (up from 7% last year) with 10% using it as a secondary language for embedded work.
  • 59% of Python users use Linux, 58% Windows, 26% macOS
  • 51% use Python for work and personal, 28% personal only, 21% work only

October is Open Hardware Month

Open Hardware Month

October is Open Hardware Month! Join OSHWA by certifying hardware as open source, becoming a member, or (where it is safe due to the pandemic) hosting a small event. OSHWA is providing resources and asking the community to host small, local events in the name of open source hardware – OSHWA.

Open Hardware Month: Certification Chat

hackster.io welcomed Sid Drmay to discuss everything the Open Source Hardware Association (OSHWA) is planning for Open Hardware Month! Guest Ayesha Iftiqhar-Wilson joins the conversation as Alex Glow explores the process of documenting projects on their way to OSHWA certification. Now’s the perfect time to certify a project, become a member of OSHWA, or get involved in other ways – YouTube.

Hacktoberfest 10 is Here

Hacktoberfest

This year marks the 10th anniversary of Hacktoberfest! Hacktoberfest has grown from 676 participants in 2014 to nearly 147,000 participants last year – Hacktoberfest.

What is Hacktoberfest?

“Join forces in virtual and in-person events to get your project’s pull/merge requests done as a team, learn new skills, and meet lifelong friends. This year we’re partnering with Major League Hacking to help the community connect. Open source projects, maintained by community-minded coders, make the modern internet function. Supporting that essential work, and the folks behind it, is what Hacktoberfest is all about.”

As in previous years, CircuitPython is participating in Hacktoberfest, marking some pull requests as Hacktober eligible. The list of eligible issues is here. More info – Adafruit Blog.

Note the reward system is shifting from T-shirts to virtual rewards – Hacktoberfest Rewards.

LibrePCB 1.0 Announced

LibrePCB 1.0

The 1.0 version of the LibrePCB “free, cross-platform, easy-to-use electronic design automation suite to draw schematics and design printed circuit boards” is out. A grant this year helped spur development of the tool with the focus for the release being adding features that were needed so that “there should be no show stopper anymore which prevents you from using LibrePCB for more complex PCB (printed circuit board) designs”.

New features include a 3D viewer and export format for working with designs in a mechanical computer aided design (CAD) tool, support for manufacturer part number (MFN) management, and lots of board editor features such as thermal relief pads in planes, blind & buried vias, keepout zones, and more – LibrePCB and lwn.net.

A RGB LED Matrix visualizer

RGB LED Matrix visualizer

RGB LED Matrix visualizer provides various methods to display information on “HUB75” RGB LED matrix modules, running on Raspberry Pi and Pico W. Various graphics, text and animated GIFs are all supported – xythobuz.de and GitHub.

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

You can see the latest 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 Circuit Playground Sound Detection – Adafruit Blog and YouTube.

Catch all the episodes in the YouTube playlist.

Project of the Week: The Pico W Air is a Sensor Data Logger using MQTT

Pico W Air

Pico W Air is a tiny board to get started on environmental data logging. It broadcasts PMS5003 particulate matter (and other STEMMA QT/Qwiic) sensor data over MQTT. It’s also a tiny web server with a JSON API running on CircuitPython – X, Formerly Twitter and GitHub.

News from around the web!

Chess

A game of chess on a Pimoroni eInk Badger2040 running MicroPython – X and GitHub.

Synthio Synth

Building a hex key keyboard synth with CircuitPython and synthioMastodon.

Karma

Meet Karma, GeekMomProjects new colorful companion bot designed in collaboration with @odd_jayy. She sits on a shoulder and responds to faces and to touch. One ear lights blue, depending on which side of midline she sees the closest face. Her head moves to track it too. There is a small “person” sensor in her head that locates face bounding boxes, plus a capacitive touch sensor that changes animation patterns along her back ridge when petted – Instagram.

Book

A free Python book online: Research Software Engineering with Python – Merely Useful Tech.

Diorama

Making dioramas with small screens running CircuitPython displaying animated GIFs – X (Japanese) and Adafruit Blog.

Compass Belt

This belt has vibration motors attached to it and these tell the wearer which way north is. A Raspberry Pi Pico W running MicroPython controls the motors. It in turn receives its commands from a smartphone via USB – Raspberry Pi.

Air guitar

Playing air guitar with CircuitPython synthio using reactive mittens – X.

PicoVision MicroComputer

Last month we reported on the Pimoroni Pico Vision board with two RP2040 chips to provide computing and video display. GitHub now has code for a concept microcomputer based on Pico Vision – GitHub.

MQTT-Enabled Scrolling Text with ATOM Matrix

MQTT-enabled scrolling text with ATOM Matrix and MicroPython – maker.io.

AR Helmet

An Armachat AR LoRa messenger with two 1.69” IPS 280X240 displays in an AR helmet. RP2040 running CircuitPython software with little hacked ST7789 driver for mirror screens – X and YouTube.

Badge

Flashing software on the MakerBadge using CircuitPython (Czech) – X and GitHub.

Robot MR-Pico

MR-Pico is a small mobile robot based on a Raspberry Pi Pico W board running MicroPython – Mace Robotics via X.

PyDev of the Week: Claudia Ng on Mouse vs Python.

CircuitPython Weekly Meeting for September 25, 2023 (notes) on YouTube.

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? pico-ice RP2040 plus Lattice iCE40UP5K FPGA.

New

Adafruit Qualia ESP32-S3

Adafruit Qualia ESP32-S3 is a microcontroller board with capabilities for driving large TTL RGB-666 displays. RGB TTL interface TFT displays can get big: they start out at around 4.3” diagonal 480×272, and can get to 800×480, 800×600 or even 720×720 square, round or bar displays – Adafruit.

LILYGO T-ETH-Lite

LILYGO T-ETH-Lite is an ESP32-S3 board with RJ45 Ethernet and optional PoE support – CNX Software.

Satslink

Satslink has come out with a handheld “BlackBerry-like” all-in-one communicator running MicroPython. It uses an ESP32-S3 with WiFi, Bluetooth, ESP-Now, a color LCD display, keyboard, NRC Tag emulation, QR Code scanner, microSD and GPIO – Satslink via X.

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, but several are 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

Guitar Synth with CircuitPython SynthIO from Ruiz Brothers

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

Updated Libraries!

Here’s this week’s updated CircuitPython libraries:

Library PyPI Weekly Download Stats

  • Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 11135
  • Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 10985
  • Adafruit CircuitPython Register (adafruit-circuitpython-register): 3564
  • Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1799
  • Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 1693
  • Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1674
  • Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 1617
  • Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1313
  • Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1251
  • Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1240

What’s the CircuitPython team up to this week?

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

Dan

I continued working on the MicroPython V1.20.0 merge into CircuitPython. Thanks to Jeff who got mpy-cross and the UNIX port building. I am starting with Trinket M0 and I am correcting things to make it build, and then I’ll do the same for other representative boards. We also have various test failures to address.

I also spent some time trying to track down why the NINA-FW firmware does not work with a particular certificate chain. I did not yet find a cause. The same chain also fails on the Arduino version of NINA-FW. It works fine with the native WiFi module in CircuitPython on Espressif boards.

Melissa

Melissa

This past week I’ve been working on revamping Blinka’s displayio implementation and added grayscale and monochrome screen support. This also updates much of the underlying logic to be much more in line with CircuitPython’s displayio implementation. It also adds dirty rectangle tracking so it draws more efficiently and it has been updated to use CircuitPython’s font.

Tim

This week I’ve been working on a tool that can make releases on GitHub for all CircuitPython libraries that have newer commits than the most recent release. I used it initially to make releases for the patch that was pushed out last week. Next I’ll work on adding some additional review steps and potentially more capabilities like allowing the user to input a tag name rather than using the auto-generated one.

Jeff

Last week, I continued to divide my time between further improvements to the dot clock TFT initialization code and the MicroPython 1.20 merge. I also refined the CircuitPython firmware for the Unicomp Mini M Keyboard. I’m taking some time off so this will be my last update for a few weeks! See you in November.

Scott

Last week I merged in the updates for ESP IDF 5.0 and 5.1. Now, I’m fixing bugs we’ve found. 🙂 First, thanks to @bill88t who noticed ESP32 was broken after the 5.1 update. I just merged in a fix for that. Second, the original 5.0 merge disabled rgbmatrix so I’m working to re-enable it but finding some crashes that need fixing too.

Liz

This week I worked on the guide for the HUSB238 breakout. This breakout lets you request specific voltages from a USB C PD adapter. I’m hoping to use this breakout to convert some gear I have to use USB C for power rather than random wall wart DC power.

Upcoming Events!

Maker Faire Bay Area

Maker Faire Bay Area will be October 13-15 & October 20-22, 2023 – Eventbright.

MicroPython Meetup

The next MicroPython Meetup in Melbourne will be on October 25th – Meetup.

Hackaday Supercon 2023

Hackaday has announced that the Hackaday Supercon is on for 2023, and will be taking place November 3 – 5 in Pasadena, California, USA – Adafruit Blog and Hackaday.

PyLadiesCon

The inaugural PyLadies Conference will take place December 1-3, 2023 – pretalx.

Pyjamas 2023

The Pyjamas Conference, the 24-hour online Python conference, will be returning for a fifth year on December 9-10.

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

20230927 is the latest Adafruit CircuitPython library bundle.

20230917 is the latest CircuitPython Community library bundle.

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

3.11.5 is the latest Python release. The latest pre-release version is 3.12.0rc3.

3,672 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.

37,770 Thanks!

37,770 THANKS

Adafruit Discord

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

Contribute!

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.