# CircuitPython Weekly Meeting for January 29, 2024

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


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.
## 2:49 Community News
### 3:12 #CircuitPython2024 First Posts
The #CircuitPython2024 effort allows the community to share goals for CircuitPython in 2024 and beyond. The developers would like everyone in the CircuitPython community to contribute by posting their thoughts to some public place on the internet.


You can see the first two posts by the community: incrediblelittlebee and DJDevon3 - [Adafruit Blog](https://blog.adafruit.com/2024/01/22/first-circuitpython2024-posts/).


Scott Shawcroft is the lead developer on CircuitPython. Catch his thoughts for the year ahead - [Adafruit Blog](url).


Learn how to post your own #CircuitPython2024 message - [Adafruit Blog](https://blog.adafruit.com/2024/01/01/circuitpython-in-2024-circuitpython2024-python-circuitpython/).
### 4:29 8 Raspberry Pi Attachments Radically Expand Its Powers
PCWorld highlights 8 Raspberry Pi attachments which radically expand its powers. Want to use your Raspberry Pi for Lego Mindstorm, AI research, handheld gaming, and more? Check out these "HAT" expansion modules - [PCWorld](https://www.pcworld.com/article/2204701/the-best-extensions-for-the-raspberry-pi.html).
### 5:04 UVC Video Coming to CircuitPython 9
[TinyUSB](https://github.com/hathach/tinyusb), the USB driver used by CircuitPython, has recently added UVC support. [UVC](https://en.wikipedia.org/wiki/USB_video_device_class) is a USB device class that describes devices capable of streaming video like webcams, digital camcorders, analog video converters and still-image cameras. Jeff Epler has been doing preliminary work to integrate UVC into CircuitPython 9 so devices can act as webcams, for example - [YouTube](https://youtu.be/tW1cL80QeMQ) and pull request [GitHub](https://github.com/adafruit/circuitpython/pull/8831#issuecomment-1910906381).
### 5:47 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),.
## 6:37 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.**
### 7:00 Overall
* 36 pull requests merged
  * 21 authors - ladyada, Gebhartj, tylerwinfield, wtuemura, anonymouscowhead, furbrain, supcik, DJDevon3, tannewt, dlizotte-uwo, dhalbert, iyalosovetsky, bill88t, ilikecake, jepler, andibing, hexthat, FoamyGuy, weblate, SideSpoilenm, UnexpectedMaker
  * 6 reviewers - jepler, tannewt, FoamyGuy, makermelissa, dhalbert, tekktrik
* 34 closed issues by 11 people, 17 opened by 16 people


### 8:04 Core
* 26 pull requests merged
  * 14 authors - tannewt, dlizotte-uwo, dhalbert, supcik, iyalosovetsky, bill88t, jepler, wtuemura, andibing, hexthat, furbrain, weblate, SideSpoilenm, UnexpectedMaker
  * 3 reviewers - jepler, dhalbert, tannewt
* 25 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 573 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 383 days)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 343 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 331 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 305 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 255 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 255 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 248 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 221 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 183 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 151 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 118 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 68 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8713 (Open 48 days)
  * https://github.com/adafruit/circuitpython/pull/8783 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/8796 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 14 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8808 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/8816 (Open 8 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8820 (Open 6 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8834 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/8831 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/8844 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/8851 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/8855 (Open 0 days) (draft)
* 27 closed issues by 6 people, 7 opened by 7 people
* 682 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
 * 10.0.0: 2 open issues
 * 8.2.x: 0 open issues
 * 9.0.0: 47 open issues
 * 9.x.x: 10 open issues
 * Libraries: 24 open issues
 * Long term: 575 open issues
 * Support: 12 open issues
 * Third-party: 11 open issues
 * 2 issues not assigned a milestone


### 9:27 Libraries
* 8 pull requests merged
  * 7 authors - ladyada, jepler, DJDevon3, Gebhartj, FoamyGuy, tylerwinfield, ilikecake
  * 5 reviewers - jepler, tannewt, FoamyGuy, dhalbert, tekktrik
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/92 (Days open: 43)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/116 (Days open: 39)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyCamera/pull/16 (Days open: 21)
    * https://github.com/adafruit/Adafruit_CircuitPython_DS18X20/pull/29 (Days open: 16)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Button/pull/44 (Days open: 6)
    * https://github.com/adafruit/Adafruit_CircuitPython_PIOASM/pull/61 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyCamera/pull/21 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/206 (Days open: 1)
  * 55 open pull requests (Oldest: 529, Newest: 1)
* 5 closed issues by 5 people, 9 opened by 8 people
  * 729 open issues
  * 19 good first issues
* https://circuitpython.org/contributing


#### 12:14 Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 115098 PyPI downloads over 324 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 8678
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 8562
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 3132
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1226
  * Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 1198
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1188
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1062
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1017
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1012
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1000


#### 12:27 Library updates in the last seven days:
* **New Libraries**
  * [FoamyGuy/CircuitPython_SoftKeyboard](https://github.com/FoamyGuy/CircuitPython_SoftKeyboard)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_miniQR](https://github.com/adafruit/Adafruit_CircuitPython_miniQR)
  * [adafruit/Adafruit_CircuitPython_PyCamera](https://github.com/adafruit/Adafruit_CircuitPython_PyCamera)
  * [facts-engineering/CircuitPython_p1am_200_helpers](https://github.com/facts-engineering/CircuitPython_p1am_200_helpers)
  * [cedargrovestudios/circuitpython_waveviz](https://github.com/cedargrovestudios/circuitpython_waveviz)


### 12:51 Blinka
* 2 pull requests merged
  * 1 authors - anonymouscowhead
  * 1 reviewers - makermelissa
* 6 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 843 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/65 (Open 61 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/749 (Open 54 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 31 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 31 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/773 (Open 21 days)
* 2 closed issues by 2 people, 1 opened by 1 people
* 81 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 13246
* Piwheels Downloads in the last month: 8399
Number of supported boards: 129
## 13:33 Hug reports
14:18 @tannewt (host)
* @prcutler for creating the CircuitPython Podcast.
* @danh for releasing 9.0.0-beta.0!
* @Justin for all of the web related libraries and refinements.
* Mark Komus, @jepler, JohnHind, wavesailor and @Liz for #CircuitPython2024 posts over the weekend.


14:51 @danh (out)
* @tannewt for help with debugging two different issues.
* @meesokim for HID wakeup PR.
* @furbrain for nRF52 I2C timeout enhancement.


15:18 @DJDevon3 (text only)
* @Tannewt for his deep dive this week. It’s nice to see you back in action and reflecting on where Circuit Python is headed in 2024.
* @DanH & @Jepler for enlarging the RGBMatrix framebuffer to 32 bits for larger RGBMatrix displays. This should raise the limit of matrix panels to about 50 for the RGBMatrix framebuffer. The Matrix Portal S3 will run out of RAM before hitting the new framebuffer ceiling. This opens the door for a more powerful Matrix Portal in the future to reach the new ceiling.


15:58 @foamyguy
* @DJDevon3 and @Todbot for helping folks on discord in #help-with-circuitpython
* @Justin and @tannewt for discussions around board module stubs for pin names
* Group Hug


16:32 @jepler
* All you wonderful folks
* Especially Ihor Yalosovetskyi (on github) for some welcome improvements to USB keyboard handling for the USB host mode – now you can use all the F-keys and even the printscreen key, it sends a unique escape code.


17:05 @kattni 
* @paul cutler, @todbot, and @tannewt for helping out with some hurdles to getting my code and project running properly
* @todbot for the update to the remount script for Sonoma
* Group hug!


17:30 @Liz
* @markgamblor for his AHRS CircuitPython library
* @todbot for his code gists showing bitmaptools rotozoom
* Group hug


17:48 @makermelissa
* Group Hug


17:56 @Paul Cutler
* Group hug for everyone who has been a guest, listened and supported The CircuitPython Show over the last two years
## 18:08 Status Updates
18:53 @tannewt (host)
* SD card over BLE and WiFi merged in.
* Numerous small changes for 9.0.0
* Re-enabling paralleldisplaybus on ESP32. PR will go out later today.
* Dabbling in LLVM, clang and lld to add noxip attribute to make it easier for us on chips with XIP.
* More 9.0.0 issue fixing this week!
* #CircuitPython2024 post is up! Please post in the next two days if you plan on it.


21:15 @danh (out)
* Released CircuitPython 9.0.0-beta.0. Does not have UVC but has a bunch of other stuff.
* Will do an 8.2.10 release soon.
* Scott and I debugged a problem with subclassing dict. Fix made, and then I made another further fix after the microdot author did some testing.
* Reviewed and merged community fixes for nRF52 I2C hangs and HID host computer wakeup.


21:54 @DJDevon3 (text only)
* Helped discord user @Syndr0me over the course of about 2 weeks with a 25 matrix panel project for an RC car race track scoreboard. This week they discovered about 20 matrix panels was the maximum number for the Matrix Portal S3. This was the first matrix project to surpass the 16 bit framebuffer boundary of the RGBMatrix library on bit depth 1, a noteworthy achievement and milestone.  It prompted a core update to raise the new ceiling to 32 bits and allowed their 25 panel project to be a success.
*   * Got published on Github as a contributor to a new library before its first release. My first time contributing library level code. Learned a lot watching FoamyGuy setup Cookie Cutter to get it included in the community library. Looking forward to helping improve CircuitPython_SoftKeyboard.


22:59 @foamyguy
   * Published 1D Chomper Learn Guide. Already brainstorming the next cardboard arcade (Cardbacade?) game to make
   * Cookie cut the infrastructure files for SoftKeyboard library and get it added to the community bundle. Had some hurdles with pypi and RTD integration to work through because they’ve updated their policies since last time I did one, but got everything all set up
   * Library PR reviews, mostly in MiniMQTT around the blocking vs. non-blocking behavior of the loop function. Uncovered a difference in esp32spi socket vs. native and cpython socket. Going to do some testing later to see if it’s possible to change esp32spi behavior to match the others, or if the current behavior is tied to something deeper in the firmware that is outside the libraries control






24:54 @jepler
   * Bitmapfilter is merged
   * UVC is close to mergeable. Works on rp2040, not yet on esp32s3
   * Goals (short week):
   * Get UVC to the point of being ready for review, if not merged
   * Finish up Limor’s timelapse PR in the PyCamera repository. Cool new capabilities, including setting specific white balance & exposure settings for consistent photos
   * If time available, will work on another “bitmapfilter” function: a generic blend function that can replicate many photo editor layer blending modes
   * Off for a ~10 day vacation in So Cal, including NW of LA & Joshua Tree. Missing next 2 Monday meetings.


27:19 @kattni 
   * I got my Inky Frame 7.3” last Thursday, and finally had a chance to mess with it today. 
   * Managed to get it displaying a bitmap off of the SD card, albeit upside down.
   * Next step is to test the existing PR for it to see if it’s working. It’s old enough that there are no build artifacts for it anymore, so I’ll have to pull it down and build it myself.


29:41 @liz
   * I finally published the [Qualia S3 compass project](https://learn.adafruit.com/qualia-s3-compass). This project was an adventure, not just because it was a compass. It involved a lot of new to me math for determining heading with a 9-DoF sensor and creating an intuitive and accurate graphical display for the compass on a round display.
   * Since then I’ve been working on a few new product guides and I wrote some code for a simple, RTC-based digital clock. This will be an upcoming Learn Guide with the Ruiz brothers. It uses the 1.2” 7 segment display and has a seesaw rotary encoder that lets you reset the hour/minute without having to edit the code to reset the RTC.
   * I also wrote a CircuitPython2024 post as a [gist here](https://gist.github.com/BlitzCityDIY/1577820d259211782cc4a580013bdede). The tl;dr of it is more cool skateboard tricks with accompanying accessible documentation.


30:34 @makermelissa
   * Exploring the Raspberry Pi Wayland interface to try and get touchscreen to rotate for PiTFT displays
   * Ended up realizing the only way was to update the overlays
   * Submitted overlay updates to Raspberry Pi
   * Updated the PiTFT installer script to assign the appropriate options for touch screen rotation
   * Will temporarily add updated overlays to PiTFT installer and remove once PR is merged and overlays updated in official Raspberry Pi release
   * Need to update new boards on circuitpython.org


31:38 @Paul Cutler
   * Released the final episode of The CircuitPython Show with guest host Tod Kurt chatting with me.  If you like the two of us together, we’ll be releasing new episodes of our old podcast The Bootloader in the near future.
## 31:57 In The Weeds

## 32:18 Wrap-Up
