# CircuitPython Weekly Meeting for August 26, 2024


Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates before the meeting, alphabetically by your username. During the meeting, we go through them in order. If you can’t make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and we’ll read them off for you. 


Add any longer-form discussion topics or general questions you have to the “In the weeds” section. 


Thanks! We hope to see you in the meeting!


Jeff is hosting.


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


Join here for the chat all week: 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 which you may be able to enter directly into compatible podcast apps.
## Community News
CircuitPython 9.1.2 and 9.2.0 Alpha 2351 Released
 CircuitPython 9.1.2 Released 

CircuitPython 9.1.2 is the latest bugfix revision of CircuitPython and is a new stable release - Adfafruit Blog and GitHub Release Notes.
Highlights of this release
* Fix Adafruit FunHouse build, which was not working.
* Correct pins for Adafruit Feather ESP32-C6.
* Allow wider range of counts for Counter, FrequencyIn, and IncrementalEncoder.
* Prevent crash or hang on nRF boards when stopping VM and BLE is not running.
CircuitPython 9.2.0-alpha.2351 is an alpha release for 9.2.0. It has significant known bugs, and will have further additions and fixes before the final release of 9.2.0 - Adafruit Blog and GitHub Releases Page.
Project of the Week: An LED Matrix Flight Tracker
 LED Matrix Flight Tracker 

Maker and developer Wesley G Mitchell has put together a Raspberry Pi and Python powered flight tracker that outputs to a custom matrix display - Reddit, GitHub and Tom's Hardware.
 Wii Nunchuck BLE Adapter 

Wii Nunchuck BLE Adapter - Adafruit Playground.
### 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, or tag a post with #CircuitPython on Mastodon, Bluesky, or X (formerly known as Twitter),.
## 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.**
### Overall
* 19 pull requests merged
  * 13 authors - timdechant, FoamyGuy, ehagerty, elpekenin, hexthat, indomitableSwan, dhalbert, tannewt, samblenny, wtuemura, weblate, nak5ive, Sola85
  * 4 reviewers - dhalbert, tannewt, FoamyGuy, BlitzCityDIY
* 14 closed issues by 8 people, 11 opened by 11 people


### Core
* 15 pull requests merged
  * 9 authors - timdechant, elpekenin, hexthat, dhalbert, tannewt, samblenny, wtuemura, weblate, Sola85
  * 3 reviewers - dhalbert, tannewt, BlitzCityDIY
