# CircuitPython Weekly Meeting for June 2, 2025

Video is available on [YouTube](https://youtu.be/t6uoNY8biAw).

Join here for the chat all week: [http://adafru.it/discord](http://adafru.it/discord).

The CircuitPython Weekly Meeting normally is held at 2pm US ET/11am PT on Mondays. Check the \#circuitpython channel on Discord for notices of change in time and links to past meetings. Meeting times are also available in [iCal format](https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical) for use with standard calendar applications and can also be viewed [in your browser](https://open-web-calendar.hosted.quelltext.eu/calendar.html?url=https%3A%2F%2Fraw.githubusercontent.com%2Fadafruit%2Fadafruit-circuitpython-weekly-meeting%2Fmain%2Fmeeting.ical&title=CircuitPython%20Meeting%20Schedule&tab=agenda&tabs=month&tabs=agenda).

If you want to be able to participate in the meeting by speaking, you will need to be added to the @circuitpythonistas role on Discord. Please ask any of the moderators or admins to add you if you’d like to join.

CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from https://adafruit.com.

Reminders: Podcast available on most services. Let us know if we’re missing some. The canonical URL for the podcast version is [https://adafruit-podcasts.s3.amazonaws.com/circuitpython\_weekly\_meeting/audio-podcast.xml](https://adafruit-podcasts.s3.amazonaws.com/circuitpython_weekly_meeting/audio-podcast.xml) which you may be able to enter directly into compatible podcast apps.

## 01:41 Community News

### \#\#\# CircuitPython 9.2.8 Released

CircuitPython 9.2.8, the latest bugfix revision of CircuitPython and is the new stable release \- [Adafruit Blog](https://blog.adafruit.com/2025/05/28/circuitpython-9-2-8-released/) and [Release Notes.](https://github.com/adafruit/circuitpython/releases/tag/9.2.8)

Highlights of this release

* Fix deque bug.  
* Fix I2S audio file read causing memory corruption.  
* Support “Spectra6” six-color e-ink displays.  
* Fix audiodelays.Delay when freq\_shift=True.  
* Board fixes.

### \#\#\# 02:11 The CircuitPython Show

In the last episode of this season of The CircuitPython Show, Paul welcomed Justin Myers. Justin shares how he started with computers and electronics and how he developed connectionmanager to make networking easier in CircuitPython \- [The CircuitPython Show.](https://www.circuitpythonshow.com/@circuitpythonshow)

### \#\#\# 02:25 Project of the Week: PyBadge Face Invaders

PyBadge Face Invaders is an asteroids-like arcade game that runs on the Adafruit PyBadge and features personalized faces to dodge and destroy, programmed in CircuitPython \- [hackster.io](http://hackster.io) and [GitHub.](https://github.com/rhammell/pybadge-face-invaders)

### 02:41 Newsletter Details

The Python on Microcontrollers Weekly Newsletter is a CircuitPython-community-run newsletter emailed every Monday. The complete archives are \[here\](https://www.adafruitdaily.com/category/circuitpython/). It highlights the latest Python on hardware related news from around the web including CircuitPython, Python and MicroPython developments. 

To contribute your own news or project, edit next week's draft [on GitHub](https://github.com/adafruit/circuitpython-weekly-newsletter/tree/gh-pages/_drafts) and [submit a pull request](https://help.github.com/articles/editing-files-in-your-repository/) with the changes. You may also or email [cpnews@adafruit.com](mailto:cpnews@adafruit.com), or tag a post with \#CircuitPython on Mastodon, Bluesky, or X (formerly known as Twitter),.

## 03:21 State of CircuitPython, Libraries and Blinka

**This report contains information from the previous seven days. Any changes (PRs merged, etc.) made today are not included in this report.**

### 03:36 Overall

* 53 pull requests merged  
  * 13 authors \- Timeline8, tekktrik, pantheraleo-7, cinderblockgames, FoamyGuy, bablokb, dhalbert, BZab, ilario, justmobilize, hexthat, BlitzCityDIY, jepler  
  * 7 reviewers \- ladyada, makermelissa, tekktrik, BlitzCityDIY, eightycc, FoamyGuy, dhalbert  
* 13 closed issues by 8 people, 11 opened by 10 people

### 03:52 Core

* 11 pull requests merged  
  * 6 authors \- Timeline8, tekktrik, hexthat, jepler, bablokb, dhalbert  
  * 2 reviewers \- eightycc, dhalbert  
* 19 open pull requests  
  * [https://github.com/adafruit/circuitpython/pull/9094](https://github.com/adafruit/circuitpython/pull/9094) (Open 432 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9349](https://github.com/adafruit/circuitpython/pull/9349) (Open 348 days)  
  * [https://github.com/adafruit/circuitpython/pull/9559](https://github.com/adafruit/circuitpython/pull/9559) (Open 282 days)  
  * [https://github.com/adafruit/circuitpython/pull/9844](https://github.com/adafruit/circuitpython/pull/9844) (Open 185 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9883](https://github.com/adafruit/circuitpython/pull/9883) (Open 174 days)  
  * [https://github.com/adafruit/circuitpython/pull/9909](https://github.com/adafruit/circuitpython/pull/9909) (Open 160 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9955](https://github.com/adafruit/circuitpython/pull/9955) (Open 140 days)  
  * [https://github.com/adafruit/circuitpython/pull/10023](https://github.com/adafruit/circuitpython/pull/10023) (Open 119 days)  
  * [https://github.com/adafruit/circuitpython/pull/10056](https://github.com/adafruit/circuitpython/pull/10056) (Open 108 days)  
  * [https://github.com/adafruit/circuitpython/pull/10080](https://github.com/adafruit/circuitpython/pull/10080) (Open 102 days)  
  * [https://github.com/adafruit/circuitpython/pull/10265](https://github.com/adafruit/circuitpython/pull/10265) (Open 46 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10283](https://github.com/adafruit/circuitpython/pull/10283) (Open 40 days)  
  * [https://github.com/adafruit/circuitpython/pull/10287](https://github.com/adafruit/circuitpython/pull/10287) (Open 39 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10297](https://github.com/adafruit/circuitpython/pull/10297) (Open 36 days)  
  * [https://github.com/adafruit/circuitpython/pull/10303](https://github.com/adafruit/circuitpython/pull/10303) (Open 31 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10320](https://github.com/adafruit/circuitpython/pull/10320) (Open 24 days)  
  * [https://github.com/adafruit/circuitpython/pull/10354](https://github.com/adafruit/circuitpython/pull/10354) (Open 16 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10369](https://github.com/adafruit/circuitpython/pull/10369) (Open 9 days)  
  * [https://github.com/adafruit/circuitpython/pull/10379](https://github.com/adafruit/circuitpython/pull/10379) (Open 5 days)  
* 4 closed issues by 3 people, 5 opened by 5 people  
* 768 open issues  
  * [https://github.com/adafruit/circuitpython/issues](https://github.com/adafruit/circuitpython/issues)  
* 9 active milestones  
* 10.0.0: 18 open issues  
* 10.0.x: 1 open issues  
* 10.x.x: 42 open issues  
* 11.0.0: 7 open issues  
* 9.2.x: 0 open issues  
* Libraries: 16 open issues  
* Long term: 638 open issues  
* Support: 29 open issues  
* Third-party: 16 open issues  
* 2 issues not assigned a milestone

### 05:36 Libraries

* Adafruit Libraries: 363 Community Libraries: 165 (Total: 528\)  
* 41 pull requests merged  
  * 7 authors \- **ilario**, justmobilize, BlitzCityDIY, **pantheraleo-7**, **cinderblockgames**, FoamyGuy, **BZab**  
  * 5 reviewers \- ladyada, tekktrik, BlitzCityDIY, FoamyGuy, dhalbert  
  * Merged pull requests:  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_INA219/pull/39](https://github.com/adafruit/Adafruit_CircuitPython_INA219/pull/39) (Days open: 61\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_Fingerprint/pull/57](https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/57) (Days open: 52\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_hashlib/pull/23](https://github.com/adafruit/Adafruit_CircuitPython_hashlib/pull/23) (Days open: 12\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_INA3221/pull/8](https://github.com/adafruit/Adafruit_CircuitPython_INA3221/pull/8) (Days open: 11\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_Bundle/pull/507](https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/507) (Days open: 3\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_Requests/pull/213](https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/213) (Days open: 2\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_SEN6x/pull/1](https://github.com/adafruit/Adafruit_CircuitPython_SEN6x/pull/1) (Days open: 1\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_OPT4048/pull/3](https://github.com/adafruit/Adafruit_CircuitPython_OPT4048/pull/3) (Days open: 1\)  
  * [s-light/CircuitPython\_ansi\_escape\_code](https://github.com/s-light/CircuitPython_ansi_escape_code)

### 09:52 Blinka

* 1 pull requests merged  
  * 1 authors \- FoamyGuy  
  * 2 reviewers \- makermelissa, FoamyGuy  
* 13 open pull requests  
  * [https://github.com/adafruit/Adafruit\_Blinka\_bleio/pull/40](https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40) (Open 1333 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/335](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335) (Open 521 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/884](https://github.com/adafruit/Adafruit_Blinka/pull/884) (Open 292 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/140](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/140) (Open 288 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/888](https://github.com/adafruit/Adafruit_Blinka/pull/888) (Open 275 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/908](https://github.com/adafruit/Adafruit_Blinka/pull/908) (Open 205 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/372](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/372) (Open 172 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/143](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/143) (Open 137 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/156](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/156) (Open 98 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Piomatter/pull/43](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/43) (Open 34 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Neopixel/pull/9](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Neopixel/pull/9) (Open 34 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_rp1pio/pull/22](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_rp1pio/pull/22) (Open 34 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_PyPortal/pull/24](https://github.com/adafruit/Adafruit_Blinka_PyPortal/pull/24) (Open 1 days)  
* 2 closed issues by 2 people, 1 opened by 1 people  
* 154 open issues  
  * [https://github.com/adafruit/Adafruit\_Blinka/issues](https://github.com/adafruit/Adafruit_Blinka/issues)  
* Number of supported boards: 162

## 10:27 Hug reports

10:42 @Liz (hosting)

* @foamyguy for working on the OPT4048 library and guide  
* Group hug\!

10:59 @danh

* @Timeline8 for fixes  
* @tekktrik for recent GitHub actions and library work  
* @Sola85 for diagnosing an old problem and finding some new ones

11:35 @david.glaude (not present)

* Group Hug\!

11:40 @foamyguy

* @Tekktrik for reviewing some library PRs & Looking into some other library / docs issues  
* @danh for looking into an issue with the report files uploaded to S3

## 12:24 Status Updates

12:42 @Liz (hosting)

* Last week I worked on a CircuitPython library for the SEN6x sensors. This library is used in the Learn Guide for the new SEN6x STEMMA QT adapter breakout which will likely be live later this week.  
* This week I wrote some CircuitPython code for an LED matrix clock. It uses two of the STEMMA QT IS31FL3741 breakouts for the clock display with an ESP32-S3 QT Py and Audio BFF for some audio alarm functionality. I’ll also be working on documenting the INA237 breakout.

13:33 @danh

* Fixed mpy-cross builds to be statically linked again (regression during a previous merge).  
* Switched from gcc13 to gcc14 on circuitpython `main` branch.  
* Did reviews.  
* Working on MicroPython v1.24.1 merge. Going smoothly so far. Will do v1.25 after that.

15:01 @david.glaude (not present)

* Progress on displaying EVVC (Solar panel and EV car charging) on various hardware, while trying to keep a single code base:  
* Trying to dynamically adapt to various screen sizes from different hardware.  
  * Will need to change font size depending on screen size, or display less information on smaller screens.  
* Creating a function (in a separate python file) to isolate the network initialisation. It does detect the board or using the right calls for a AirLift or WizNet Featherwing (based on an extra variable in settings.toml). The function returns socket\_pool and ssl\_context for later use with minimqtt.  
* Creating a Text only version, using print rather than displayio, to be able to test the network code on picoW or other board without screen attached.  
* Currently working combo:  
  * PyPortal  
  * Memento  
  * T-Watch (and other Lilygo ESP+Screen board)  
  * Feather RP2040 \+ FeatherWing AirLift \=\> Text only output  
  * Feather RP2350 \+ FeatherWing WizNet \=\> HSTX/DVI output

16:00 @foamyguy

* Finished OPT4048 driver and guide  
* Updating 8.x displayio API usage in many libraries, almost through all of them found from a search in github  
* Added AnyDisplay type annotation to circuitpyhon\_typing  
* Blinka Displayio \- Removed 8.x API compatibility & fixed circular import issue  
* Wrote code for Feather S2 deep sleep and post data to AIO example and troubshooting an issue with corrupted flash

## 18:26 In The Weeds

@david.glaude (not present)

* Is there an easy way to autodetect what network stack is possibly available on a board? \=\> Are the following assumptions right? How would you suggest doing that?  
  * Assumption 1: If the module “wifi” is present, you are on an ESP or PicoW/Pico2W and you should use that.  
    * *Yes, though “should” is relative… you may have more than one network interface (@anecdata \- text only)*  
  * Assumption 2: If this is a board with built-in AirLift (PyPortal, Metro X+AirLift, …) then there are pins with a specific name that you can identify the availability of an AirLift. \=\> What pin is unique and common to board with AirLift?  
    * *ESP\_CS is usually the pin name (@danh)*  
  * Assumption 3: It is hard to tell if a Feather has an AirLift or WizNet FeatherWing attach, it is easier to have a env variable for that.  
    * *You could define your own env variable for that purpose, because there is no strong CircuitPython need to have such a variable pre-defined (@danh)*  
    * *Or you could completely define the “radio” in an imported python file and use that radio base for wifi, airlift, or ethernet (@anecdata \- text only)*  
* Do you know if it is possible (or plan) to build an AirLift for the FruitJam?  
  * There are exposed additional pins on the FruitJam, but I don’t know if an (additional) SPI bus is possible on those while using every other feature from the board.  
  * If possible, then can the “Adafruit AirLift Shield \- ESP32 WiFi Co-Processor” [https://www.adafruit.com/product/4285](https://www.adafruit.com/product/4285) provide the same feature for the “Franken’s Fruit Jam”?   
  * *Product version of Fruit Jam will probably have an ESP32-C6 (@danh)*

## 22:25 Wrap-Up

