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! A busy week in many folks’ lives this past week! CircuitPython gains web workflow on standard ESP32 microcontrollers. CircuitPython Day is very near, see all the events and plan your own. And check out all the happenings worldwide – projects galore.

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:

Web Workflow Added for ESP32 Programming in CircuitPython

Web Workflow Added for ESP32

Of all the great microcontrollers on the market today, ESP32 (the original, no suffix) had been left out of CircuitPython due to not having native USB, not allowing it to act like a flash drive for code. Scott and Dan just merged in Web (WiFi) Workflow for CircuitPython 8.0.0 alpha and ESP32, which means that it’s now incredibly easy to start working with chips like the ESP32 which have excellent WiFi networking but do not have USB mass-storage – Adafruit Blog.

Web Workflow Added for ESP32

Now when we visit the IP address displayed on the odroid’s screen, it will let us immediately go to the built-in serial console that is also web-compatible! Any repl commands are echoed on the display as well. Next up will be uploading files – Video.

CircuitPython Day 2022 – August 19th

Friday August 19 (8/19/2022) is CircuitPython Day 2022, being designated the snakiest day this year! The day highlights all things CircuitPython and Python on Hardware.

Below is the latest on events:

Celebrating Code & Community: A CircuitPython Day Panel Discussion

Panelists take a look back at CircuitPython’s accomplishments over the past year, look forward to what is to come, community Q&A, and more.
Hosted by: Paul Cutler

CircuitPython Day Chat with Kattni, Jeff and Dan

Kattni, Jeff and Dan get together for the third year in a row to talk about what was the most interesting thing each of them has done with CircuitPython over the last year.

Special Edition CircuitPython-Themed Show & Tell

Liz Clark hosts a special edition of Show & Tell that focuses on CircuitPython-themed projects.

CircuitPython 8 Preview

Scott will cover all of the changes upcoming in CircuitPython 8

CURRENT SCHEDULE – all times are US Eastern:

  • 11:00 ET – Celebrating Code & Community: A CircuitPython Day Panel Discussion
  • 13:00 ET – CircuitPython Project Build with Maker Melissa
  • 14:00 ET – Special Edition CircuitPython Themed Show and Tell
  • 15:30 ET – CircuitPython 8 Preview
  • 16:00 ET – CircuitPython Day Chat with Kattni, Jeff and Dan
  • 18:00 ET – Foamyguy CircuitPython Day Game Jam Stream
  • 11:00 AM EDT/17:00 PM CEST Reimagining IoT Deployments with CircuitPython

CircuitPython Day 2022

Adafruit’s CircuitPython has helped open up the IoT and place it within reach of developers of all types. Join Blues Wireless on CircuitPython Day as they look at:

  • Getting Started with CircuitPython and Wireless IoT
  • Walking Through a Real World CircuitPython-based IoT Project
  • Remotely Updating CircuitPython Firmware with Cellular IoT(!?!)

Register for this particular event here.

Working with CircuitPython? Tag your projects #CircuitPythonDay2022 on social media and Adafruit will look to highlight them – Adafruit Blog.

Extending CircuitPython: The Fibonacci Adventure

The Fibonacci Adventure in Extending CircuitPython

Before actually contributing to CircuitPython, Lee Atkinson thought to try a toy extension. A non-hardware related Fibonacci Generator for the Raspberry Pi Pico. The process is excellent at learning the methodologies on how to extend CircuitPython – GitHub.

1,000 CircuitPython Library Bundle Releases

1,000 CircuitPython Library Bundle Releases

Woohoo! Ee were just going to download the library bundle for a project and noticed….we have reached 1000 releases! We do a library bundle release nightly on every detected change – e.g. new version – of a submodule-d CircuitPython library. Psst! Did you know we have reached 300 official Adafruit-written CircuitPython libraries?

Anyways, the bundle is great if you want to make sure you have all the latest libraries. It’s also used by tools like BundleFly and PyLeap to get all the dependencies you need to make your project go.

Educators: Free, High-Quality Instructional Videos for CircuitPython

CircuitPython Cirriculum

Teachers Planning STEM / Programming this year? All materials for John Gallaugher’s entire CircuitPython course for absolute code/maker beginners using Adafruit, Arduino, & Raspberry Pi is FREE online. Slides (exercises & solutions) & syllabus – Twitter.

Chip Shortage: Analog Devices AD8495A

Chip SHortage