* 20 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 783 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 553 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 541 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 515 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 393 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 328 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 278 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 173 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 152 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9238 (Open 106 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9245 (Open 103 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9349 (Open 68 days)
  * https://github.com/adafruit/circuitpython/pull/9385 (Open 56 days)
  * https://github.com/adafruit/circuitpython/pull/9483 (Open 19 days)
  * https://github.com/adafruit/circuitpython/pull/9532 (Open 9 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9530 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/9529 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/9550 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/9548 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/9559 (Open 2 days)
* 6 closed issues by 3 people, 5 opened by 5 people
* 734 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
 * 10.0.0: 6 open issues
 * 9.1.x: 12 open issues
 * 9.2.0: 3 open issues
 * 9.x.x: 38 open issues
 * Libraries: 22 open issues
 * Long term: 624 open issues
 * Support: 16 open issues
 * Third-party: 14 open issues
 * 0 issues not assigned a milestone


### 8:49 Libraries
* 4 pull requests merged
  * 4 authors - indomitableSwan, FoamyGuy, ehagerty, nak5ive
  * 3 reviewers - dhalbert, tannewt, FoamyGuy
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/221 (Days open: 31)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/120 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/473 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/470 (Days open: 1)
  * 45 open pull requests (Oldest: 739, Newest: 1)
* 5 closed issues by 3 people, 5 opened by 5 people
  * 880 open issues
  * 103 good first issues
* https://circuitpython.org/contributing


#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 181399 PyPI downloads over 333 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 12668
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 12305
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 11370
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2237
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1994
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1887
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1532
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1484
  * Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 1432
  * Adafruit CircuitPython RGB Display (adafruit-circuitpython-rgb-display): 1399


#### Library updates in the last seven days:
* **New Libraries**
  * [adafruit/Adafruit_CircuitPython_Prompt_Toolkit](https://github.com/adafruit/Adafruit_CircuitPython_Prompt_Toolkit)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
  * [adafruit/Adafruit_CircuitPython_ImageLoad](https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad)


### 12:23 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 1053 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 241 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/884 (Open 12 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/140 (Open 8 days)
* 3 closed issues by 3 people, 1 opened by 1 people
* 102 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 18097
* Piwheels Downloads in the last month: 15912
Number of supported boards: 146
## 13:02 Hug reports
13:39 @jepler (hosting)
* Group hug


14:01 @danh
* @todbot for looking at the RP2350 touchio problem, which started a journey on characterizing what appears to be a significant hardware problem with RP2350 GPIO input.
* Thanks also to @Gadgetoid for finding the same problem.
* @BlitzCityDIY for testing C6 issues.
* Welcome back @jepler!


15:01 @DJDevon3 (text only)
* @FoamyGuy & @Elpekenin for help with a pre-commit reuse error
* @FoamyGuy for a livestream on making a circular GUI for the M5Stack Dial.
* @Developers for the recent ESP-IDF 5.3 merges, MicroPython v1.22.2 updates, updates for the upcoming RP2350, and general bug fixes on many different ports.


15:33 @foamyguy
* @jepler welcome back and thank you for sharing your photos with us
* @Tyeth for linking me to the bootloader I needed for a new device
* @DJDevon3 for a pointer to the touch driver that can be used to support the screen on the new device


16:03 @Liz (missing meeting)
* Thanks to @danh for diagnosing and fixing the NeoPixel I2C power pin issue I came across on the ESP32-C6 feather
* @Melissa for looking into various web serial editor issues and her work on the editor so far


16:23 @makermelissa
* @BlitzCityDIY for doing some debugging on the CircuitPython Code Editor and WebSerial ESPTool
* Group Hug


16:41 @SamBlenny (text only)
* Thanks to @tannewt and @danh for help with getting tools set up to do Espressif debug builds


16:54 @elpekenin
* @tannewt, @danh and @jepler for help/feedback on typing-related questions and problems


17:55 @tannewt (out today)
* Discord helpers for identifying a user with a dangerous project.
## 18:07 Status Updates
18:41 @jepler (hosting)
* I just returned from 4 weeks in Africa (Kenya & Tanzania). Going on safari & seeing animals in the wild that I’d previously only seen in zoos was super memorable
* Photo album from my trip: https://photos.app.goo.gl/iRKHTAnWUtqagW34A


19:12 @danh
* Finished MicroPython v1.22 merge, as mentioned last Wednesday. Just started on v1.23 merge.
* Released CircuitPython 9.1.2 for ESP32-C6 pin changes, and CircuitPython 9.2.0-beta.2351 for RP2350 and other updates.
* But Liz found 9.1.2 didn’t turn on `board.NEOPIXEL_I2C_POWER` on ESP32-C6. https://github.com/adafruit/circuitpython/pull/9553 fixes it, and we’ll need a 9.1.3.
* Changed merged PR uploads so that builds of merged PR’s to stable releases, not just main, will now show up in Amazon S3.
* Tested and reported bizarre RP2350 hw bug, after todbot discovered touchio wasn’t working. It’s documented as erratum RP2350-E9, but it happens in more cases than the erratum says.  See https://github.com/raspberrypi/pico-feedback/issues/401.


23:01 @DJDevon3 (text only)
* Finished a proof of concept project for a motion activated liquid soap dispenser. Waiting for some parts to make a much smaller version. I intend on writing a Playground Note on the pros & cons of foam vs liquid peristaltic pumps and DC Motor Featherwing vs L911H motor driver chip with Circuit Python.
* Due to a distributed attack on Adafruit Forums on Friday, Adafruit shared their service status page which uses an uptimerobot API. I dug into the API and quickly made an adafruit_requests example for adafruit status. For services that offer an API such as Adafruit IO MQTT broker it could be useful to check the status of the service prior to use. 


23:51 @foamyguy
* Researching MQTT protocol around the last will disconnection functionality in order to test and review a proposed change to the MiniMQTT library that adjusts some argument types and names to match other functions that use the same concepts
* Created a RotarySelect displayio widget https://github.com/FoamyGuy/CircuitPython_RotarySelect I built it for the M5 Dial device which I recently acquired, but it can be used on other devices as well. I added a secondary example that runs on the funhouse for anyone that may want to try it out but doesn’t have the M5 Dial. Submitted it to the community bundle
* Found a nice set of circle icons that are permissively licensed and made a playground note that details how to resize and then convert them for use with CircuitPython https://adafruit-playground.com/u/Foamyguy/pages/prepare-beautiful-flat-icons-for-use-w-circuitpython I used them in some of the RotarySelect examples.
* Submitting PRs to swap a few more libraries to Ruff after I got them all set up locally for testing and reviewing other things
* Outside CircuitPython: I’ve been learning about MongoDB and practicing integrating it with Python Flask framework. I published a YouTube video that shows a way to set up a very basic user authentication system that stores password hashes and not plain text.


26:03 @makermelissa
* Worked on setting up a Home Assistant Development Environment with Docker
* Worked on debugging some Code Editor issues
* Fixed the WebSerial ESPTool for the ESP32 C6 board
* Working on trying to get the C6 board working reliably with the Code Editor and hopefully this will fix issues with some of the other boards
* Working on a Home Assistant Integration to work with adafruit.io


26:42 @SamBlenny (text only)
* I’ve been trying to get various gamepads working with CircuitPython as the USB host. So far, I’ve had good luck with an Xbox 360 style wired USB gamepad with the max3421e package on ESP32-S3. But, for USB wireless gamepad adapters with more complicated USB behavior, it’s not so easy. Currently, I’m learning to build Espressif firmware with TinyUSB debug logging enabled so I can explore USB host exception handling.


@tannewt (out. Please read)
* Out with family visiting today. Out Friday and Monday for a long Labor Day weekend.
* Fixed tough semaphore bug on S3 funhouse.
* Will fix other bugs this week so we can get 9.2.0 out the door.


27:46 @elpekenin
* Continuing past week’s work: type annotations.
* Started going over the “missing typing” list of issues, on the first one I noticed that typing on BLE code was incomplete and/or wrong, and PR’ed to get that fixed. However, it also requires some fixing on the C code doc-comments, PR’ed it too. While testing those fixes, I noticed some warnings about missing hints on the CircuitPython codebase and got that done too (and ulab too).
## In The Weeds
## Wrap-Up
* Next week’s meeting is on Tuesday September 3rd. NOT Monday!
