# CircuitPython Weekly Meeting for December 2, 2024


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


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.
## 02:02 Community News
### 02:05 MicroPython v1.24.1 is Out
MicroPython v1.24.1 is a patch release containing 21 new commits to the codebase. It is particularly useful for rp2 and ESP32 builds and it's also a good idea to update mpremote - GitHub Release Notes and Prebuilt Downloads.
### 02:27 MicroPython: The Best Bits! - Matt Trentini at Pycon AU 2024)
MicroPython continues to grow in popularity. But why? What is it about this pint-sized version of Python that makes it compelling? What are the best bits of MicroPython? Join Matt Trentini in this talk for a whirlwind tour of some of the most exciting features of this modern embedded programming language - Talk on YouTube and Slides. Via Mastodon.
### 02:58 Project of the Week
The CircuitPython_PIO_I2S library by Cooper Dalrymple provides bidirectional I2S audio communication using PIO on Raspberry Pi RP2xxx microcontrollers - GitHub and Adafruit Playground.
### 03:15 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),.
## 03:54 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.**
### 04:09 Overall
* 16 pull requests merged
  * 9 authors - eightycc, jepler, SeanTheITGuy, Brandon-Hurst, anecdata, bablokb, aguaviva, FoamyGuy, dhalbert
  * 7 reviewers - jepler, ladyada, brentru, FoamyGuy, TheKitty, dhalbert, tannewt
* 19 closed issues by 7 people, 15 opened by 14 people
### 04:42 Core
* 11 pull requests merged
  * 8 authors - eightycc, jepler, SeanTheITGuy, Brandon-Hurst, anecdata, bablokb, aguaviva, dhalbert
  * 4 reviewers - jepler, ladyada, tannewt, dhalbert