Chip Shortage features Ladyada highlighting items that are in short supply or possibly “unobtainium” (with no known return date to the market).

This week it is the Analog Devices AD8495A – Adafruit Blog and YouTube.

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

This week, Tim streamed work on Octopus Game final touches.

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 is off this week. Catch all the episodes in the YouTube playlist.

The CircuitPython Show

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 minute interview – CircuitPythonShow and Twitter.

Joshua Lowe guests in the newest episode released August 8th. Josh shares his project EduBlocks, which helps new programmers bridge the gap between Scratch and Python. – Show List.

Project of the Week: Connecting a Raspberry Pi Pico W to Microsoft Azure IoT Hub using MicroPython and MQTT

Connecting a Raspberry Pi Pico W to Microsoft Azure IoT Hub using MicroPython and MQTT

Connecting a Raspberry Pi Pico W to Microsoft Azure IoT Hub using MicroPython and MQTT – PeteCodes.

News from around the web!

Baby Monitor Haptic Mod

Baby Monitor Haptic Mod – adding a motor driver and BLE to a VTech baby monitor to enable alternative outputs, like haptic feedback, with CircuitPython – hackaday.io.

Mr. micro:bit the robot

Mr. micro:bit the robot teaches kids how to code – Adafruit Blog and hackaday.io.

Programming Tiny devices with MicroPython

Programming Tiny devices with MicroPython. Explore the fantastic world of Physical Computing by programming tiny devices such as the XIAO BLE Sense using CircuitPython – hackster.io.

Belay

Belay Aims to Make PC-Based Python Hardware-Software Interfaces Quick and Easy via MicroPython. Talking to any MicroPython board via serial, Belay lets you integrate hardware interaction into Python programs in a minimum of code – hackster.io.

Creating a Real-time clock on EncroPi using MicroPython

Creating a Real-time clock on EncroPi using MicroPython – Adafruit Blog and hackster.io.

PyPortal CircuitPython project

“Hacking on my PyPortal CircuitPython project to change the orientation and add a Winamp player. Eventually the artist name in the Winamp player will match the chosen record. Before and what’s to come” – Twitter.

Snap DXM Controller

The Snap DXM Controller can be programmed using action rules, read/write maps, a ScriptBasic program, or a MicroPython program – Digi-Key and Banner (PDF).

Vulkan update

Vulkan update: version 1.2 conformance for Raspberry Pi 4 – Adafruit Blog and Raspberry Pi.

MicroPython PiChart

MicroPython PiChart – Twitter.

ESPHome

“Getting ESP32 boards to work with ESPHome… now I don’t have to write any MicroPython networking code just to give my CircuitPython boards WiFi” – Twitter.

How to build and use a Pico Grove adapter

How to build and use a Pico Grove adapter (complete with schematic) – RAREblog.

Espressif's Matter Solutions

Espressif discusses Matter Solutions – YouTube.

Preliminary Launch Trajectory Simulation for Artemis I with the Space Launch System

Simulating the preliminary launch trajectory for Artemis I with the Space Launch System with Python – Researchgate.

Lowbar

lowbar is a blazing fast module with zero dependencies for displaying a progress bar in the terminal. It’s extremely simple with a low amount of code – GitHub.

Choose the Right Python Concurrency API

Choose the Right Python Concurrency API – SuperFastPython.

Real Python

Python Constants: Improve Your Code’s Maintainability – Real Python.

Python in Visual Studio Code – August 2022 Release – Microsoft Python Blog.

PyDev of the Week: Wolf Vollprecht on Mouse vs Python

CircuitPython Weekly Meeting for August 8, 2022 (notes) on YouTube

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Help micro:bit test v2.00 firmware.

Coming Soon

BomberCat

Bombercat is a security tool that combines an RP2020 and an ESP32 MCUs. It’s a security tool that combines the most common card technologies: NFC technology (Near Field Communication) and magnetic stripe technology used in access control, identification, and banking cards. Easy to program using frameworks such as Arduino, CircuitPython, and MicroPython – LinuxGizmos and ElectronicCats.

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 being worked on.

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

CircuitPython MIDI to CV Skull from Liz Clark

Flying Faders from John Park

CircuitPython Libraries!

CircuitPython Libraries

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 Adafruit and community contributed CircuitPython libraries is 361!

Updated Libraries!

Here’s this week’s updated CircuitPython libraries:

What’s the team up to this week?

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

Dan

