# CircuitPython Weekly Meeting for March 4, 2024

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


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:52 Community News
### 3:25 Raspberry Pi Celebrates 12 Years
Happy Birthday to Raspberry Pi on 29 February. They're a leap-year baby, technically it's their third birthday. They've sold 61 million units as of their anniversary. They celebrated by having their in-house maker Toby whip up projects with Raspberry Pi Pico W, NeoPixel LEDs and MicroPython - [Raspberry Pi News](https://www.raspberrypi.com/news/you-cant-eat-our-birthday-cake-because-it-is-full-of-leds/), [Tom's Hardware](https://www.tomshardware.com/raspberry-pi/raspberry-pi-celebrates-12-years-as-sales-break-61-million-units) and [Adafruit Blog](https://blog.adafruit.com/2024/02/29/happy-12th-birthday-raspberry-pi-or-is-it-a-3rd-birthday-raspberrypi-raspberry_pi/).


### 3:59 PyCon US 2024 Talks Schedule
PyCon US has released their speaker schedule for 2024. Several talks and tutorials involve Python on Hardware - [PyCon US 2024](https://us.pycon.org/2024/schedule/talks/).


* Open Source Robotics with Python: Learn Robotics with No Robot Required, by Kat Scott
* Connecting Old to New with CircuitPython: Retrocomputer input devices on modern PCs, by Jeff Epler
* Introduction to MicroPython: getting started with BBC micro:bit, by Juliana Karoline de Sousa


### 4:48 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: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.**
### 6:01 Overall
* 60 pull requests merged
  * 15 authors - markkamp, standsi, bablokb, tirtharajsinha, tannewt, casainho, analogic, FoamyGuy, shawnchainw, dhalbert, MariuszCwikla, mariopesch, justmobilize, prcutler, makermelissa
  * 7 reviewers - tannewt, brentru, FoamyGuy, BlitzCityDIY, dhalbert, tekktrik, makermelissa
* 17 closed issues by 8 people, 13 opened by 12 people


### 6:48 Core
* 6 pull requests merged
  * 5 authors - tirtharajsinha, tannewt, MariuszCwikla, mariopesch, dhalbert
  * 2 reviewers - dhalbert, tannewt
* 21 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 608 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 418 days)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 378 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 366 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 340 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 290 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 283 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 256 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 218 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 186 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 153 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 103 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8713 (Open 83 days)
  * https://github.com/adafruit/circuitpython/pull/8796 (Open 50 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 49 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8816 (Open 43 days)
  * https://github.com/adafruit/circuitpython/pull/8855 (Open 35 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8954 (Open 12 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8976 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/8994 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/8991 (Open 3 days) (draft)
* 5 closed issues by 3 people, 7 opened by 6 people
* 673 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: 12 open issues
 * 9.x.x: 20 open issues
 * Libraries: 25 open issues
 * Long term: 590 open issues
 * Support: 15 open issues
 * Third-party: 11 open issues
 * 1 issues not assigned a milestone


### 8:13 Libraries
* 50 pull requests merged
  * 8 authors - markkamp, standsi, bablokb, tannewt, analogic, FoamyGuy, justmobilize, prcutler
  * 7 reviewers - tekktrik, tannewt, brentru, FoamyGuy, dhalbert, BlitzCityDIY, makermelissa
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_VL53L4CD/pull/9 (Days open: 313)
    * https://github.com/adafruit/Adafruit_CircuitPython_VL53L1X/pull/16 (Days open: 213)
    * https://github.com/adafruit/Adafruit_CircuitPython_ST7735/pull/19 (Days open: 115)
    * https://github.com/adafruit/Adafruit_CircuitPython_VEML7700/pull/26 (Days open: 110)
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/197 (Days open: 69)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/151 (Days open: 34)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyCamera/pull/31 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT/pull/63 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Beacon/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Radial_Controller/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ADXL37x/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCF8574/pull/8 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCF8575/pull/7 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OV5640/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_UC8151D/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GUVX_I2C/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Ducky/pull/18 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Qualia/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Pastebin/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIFX/pull/24 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32S2TFT/pull/11 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/101 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT/pull/64 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FunHouse/pull/43 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/193 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/191 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_JSON_Stream/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol/pull/70 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FONA/pull/32 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/158 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/155 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/206 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/147 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/146 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/133 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/132 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OAuth2/pull/12 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OAuth2/pull/11 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OAuth2/pull/10 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GC_IOT_Core/pull/29 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GC_IOT_Core/pull/28 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GC_IOT_Core/pull/27 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Dash_Display/pull/18 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Dash_Display/pull/17 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/118 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/117 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/116 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AWS_IOT/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AWS_IOT/pull/25 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AWS_IOT/pull/24 (Days open: 1)
  * 54 open pull requests (Oldest: 564, Newest: 1)
* 9 closed issues by 6 people, 4 opened by 4 people
  * 737 open issues
  * 19 good first issues
* https://circuitpython.org/contributing


#### 11:27 Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 129726 PyPI downloads over 325 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 9433
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 9190
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 5916
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2479
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1567
  * Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1223
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1213
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1161
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1159
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1129


#### 11:50 Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_PyCamera](https://github.com/adafruit/Adafruit_CircuitPython_PyCamera)
  * [adafruit/Adafruit_CircuitPython_ConnectionManager](https://github.com/adafruit/Adafruit_CircuitPython_ConnectionManager)
  * [adafruit/Adafruit_CircuitPython_ESP32SPI](https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI)
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)


### 12:06 Blinka
* 4 pull requests merged
  * 3 authors - shawnchainw, casainho, makermelissa
  * 2 reviewers - FoamyGuy, makermelissa
* 9 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 878 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/65 (Open 96 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/749 (Open 89 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 66 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 66 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/790 (Open 5 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/792 (Open 3 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/344 (Open 3 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/345 (Open 0 days)
* 3 closed issues by 1 people, 2 opened by 2 people
* 85 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 15116
* Piwheels Downloads in the last month: 11522
Number of supported boards: 129
## 12:58 Hug reports
13:25 @tannewt (hosting)
* Skerr for testing I2S on 9.x
* Justin for following up with ConnectionManager changes
* Hathach for fixing tinyusb for me.


13:46 @danh
* @tannewt for several technical conversations over the past week
* @Justin for fixing the source code bundle to include version info again (was a regression), and also fixing circup update issues
* @MariuszCwikla for enabling user setting of the USB interface name, a long-requested feature.
* @foamyguy for various debugging and infrastructure questions and answers


15:09 @DJDevon3 (text only)
* @Justin and all the developers that worked on getting ConnectionManager merged. I’m excited to start a project and look into it soon.
* @HerrBrain & @LadyAda for answering some questions about chip select lines needing pull up resistors.
* @Skerr for making me aware that the Raspberry Pi CM4 modules and their add-on boards are no longer hard to come by.


15:41 @foamyguy
* @Justin for continued effort on Connection Manager and followup changes surrounding it
* @danh for reviewing and merging many of those changes
* @BlitzCityDIY for testing out an issue that popped up on the Feather DVI and submitting a fix for it
* @bear on discord for patiently offering help and suggestions during a live stream while I was struggling to understand
* @Tyeth for testing out the webworkflow support proposed for Circup
* @jamesjnadeau on Github for adding M5 Cardputer support and posting steps on how to flash the bootloader for circuitpython
* Jeff for reviewing some PyCamera PRs


16:52 @jepler
* Group hug


17:00 @Jerryn
* Group Hug!


17:05 @Justin (text only)
* @brent, @danh and @tannewt for reviewing and merging all my PRs


17:14 @Liz
* @danh and @tannewt for continuing the fight against CP 9.0 bugs
* @foamyguy for assisting with a Feather DVI issue that popped up
* @jepler for having done a few CircuitPython OpenAI projects on Learn that made my most recent guide a little easier to get started with
* Group hug


17:37 @MakerMelissa
* Group Hug


17:49 @Mark(Gamblor21) [ probably missing ]
* @Jepler for a birthday project idea he gave me last year that just popped up as a phone reminder


18:08 @todbot (missing meeting) 
* Group hug!


## 18:16 Status Updates
18:36 @tannewt (hosting)
* Mostly out last week with a sick Ari. He’s doing better and at daycare today.
* Fixed ReadTheDocs. It was accidentally building the ulab docs.
* Disabled warning printing during tab complete.
* PR out to make file system writes work when not connected to USB.
* Started debugging RGBMatrix crashes due to interrupt watchdog but haven’t found the issue.
* More 9.0.0 bugs!


19:40 @danh
* Fixed storage leak in adafruit_ble library.
* Added finalizer for espcamera to fix PWM tone problem.
* Looking at remaining 9.0.0 bugs.


20:17 @DJDevon3 (text only)
* Finished the 3D model of the 64x32 5mm pitch Matrix Panel. The model is now available on Printables and in Adafruit_CAD_Parts. For those who want to design your own bracket, having the model available makes it much easier.
* Revamped my Fitbit API project to be more stable during WiFi and power outages. Updated the code from 8.2.2 to 8.2.10 without issue.
* Designed & ordered a new PCB with 8 slim switches for mounting in enclosures. Will take about 2 weeks to arrive.
   * This week I’m redesigning my 3D printed 3.5” TFT Featherwing enclosure
   * Adding more shelving & cabinets for storage in my workshop. For some reason my workbench is always littered with microcontrollers. Having more horizontal surfaces to store things is always a good idea.


21:10 @eightycc (text only)
* Continue USB debug with ArgonBlue. Implementing a new wrap trace buffer for debug. Useful for low-level debugging with minimal interference.
* Continue _bleio for RP2 development.


21:30 @foamyguy
* Submitted a new PR adding support for scaling overlays with the PyCamera library. Now your frame / border or sticker images can be made bigger or smaller so you can line them up just right!
   *      * Reviewing and moving forward some older library PRs
   * Fixed the circup instructions in the readme for a handful of libraries that were created by cookiecutter when it had a bug.
   * Circle back to webworkflow support for circup and made changes based on feedback plus a few other fixes and improvements
   * Received M5 Cardputer device and learned how to Flash CircuitPython on it, as well as how to build and flash the demo code that came pre-loaded on it (not circuitpython)
   * Will try to write a python level mockup of how the keypad API could support row or column pins that are actually connected via 3 -> 8 shift register.


23:48 @jepler
   * Out last week, but
   * In a branch, made it possible to use core ssl on wiznet ethernet
   * However, this uses up 75% of our remaining slack space in firmware on Feather RP2040 (for example), making the device about 95% overall
   * So: Not likely to enable this generally, but would like to see it merged and enabled on wiznet’s own pioc-style board with a built in ethernet jack
   * This week:
   * Working in Arduino land on support for MFM floppy writing. I still haven’t achieved writing floppy data that can be read by a USB floppy drive, though I can read back my own data
   * Eventually the hope is to pull this code into circuitpython as well, the code is structured to facilitate this (it’s not merely an Arduino library but also has a C API that can be called from software coded in C, like the CircuitPython core)
   * But, it requires a lot of RAM and is not super practical, so who knows (and see above about flash space)
   * Will get the SSL code closer to PR’able with any spare time or whenever I need to take a break from floppy
   * Also have a couple of 9.0.0 issues to work on


26:14 @Jerryn
   * Making progress on the combined RFM69/RFM9x library. It now supports all the current functions of the individual libraries with the added support for FSK mode for the RFM9X
   * Using FSK on the RFM9X allows an RFM9x module to communicate with an RFM69 Module. 
   * Next, make RadioHead compatibility optional and enable the built-in support in FSK mode  for address filtering.
   * This will allow for compatibility with other Arduino libraries (RadioLib, LowPower Labs)


28:13 @Justin
   * ConnectionManager is merged and fully in place. Stats:
   * 25 repos touched
   * 46 PRs
   * Lines changed: +3394 / -2024
   * Put together a [playground note about ConnectionManager](https://adafruit-playground.com/u/justmobilize/pages/connectionmanager)
   * Digging into circup
   * Getting back to working on some new libraries around time and config


29:21 @Liz
   * Last week I worked on a CircuitPython project using OpenAI with the MEMENTO camera board. MEMENTO takes a photo, converts it to Base64, uploads to OpenAI and OpenAI returns a response based on the prompt provided. It was absolutely baffling, in a good way, how accurate the responses were, especially for things like translating text to English. I know there are a lot of opinions about AI, but this feels like a helpful use case. The guide is live [now](https://learn.adafruit.com/openai-image-descriptors-with-memento).
   * This week I’ll be working on a product guide for the new STEMMA analog switch that just went into the shop. I also have a couple of projects on deck that will be coded in CircuitPython. One is a Feather battery monitor/charger and another is controlling an Elgato light over WiFi


30:11 @MakerMelissa
   * Was a short week because I was visiting family
   * Worked on fixing some of the Raspberry Pi Installer Scripts backwards compatibility bugs
   * Fixed a bug in Blinka Displayio that was causing it to fail as a number that was expected to be an int was converted to a float under certain conditions
   * Continued Working on Pi Eyes and am working on desktop buffer scaling
## 30:55 In The Weeds
   * @tannewt blockdev locking?


   * 35:36 @foamyguy Feather DVI release_displays() amount of memory cleared
## 41:00 Wrap-Up
