# CircuitPython Weekly Meeting for January 22, 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/APxBao-d9Vw).


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:59 Community News
### Thea Flowers is the New OSHWA Board President
 Thea Flowers, New OSHWA Board President 

Thea Flowers, New OSHWA Board President


The Open Source Hardware Association (OSHWA) welcomes Thea “Stargirl” Flowers as the new OSHWA Board President.


> As many members of the OSHWA community already know, Thea is a creative technologist and passionate open source advocate.  She is the creator of the Winterbloom open source synthesizers ([many of which](https://certification.oshwa.org/list.html?q=winterbloom) are OSHWA certified).  Thea is also the creator of [KiCanvas](https://kicanvas.org/), a maintainer of CircuitPython, and a former Python Software Foundation Fellow.  Oh, and she recently [redesigned](https://www.oshwa.org/2023/07/19/new-oshw-certification-mark-usage-guide-and-directory-updates/) the certification mark brand guide - [OSHWA](https://www.oshwa.org/2024/01/14/welcome-thea-flowers-new-oshwa-board-president/).


### New Notes from Adafruit Playground
Adafruit Playground is a new place for the community to post their projects and other making tips/tricks/techniques. Ad-free, it's an easy way to publish your work in a safe space for free.
 Unicomp Mini M with CircuitPython 

Programming a Unicomp Mini M keyboard with CircuitPython - [Adafruit Playground](https://adafruit-playground.com/u/jepler/pages/unicomp-mini-m-with-circuitpython).
### 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),.
## 5:51 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
* 21 pull requests merged
  * 18 authors - weblate, romkey, joshcorn, AdamCummick, jepler, RetiredWizard, us3r64, bergdahl, tlyu, tannewt, dhalbert, Karel-Kroeze, jamesbowman, kreier, SideSpoilenm, SalamCytron, asmagill, bill88t
  * 5 reviewers - tannewt, dhalbert, jepler, kreier, RetiredWizard
* 13 closed issues by 6 people, 16 opened by 16 people


### 7:07 Core
* 12 pull requests merged
  * 13 authors - weblate, tannewt, dhalbert, joshcorn, romkey, bergdahl, jepler, kreier, RetiredWizard, SideSpoilenm, SalamCytron, tlyu, bill88t
  * 5 reviewers - tannewt, dhalbert, jepler, kreier, RetiredWizard
* 23 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 566 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 376 days)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 336 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 324 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 298 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 248 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 248 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 241 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 214 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 176 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 144 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 111 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 61 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8699 (Open 47 days)
  * https://github.com/adafruit/circuitpython/pull/8713 (Open 41 days)
  * https://github.com/adafruit/circuitpython/pull/8783 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/8786 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/8796 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 7 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8807 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/8806 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/8808 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/8816 (Open 1 days) (draft)
* 8 closed issues by 5 people, 6 opened by 6 people
* 698 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: 53 open issues
 * 9.x.x: 9 open issues
 * Libraries: 24 open issues
 * Long term: 584 open issues
 * Support: 17 open issues
 * Third-party: 11 open issues
 * 0 issues not assigned a milestone


### 8:42  Libraries
* 9 pull requests merged
  * 5 authors - Karel-Kroeze, jamesbowman, AdamCummick, asmagill, us3r64
  * 2 reviewers - tannewt, dhalbert
  * Merged pull requests:
        * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/134 (Days open: 27)
        * https://github.com/adafruit/Adafruit_CircuitPython_miniQR/pull/26 (Days open: 15)
        * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/pull/38 (Days open: 15)
        * https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes/pull/69 (Days open: 3)
        * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/137 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/139 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/185 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/183 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_miniQR/pull/28 (Days open: 1)
  * 51 open pull requests (Oldest: 522, Newest: 9)
* 5 closed issues by 2 people, 7 opened by 7 people
  * 721 open issues
  * 19 good first issues
* https://circuitpython.org/contributing


#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 140254 PyPI downloads over 324 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 8926
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 8786
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 3065
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1305
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1246
  * Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1240
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1214
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1135
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1088
  * Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 1082


#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_MCP3421](https://github.com/adafruit/Adafruit_CircuitPython_MCP3421)
  * [adafruit/Adafruit_CircuitPython_ESP32SPI](https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI)
  * [CedarGroveStudios/CircuitPython_AD9833](https://github.com/CedarGroveStudios/CircuitPython_AD9833)
  * [cedargrovestudios/circuitpython_waveviz](https://github.com/cedargrovestudios/circuitpython_waveviz)


### 12:35 Blinka
* 0 pull requests merged
  * 0 authors -
  * 0 reviewers -
* 8 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 836 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/65 (Open 54 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/749 (Open 47 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 24 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 24 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/773 (Open 14 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/340 (Open 8 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/779 (Open 2 days)
* 0 closed issues by 0 people, 3 opened by 3 people
* 81 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 13256
* Piwheels Downloads in the last month: 5427
Number of supported boards: 128


## 13:34 Hug reports
@jepler 
* Group hug
* @hathach and @kkityam for writing UVC support in TinyUSB in the first place
* @anne_engineer for featuring an adafruit playground note I wrote in the newsletter
* @tannewt for thoughtful review comments on bitmapfilter


14:37 @CGrover (text only)
* @foamyguy for another action-packed Deep Dive that spawned a few new ideas and knowledge.
* @rossgrady (github) for finding and correcting a typo in the AD9833 library’s frequency sweep example.


14:59 @danh
* @jepler for webcam USB video implementation for cameras
* @ladyada for redesigning SO many boards to accommodate parts changes


15:50 @DJDevon3
* @FoamyGuy for creating the foundation of the SoftKeyboard library. Thank you for letting me work on it with you. It’s been a great learning experience and a lot of fun.
* @Todbot for helping field questions in CircuitPython’s subreddit. While not a primary means for CP support people do go there for help sometimes and Todbot provides great advice there too. While not as easy as Discord it is possible to post code snippets on reddit for answering code questions.
* @Group Hug


16:28 @eightycc (text only)
* Big congratulatory hug to @danh for finding the OSS code for the faulty Sonoma msdosfs code.


16:41 @foamyguy
* @DavidGlaude, @Justin, and @DJDevon3 for conversation and ideas around pacman game
* DJDevon3 for adding a SoftKeyboard example and doing some cleanup in the code
* Jeff for submitting bitmapfilter, excited to give it a try
* Group hug


17:21 @kattni
* @foamyguy for coming up with a terribly clever solution for a potential project I may be helping a friend’s sister with, and for writing up a demo of the solution
* @jepler for answering a question about the same project
* @makermelissa for some lovely chats
* @jepler for some different lovely chats
* @paul cutler for some even differenter lovely chats
* To everyone working on continuing to make CircuitPython great
* Group hug




17:57 @makermelissa
* @kattni for some great and much needed chats
* Group hug


18:13 @tannewt
* @foamyguy and all @deep divers for flexibility around deep dive.
* @fede2 for promoting costa rican layout for keyboards.
## 19:14 Status Updates
@jepler (host)
* Bitmapfilter PR was merged.
* Good start on UVC support for CircuitPython
* This week:
   * Bitmapfilter examples (will live in the circuitpython pycamera repo maybe?)
   * Continuing work on UVC – make it into a framebufferdisplay so it works with displayio, add dynamica allocation of framebuffer storage, test on esp32-s3, and maybe allow boot.py setting of uvc display resolution


23:01 @CGrover (text only)
* Reworking the WaveViz library to take advantage of the open polygon option in both display_shapes and bitmaptools. Should improve performance and greatly simplify the current code version.


23:16 @danh
* Working on 9.0.0 issues. Jeff, Scott, and I will have another triage meeting soon.
* Started working on updating nrfx HAL layer we use to add nRF I2C timeout, but there are several complicated API changes that affect pin interrupts for countio, frequencyio, etc. Put this on hold and may wait until 9.x.x.
* Obscure *args bug diagnosed and reported up to MicroPython, where there already is an issue for it.
* Diagnosing another language-related bug, which has been present since around 5.0.0 (!).
* Sent in an Apple Feedback item for the Sonoma problem, offering hardware to help diagnose. Sonoma 14.3 final is imminent and the delayed-write problem still is not fixed. I may have found the actual code in question in an Apple GitHub repo.


@DJDevon3
* Added ability to use different JSON file layouts with CircuitPython_SoftKeyboard. Now it’s possible to easily add different layouts or languages with a JSON file. Currently working on special character switch mode for the mobile_layout so it looks & acts more like an iOS mobile keyboard. This is the first library I’ve helped code and have learned more about what self does and how it relates to implementing class parameters & functions. 
* Submitted a PR to Adafruit_CircuitPython_Display_Button to add a sprite button simpletest for the TFT Featherwing touch display. Improved the simpletest button debounce a little thanks to an example by github user lcmcninch The Display_Button library is a great way to add touch buttons to a touch capable TFT display.


@eightycc (text only)
* I’ve been a bit under the weather for the last couple of weeks.
* Continuing work on _bleio for RP2. Sorry this is taking so long, every bug I get past seems to have a dozen more hiding behind it. No idea how much longer this will take, but I am in it for the long haul.


@fede2 (text only)
* Adding a “Costa Rica” keyboard to the Unicode CLDR standard that will allow manufacturers to build a keyboard for this country that will allow anyone to write not only in Spanish and English, but also in native languages, use it in public education system, etc.
* Maybe making a CNC for building custom music instrument strings. Ping me up if you have a string instrument with special needs.


29:49 @foamyguy
* Validated an issue with refreshing eink displays and create a contained reproducer that exhibits the issue
* Small fixes to SoftKeyboard to make it not raise exceptions from code that was leftover and unneeded
* 1D Chomper game for Qualia Long display. 
   * Code is nearing complete. Will make another pass with fresh eyes for last minute cleanup and any additional comments
   * Designed decals to cover the cardboard box that will house the game. Will be printing and sticking them on after the meeting, then cutting holes.
   * Working on Guide this week
   * Plan to stop by S&T to show it


31:52 @kattni
* Been dealing with low- to medium-grade sick for over three weeks now, which has been sapping most of my energy
* I agreed to be Conference Chair for PyOhio 2024, the venue search for which has been taking up most of the energy I have. I’m super excited to be doing this though! So far, it’s been a fascinating learning experience in event planning and conference organising, in which I have no previous experience.
* I ordered a 7.3” Inky Frame from Pimoroni, which should be here Thursday. I see there’s a PR open for it, but it doesn’t include the PSRAM, which is something I’m interested in. The PR is listed as “minimally viable” by the author. I have no idea how to implement PSRAM. Or whether that PR is a good place to start if I wanted to finish the project. = In the weeds
* Still getting arbitrary reboots on a CP project that is a Feather running three 0.5m LED strips; I haven’t added code to tell it to not reboot yet, which might help. Also, I realised today the micro’s been resting on a metal surface, and now I’m wondering if that’s what’s been happening. So I propped it up on one of the LED strips. We’ll see.


33:45 @makermelissa
* Testing out Hardware on the Raspberry Pi 5 and Bookworm
* Updating scripts that need updating
* Working on creating new overlays for the PiTFTs that use the TinyDRM drivers
* Updating the PiTFT Installer Script
* After more overlays added, I will be updating the guides


34:24 @tannewt
* Out Friday because Ari got his first stomach flu. I got it last night so I’ll be taking it easy today and maybe tomorrow. Feeling better than last night.
* PR for SD card is close but still too full for a couple boards. Will keep digging into it.
* Looking into memory errors on ESP32-S2 with 9.0
## 35:29 In The Weeds


35:48 @Justin
* Continuing the work on the “SocketManager”, from comments on #circuitpython-dev, I have pulled code from “Adafruit_CircuitPython_Requests” and created a new “Adafruit_CircuitPython_ConnectionManager”. There is now an open pull request [here](https://github.com/justmobilize/Adafruit_CircuitPython_ConnectionManager/pull/1) that is ready for review/comments. I have also created draft pull requests (linked in the main one) for both the Request and MiniMQTT libraries
1:04:49 
* Someone on #help-with-circuitpython asked about pyCharm stubs for a specific board. I told them I make them myself, which led down a conversation of me making a script to automatically make them for all boards. Snippet [here](https://gist.github.com/justmobilize/1a29481069a7dcf121d0fcc0d91a3121). Would love to auto build all the stubs. So from `circuitpython-stubs` to `circuitpython-stubs-adafruit_feather_esp32s3_tft`(or something like that)


52:42 @kattni
* I ordered a 7.3” Inky Frame from Pimoroni, which should be here Thursday. I see there’s a PR open for it, but it doesn’t include the PSRAM, which is something I’m interested in. The PR is listed as “minimally viable” by the author. I have no idea how to implement not-on-board PSRAM (or any PSRAM, really). I also don’t know whether that PR is a good place to start if I wanted to finish the project.
   * PR: https://github.com/adafruit/circuitpython/pull/7996
## 1:15:12 Wrap-Up
Next meeting Monday January 29 2024 at the usual time