I’m continuing to work on the plain ESP32 port. I got the port working on ESP32 boards with no PSRAM, and am now incorporating changes Scott made to determine flash and PSRAM pin assignments at run-time.

Once I finish on the ESP32, I will go back to addressing issues we want to fix for the 8.0.0 release.

Jeff

I’ve gotten quite far with the new camera module for the Espressif port. It works on boards with ESP32, ESP32-S2, and ESP32-S3 microcontrollers. However, some more features need to be added before it’s at parity with the previous code.

Kattni

This week I published the Adafruit PCF8574 I2C Expander guide. It has everything you need to get started with this breakout, including examples in CircuitPython and Arduino. If you picked up one of these expanders, check out the guide!

I also put together the video content schedule for CircuitPython Day! Keep an eye out for that on the Adafruit blog.

Melissa

This past week I was out sick for a couple of days, but for the days I was able to work, I was able to finish refactoring the code structure of the code.circuitpython.org website. After that was made live, I started refactoring the UI enough to start adding Web Workflow functionality.

Tim

I tested a fix for Ethernet connections with the Wiznet5k library. I investigated a difference around the tuple constructor having different behavior in CPython and CircuitPython / MicroPython. I continued work on the Octopus guide, and made some final cleanups to a few of the sprite assets. I did the drawing for the initial selections for the Hack Tablet giveaway this week. The remaining winners will be selected 8/26.

Scott

This week I added two more ESP32 boards to CircuitPython and fixed some issues with them. I enabled the web workflow on the Feather ESP32 v2 as well. After that, I’ve been refining the title bar to add info about the running Python code, exceptions and the BLE workflow state. It adds a bit of code to the smallest builds so my next task is to figure out how to make it all fit.

Liz

This past week I worked on the CircuitPython MIDI to CV Skull project. It’s a fun little project that helps to integrate MIDI into your Eurorack or CV controlled synth setup. Big shout out to Thea and her CircuitPython Winterbloom Eurorack modules. Her work is a huge inspiration for a lot of the music tech CircuitPython projects I’ve worked on.

Next up, I’ll be working on some new product documentation and a fun collaboration with the Ruiz brothers.

Upcoming events!

MicroPython Meetup

The next MicroPython Meetup in Melbourne will be on August 24th – Meetup. See the slides of the July 27th meeting.

Kiwi PyCon 2022

Kiwi PyCon is the Python community gathered to meet and to mingle, to share experiences, to learn from each other, and to build lasting relationships. Friday the 19th to Sunday the 21st of August, 2022 all over New Zealand and beyond – Kiwi PyCon 2022.

SiliCon

Silicon Valley’s Premier Comic Con Returns! Featuring The Best In Pop Culture, Tech, Science, Makers, Artists, Cosplay, Gaming, Comic Creators, Authors & More! August 27-28, 2022 San Jose McEnery Convention Center – SiliCon.

Virtual Maker Workshops

PyCon UK 2022

PyCon UK will be returning to Cardiff City Hall from Friday 16th to Sunday 18th September 2022 – PyCon UK.

2022 Hackaday Supercon 6

After two years in remote mode, Hackaday is very excited to announce that this year’s Hackaday Supercon will be coming back, live! Nov. 4th, 5th, and 6th in sunny Pasadena, CA for three days of hacks, talks, and socializing with the Hackaday community – Call for proposals and Hackaday.

Send Your Events In

As for other events, with the COVID pandemic, most in-person events are postponed or held online. If you know of virtual events or upcoming events, please let us know on Twitter with hashtag #CircuitPython or email to cpnews(at)adafruit(dot)com.

Latest releases

CircuitPython’s stable release is 7.3.2 and its unstable release is 8.0.0-alpha.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20220808 is the latest CircuitPython library bundle.

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

3.10.6 is the latest Python release. The latest pre-release version is 3.11.0rc1.

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

jobs.adafruit.com – Find a dream job, find great candidates!

jobs.adafruit.com

jobs.adafruit.com has returned and folks are posting their skills (including CircuitPython) and companies are looking for talented makers to join their companies – from Digi-Key, to Hackaday, Micro Center, Raspberry Pi and more.

35,207 thanks!

35,207 THANKS

Adafruit Discord

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

Codecademy “Learn Hardware Programming with CircuitPython”

Codecademy CircuitPython

Codecademy, an online interactive learning platform used by more than 45 million people, has teamed up with Adafruit to create a coding course, “Learn Hardware Programming with CircuitPython”. The course is now available in the Codecademy catalog.

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.