# CircuitPython Weekly Meeting for May 20, 2024


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


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:25 Community News
### 2:47 CircuitPython 9.1.0 Beta 2
CircuitPython 9.1.0-beta.2, a beta for CircuitPython 9.1.0, is a new unstable release. This release has known bugs that will be addressed before 9.1.0 final. - [Adafruit Blog](https://blog.adafruit.com/2024/05/15/circuitpython-9-1-0-beta-2-released/) and [release notes](https://github.com/adafruit/circuitpython/releases/tag/9.1.0-beta.2).
### 3:12 The Official Raspberry Pi 5 M.2 HAT+ Is Now Out
The preannounced Raspberry Pi 5 M.2 HAT+ is now rolling out to official retailers at $12. It enables connection of M.2 M-key peripherals, such as NVMe drives and AI accelerators, to a Raspberry Pi 5. The HAT provides fast (up to 500 MB/s) data transfer to and from these peripherals. - [Raspberry Pi News](https://www.raspberrypi.com/news/m-2-hat-on-sale-now-for-12/). A review - [bret.dk](https://bret.dk/official-raspberry-pi-m-2-hat-review/).
### 4:00 Late Breaking: MicroPython Ported to the Playdate
Christian Walther ([GitHub](https://github.com/cwalther?tab=repositories), [X](https://x.com/isziaui)) has ported MicroPython to the Panic developed [Playdate](https://play.date/) handheld gaming device - [X](https://x.com/matt_trentini/status/1791412984499351638) and [GitHub Code](https://github.com/cwalther/pew-playdate).
The work is part of a port of [PewPew](https://pewpew.readthedocs.io/) to Playdate - [Playdate dev forum](https://devforum.play.date/t/pewpew-python-games-on-playdate-wip/17379).
### 4:42 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:00 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:25 Overall


* 24 pull requests merged
  * 17 authors - FoamyGuy, gitcnd, dhalbert, bradanlane, bill88t, CDarius, tannewt, jepler, DJDevon3, ajmirsky, andrewguest, justmobilize, todbot, ilikecake, elpekenin, fetsnleds, timchinowsky
  * 5 reviewers - FoamyGuy, tannewt, dhalbert, RetiredWizard, gamblor21
* 17 closed issues by 7 people, 13 opened by 10 people
### 7:18 Core
* 16 pull requests merged
  * 13 authors - ajmirsky, gitcnd, dhalbert, andrewguest, bradanlane, bill88t, CDarius, todbot, tannewt, jepler, fetsnleds, elpekenin, timchinowsky
  * 4 reviewers - dhalbert, RetiredWizard, tannewt, gamblor21
* 23 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 685 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 495 days)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 455 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 443 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 417 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 360 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 333 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 295 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 263 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 230 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 180 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8713 (Open 160 days)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 126 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8991 (Open 80 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 75 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 54 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9118 (Open 51 days)
  * https://github.com/adafruit/circuitpython/pull/9233 (Open 10 days)
  * https://github.com/adafruit/circuitpython/pull/9238 (Open 8 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9243 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/9245 (Open 5 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9251 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/9260 (Open 0 days)
* 11 closed issues by 4 people, 4 opened by 2 people
* 682 open issues
  * https://github.com/adafruit/circuitpython/issues
* 9 active milestones
 * 10.0.0: 2 open issues
 * 8.2.x: 0 open issues
 * 9.0.x: 0 open issues
 * 9.1.0: 0 open issues
 * 9.x.x: 33 open issues
 * Libraries: 22 open issues
 * Long term: 604 open issues
 * Support: 9 open issues
 * Third-party: 14 open issues
 * 0 issues not assigned a milestone
### 8:42 Libraries
* 8 pull requests merged
  * 4 authors - ilikecake, FoamyGuy, justmobilize, DJDevon3
  * 2 reviewers - dhalbert, FoamyGuy
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3731/pull/54 (Days open: 52)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/189 (Days open: 25)
    * https://github.com/adafruit/Adafruit_CircuitPython_Logging/pull/56 (Days open: 19)
    * https://github.com/adafruit/Adafruit_CircuitPython_ConnectionManager/pull/18 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/202 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NTP/pull/34 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ConnectionManager/pull/17 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/193 (Days open: 1)
  * 61 open pull requests (Oldest: 641, Newest: 1)
* 5 closed issues by 4 people, 8 opened by 7 people
  * 852 open issues
  * 102 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 79570 PyPI downloads over 326 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 9193
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 8635
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 8203
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 1870
  * Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 1122
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 900
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 844
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 778
  * Adafruit CircuitPython RGB Display (adafruit-circuitpython-rgb-display): 768
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 755
#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
  * [adafruit/Adafruit_CircuitPython_NTP](https://github.com/adafruit/Adafruit_CircuitPython_NTP)
  * [facts-engineering/CircuitPython_p1am_200_helpers](https://github.com/facts-engineering/CircuitPython_p1am_200_helpers)
### 13:04 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 5 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 955 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/749 (Open 166 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 143 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 143 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/817 (Open 27 days)
* 1 closed issues by 1 people, 1 opened by 1 people
* 94 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 12414
* Piwheels Downloads in the last month: 10336
Number of supported boards: 133


## 13:55 Hug reports


14:20 @danh (hosting)
* @jepler for his PyCon presentation.
* @Justin for debugging MQTT and other network issues.
* @Anneb for passing 11,000 subscribers to the Python on Microcontrollers newsletter


15:05 DJDevon3 (text only)
* @Tannewt for advice on using dotclock instead of the RA8875 with the ESP32-S3.  I’m considering this for a future PCB design. Another hug for an excellent Deep Dive this week on improving the backend framework to make builds more efficient and modular.
* @Jepler for representing Adafruit & Circuit Python at PyCon this year.
* @Group Hug


15:40 @fede2 (text only)
* Large hug for Scott for making the new build system based on python async.
* Large hug for Tim making libraries better, I’m just catching up to request with post


16:00 @foamyguy
* @bear on discord for offering suggestions and help testing a specific issue on a newer version of python than I have
* Group hug


16:24 @jepler (assume text only)
* Group hug


16:35 @jerryn
* Group hug.


16:45 @Justin
* Group hug


16:55 @Paul Cutler (missing meeting)
* Thank you to @Tyeth and @Justin for their help this weekend troubleshooting networking & MQTT on my PyPortal
* @foamyguy for helping with a moderation issue over the weekend in Discord
* Group hug


17:15 @tekktrik (missing meeting)
* @kattni, @jepler, @KeithTheEE, @deshipu, and everyone else who attended PyCon.  I’m writing this on Saturday morning so hopefully I actually ran into everyone by Monday!
* Group hug


17:34 @tannewt
* @foamyguy for moderating Discord and everyone who was randomly pinged from #keyboards.
* @danh for repo-wide cleanup of copyrights, include guards and STATIC.


18:00 @todbot (text only, not present)
* @hathach for rapid max3421e USB host fixes to allow polling to work
* @tannewt for USB Host MIDI library and general USB host awesomeness
* @foamyguy for circup’s new local library requirements.txt ability
* @justmobilize and @danh for helping me understand CirPy’s float limitations 
* @DJDevon3 & @Tyeth for all the help they’ve given folk in #help-with-circuitpython
* @Tmmm for neat charts on CirPy architecture download stat in #circuitpython-dev
* Group hug
## 18:49 Status Updates


19:25 @danh (hosting)
* Released 9.1.0-beta.2.
* Made several tree-wide updates to the CircuitPython sources:
   * Marked all CircuitPython-specific files with a particular header line, and added headers to all CircuitPython .h and .c files that didn’t have them. This makes them easy to find now. Some non-C files still need to be done.
   * Updated copyright and license header lines to SPDX, and removed in-line MIT license. Tracked down a few license questions.
   * Changed include guards to `#pragma once` in all CircuitPython files.
   * Changed `STATIC` to `static`. This is coming in an upcoming MicroPython merge.
* Keeping track and reviewing a lot of changes in various network libraries.


23:20 @DJDevon3 (text only)
* Wrote a playground note called Web API’s & You. It’s targeted at beginners who have never worked with a website REST API, endpoints, or JSON before.  It was also a test for directly embedding an Adafruit repository example into a playground note. 
* Still working on a PR for the RA875 driver and some new PCB designs.


23:45 @fede2 (text only)
* I’ll be testing clang compilation of circuitpython on riscv hardware, hopefully with the new build system soon.
* Adapting the code for the MLX thermal cameras to run on Memento. If possible, we can combine the photograph with the thermal image. (maybe offline?)


24:05 @foamyguy
* A few days vacation with my wife over the second half of last week. Had a fun time walking around and exploring a new (to us) town. 
* Testing log rotation feature submitted to logging library
* Submitted PR to circuitpython-org that allows devices to specify custom instructions for entering their bootloader so that ones that don’t use the default “double press reset” can have relevant instructions on their download page.
* Working on a new CLI utility for managing files via web workflow
   * Thinking about how to break out the Backends from circup into a separate library that both circup and this new utility will require, and possible names for it.
* Working on Circup Learn Guide updates. It doesn’t have help for any of the newer features and there are a few stylistic changes we want to make with the naming and embedded screenshots  vs. code snippets. In the process I realized that recent refactoring broke some functionality with the –cpy-version argument and I’ve submitted a PR to get that back to working.




27:20 @jepler (assume text only)
* Presented my talk, “Connecting old to new with CircuitPython”. PyCon organizers will eventually post this talk to YouTube!
* I also performed two short musical numbers on stage with Sumana Harihareswara during her keynote presentation
* Participating in non-CircuitPython sprints monday & tuesday
* Returning next Tuesday


28:00 @jerryn
* Last week - walked 70 miles in the Scottish Highlands - Rob Roy Way
* This week - trying to figure out why I came back ;-)
   * Hope to cleanup and submit my PR to add Autofocus to the OV5640 library
   * Received some WaveShare Pico S3 boards that I will test with the OV5640 camera boards.
      * Hoping they can support Wifi and OV5640 better than the Raspberry Pi Pico W
      * I suppose it should also work with espcamera. May be nice to compare.


29:37 @Justin
* Spending a bunch of time with the inconsistencies of wifi.radio and esp32spi, in and around MiniMQTT, AzureIoT, and AWS_IOT. Trying to get them all in working order…


30:21 @michalpokusa (text only)
* Last Saturday we, as a student’s science club, organized a hackathon for other university and high school students. One of the tasks was based on CircuitPython and adafruit_hid, where contestants had to write a script for Raspberry Pico W that would automate completing a special map in Minecraft. It was great fun, many people described this particular task as very interesting and innovative, quite a few teams selected it as their favorite task at the hackathon. For nearly all, it was their first contact with CircuitPython.
  



Recording of the winning team’s solution: https://drive.google.com/file/d/12uY0GlScRNEE3mRHKox45rm4jJ-3_gs2/view


* This is the start of the series of meetings we want to organize about CircuitPython and how it can be a beginner friendly way of automating many things.




30:17 @tannewt
* ESP BLE GATTS support is merged in.
* In spare time, playing with Python asyncio embedded build toolkit. I’ve started porting CP’s build system to it and am also revisiting the Stemma G0 with it. https://github.com/tannewt/embedded and https://github.com/tannewt/circuitpython/tree/embedded-build
* Starting on ESP BLE pairing and bonding support.
* Out next Monday and Tuesday for an extra long weekend.


33:14 @tekktrik (not present)
* Starting a new job today!  Hoping things will calm down shortly and I can begin being a little more active compared to the last few months.
* Attended PyCon, it’s always great learning new things and reconnecting with friends.
* I would love to check in on the state of the ruff integration.  Please let me know if I can help with anything - belated hug report to Justin and everyone else for all the effort put into it so far.
   * Otherwise, if no help is needed there, I will look through my backlog of items and explore what seems like a good thing to tackle!
* Restarting work on circfirm, my CLI tool for managing and loading boards with CircuitPython firmware.
* Please continue to tag me on GitHub and Discord as needed!


## 34:25 In The Weeds


34:55 @Justin
* Is there a thought on what level of support towards the ESP32SPI there is an appetite for? I am seeing more and more strange issues, and although I am 100% happy to help troubleshoot and fix libraries, I believe it can only go so far without some level of a Nina update…




## 40:19 Wrap-Up
Next meeting is 1 day later than normal in observance of Memorial Day in the US. We’ll get together *Tuesday* May 28 at the usual time of 2PM US ET / 11AM US PT