* 23 open pull requests
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 639 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 613 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 491 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 426 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 376 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 271 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 250 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9238 (Open 204 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9245 (Open 201 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9349 (Open 166 days)
  * https://github.com/adafruit/circuitpython/pull/9385 (Open 154 days)
  * https://github.com/adafruit/circuitpython/pull/9550 (Open 101 days)
  * https://github.com/adafruit/circuitpython/pull/9559 (Open 100 days)
  * https://github.com/adafruit/circuitpython/pull/9753 (Open 39 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9776 (Open 31 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9804 (Open 20 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9828 (Open 7 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9841 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/9840 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/9844 (Open 3 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9851 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/9850 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/9849 (Open 0 days)
* 8 closed issues by 4 people, 7 opened by 7 people
* 759 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
 * 10.0.0: 12 open issues
 * 9.2.x: 2 open issues
 * 9.x.x: 47 open issues
 * Libraries: 22 open issues
 * Long term: 639 open issues
 * Support: 17 open issues
 * Third-party: 15 open issues
 * 5 issues not assigned a milestone (now zero – danh)
### 06:08 Libraries
* Adafruit Libraries: 347 Community Libraries: 159 (Total: 506)
* 5 pull requests merged
  * 2 authors - jepler, FoamyGuy
  * 6 reviewers - jepler, ladyada, FoamyGuy, TheKitty, brentru, dhalbert
  * Merged pull requests:
        * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/228 (Days open: 2)
        * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/pull/79 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Typing/pull/45 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_floppy/pull/12 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Dash_Display/pull/19 (Days open: 1)
  * 49 open pull requests (Oldest: 837, Newest: 1)
* 10 closed issues by 3 people, 8 opened by 7 people
  * 831 open issues
  * 98 good first issues
* https://circuitpython.org/contributing
#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_CharLCD](https://github.com/adafruit/Adafruit_CircuitPython_CharLCD)
  * [adafruit/Adafruit_CircuitPython_Dash_Dis](https://github.com/adafruit/Adafruit_CircuitPython_Dash_Dis)
  * [adafruit/Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
  * [jposada202020/CircuitPython-UBoxplot](https://github.com/jposada202020/CircuitPython-UBoxplot)
### 10:45 Blinka
* 0 pull requests merged
  * 0 authors -
  * 0 reviewers -
* 9 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 1151 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 339 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/884 (Open 110 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/140 (Open 106 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/888 (Open 93 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/908 (Open 23 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/911 (Open 15 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/914 (Open 0 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/370 (Open 0 days)
* 1 closed issues by 1 people, 0 opened by 0 people
* 113 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 19582
Number of supported boards: 146
## 11:18 Hug reports
11:35 @Liz (hosting)
* Group hug!


11:41 @CGrover (text only)
* Group Hug


11:45 @danh
* @Xarnlen for forking, fixing, and publishing Joe DeVivo’s VSCode CircuitPython extension. See https://github.com/wmerkens/vscode-circuitpython and https://marketplace.visualstudio.com/items?itemName=wmerkens.vscode-circuitpython-v2.
* @jepler for finishing up floppsy (also Arduino)
* @tannewt for ESP32-P4 USB


12:42 @foamyguy
* @jposada202020 for submitting a displayio sensor example, and it’s nice to see your name pop up on github. Hope you’re doing well!
* @xarnlen for working on the VSCode extension
* Group hug


13:22 @jepler
* Tim for continuing to pick off long-neglected issues
* Dan for testing stuff on Windows & digging up arcane knowledge of USB stuff
* Jposada202020 for merging in some pull requests that I filed a little while ago
* @factsEngineering on github, likewise


14:09 @Jose (not in the meeting)
* Github User bradcar for making a PR to correct a bug CircuitPython BMP581. They contacted me on my “default” library email that was on my spam. Anyway that leads to my second hug report
* @jepler for submitting various PRs in my libraries. Sorry it took me so long.
        
14:34 @tannewt
* Xarnlen for picking up the visual studio code extension and improving it.
* Danh for picking up CircuitMatter work while I was out.


15:02 @todbot (text-only)
* Group hug! Finally getting back to playing with CirPy and y’all are so nice
* @gamblor21 for helping me with new board PR (and for audioeffects!)
* @prcutler for doing all the hard work to make The Bootloader podcast happen


## 15:27 Status Updates
15:51 @Liz (hosting)
* I took last week off for the Thanksgiving holiday. It was a nice restful break and now I’m ready to pump out some work between now and Christmas/New Years
* Before my week-long nap, I published the Feather RP2350 Audio Reactive Video Synth guide. This project uses a Feather RP2350 with HSTX to DVI to run a video synthesizer that uses analog potentiometers and audio input with FFT to control fun animations. I’m really proud of this project. It had been a goal of mine to work on a video synth in CircuitPython and I was thrilled to finally be able to do it with bonus points for audio reactivity.


16:32 @CGrover (text only)
* Continuing to work on refactoring PyPortal and Matrix Portal weather displays that use AIO feeds to show WeatherKit and local sensor conditions. M4 memory limitations and “SPI character timeout” issues are the current challenges. Testing some acceptable workarounds. A Playground Note is in progress.
* Will begin to investigate alternatives to the Portal platforms that will likely involve ESP32-S3 Feathers and 2.4” or 3.5” TFT FeatherWings.The Portal boards will be repurposed for projects that won’t need internet access (device testers, load cell scales, calculators, string car robots, etc.).


17:14 @danh
* Got an idea about an upward-compatible way of specifying pull, drive-strength, drive-mode for pins passed to the constructors of various native modules. Wrote it up as https://github.com/adafruit/circuitpython/issues/9845.
* Back to CircuitMatter cryptography today after catching up.


18:25 @foamyguy
* Dug into vectorio rotation issue and found + submitted a solution
* Added two ‘unknown’ boards to circuitpython.org
* Multiple animation example for Neopxl8
* Type annotations for: MSA301, MPL3115A2, working on MiniQR


20:13 @jepler
* As an exercise, implemented a pure Python workaround for the “E9 erratum”: https://gist.github.com/jepler/81eef2bab4bb130bd2034d95f9c22b1d
   * It’s slower than normal DigitalInOut because it needs to modify the Input Enable register & is implemented in Python code, but in narrow circumstances it could be useful
   * Don’t plan to library it or anything
* Added support for “sideset_pindirs”, a feature of the RP2 PIO peripheral that we did not previously expose. It is used in C examples that implement I2C and onewire using PIO, and was requested by a community member. PRs open and awaiting review.
* Assigned myself 4 “9.x.x” issues to work on this week
* Also looking at the newly released documentation & code for using the PIO peripheral on the Raspberry Pi 5 (in C), we’d like to add it to Blinka if feasible.
* I will generate the 2025 public meeting calendar soon (this one is easy as it does not say who is running each meeting, it’s all about the holidays)
* Some cleanup in community bundle libraries (metadata in pyproject.toml) happened, which will let me remove a workaround in the bundle builder


22:18 @Jose David
* I’ll work on the displayIO sensor simple test examples


22:27 @tannewt
* Made a PR for USB support on ESP32-P4 and need to follow up with fixes.
* Exploring moving CircuitPython to Zephyr. It’ll give us a common build system, default support for peripherals and networking (Wifi, BLE).
* Travelling starting 12/11 (next Wednesday)
## 24:37 In The Weeds
24:59 @jepler - December meetings & 2025 meetings
* I wanted to discuss this because on the internal host calendar I’m scheduled to be host on December 23.
* The public calendar never had December 23 or December 30 meetings on it.
* So I think this is already settled and this is more an informational segment
* Hold the January 6, 2025 meeting as usual?
* I’ll set up our internal hosting calendar for the first months of 2025 soon.


26:31 @jose (text only)
we are having this warning https://github.com/jposada202020/CircuitPython_BMP581/actions/runs/11965521203/job/33744549077#step:2:833. This might be corrected by changing the version of the pre-commit-hooks link to file example  to version V5.0.0 in  .pre-commit-config.yaml. According to my preliminary investigation there are some libraries in the Adafruit Repos that have the change and some others not. To be confirmed.


29:28 @danh - https://github.com/adafruit/circuitpython/issues/9845: way of passing pin configuration request instead of a plain Pin. Pass a `Pin.Configuration` instead of a `Pin`. Could use most places where a plain pin is passed, e.g.:
```py
pwm = pwmio.PWMOut(board.D5.configuration(drive_strength=4))
```

## 35:54 Wrap-Up
