# CircuitPython Weekly Meeting for July 8, 2024


Video is available [on YouTube](https://youtu.be/gzFZJbgQ-Qk).


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:48 Community News
###  3:41 CircuitPython 9.1.0 Beta 4 Has Been Released
CircuitPython 9.1.0-beta.4 is a new beta for CircuitPython 9.1.0, and 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/07/03/circuitpython-9-1-0-beta-4-released/) and [Release Notes](https://github.com/adafruit/circuitpython/releases/tag/9.1.0-beta.4).
### 4:08 PyCon US 2024 Videos Are Being Released
The PyCon US 2024 team has released 59 videos from the talks at the conference. There are still 95 due to drop "soon" including the CircuitPython talk by Jeff Epler - [YouTube](https://www.youtube.com/playlist?list=PL2Uw4_HvXqvYhjub9bw4uDAmNtprgAvlJ).
PyCon US 2024 Tutorials - Juliana Karoline de Sous: Introduction to MicroPython: getting started with BBC micro:bit - [YouTube](https://www.youtube.com/watch?v=7g2YCygot5s).
Radomir Dopieralski (@deshipu) - Program Robots with CircuitPython - [YouTube](https://www.youtube.com/watch?v=p_Vx3gDHeUI&t=2135s).
### 5:00 Creating File Bundles for Adafruit Playground Notes
CookieCutter Playground Bundle is a GitHub Actions workflow demo for creating CircuitPython project bundles to use with “Download Project Bundle” buttons in [Adafruit Playground](https://adafruit-playground.com/) guides - [Adafruit Blog](https://blog.adafruit.com/2024/07/01/creating-file-bundles-for-adafruit-playground-notes-circuitpython/) and [GitHub](https://github.com/samblenny/cookiecutter-playground-bundle).
### 5:50 New CircuitPython Videos From Professor John Gallaugher
Professor John Gallaugher of Boston College has released more educational videos for CircuitPython - [YouTube](https://www.youtube.com/@profgallaugher/videos).
* [CircuitPython School: A Free University Course in Maker/Electronics Programming](https://www.youtube.com/watch?v=g1VJfR-vl-k)
* [Install CircuitPython (demo uses a CircuitPlayground Bluefruit)](https://www.youtube.com/watch?v=yXA8b7rTans)
* [Installing & Using PyCharm with CircuitPython](https://www.youtube.com/watch?v=1wsZnXJiOsk)
* [An Intro to the REPL (CircuitPython School)](https://www.youtube.com/watch?v=aMJGkS_2zXY)
* [while True: The Infinite Loop (CircuitPython School)](https://www.youtube.com/watch?v=T7kt1rDOLbk)
* [Our First CircuitPython Program - Print & PyCharm Coding Basics](https://www.youtube.com/watch?v=EvvO2jpvu_A)
* [Intro to Example Code + CircUp for CircuitPython Libraries]()
* [Get Flashy - a First NeoPixel Program in CircuitPython Using the CircuitPlayground plus time.sleep](https://www.youtube.com/watch?v=5ywfUXzI4AI)
* [Sequences and NeoPixels in CircuitPython](https://www.youtube.com/watch?v=zKdM2XFKVn0)
* [CircuitPython School Solutions: irish-flash & roy-g-biv](https://www.youtube.com/watch?v=VO_kHbWGAyQ)
### 7:03 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),.
## 7:40 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.**
### 8:05 Overall


* 23 pull requests merged
  * 19 authors - elpekenin, aguaviva, hexthat, makermelissa, hacimuhammed, CDarius, weblate, jepler, kerem3338, kevin-tritz, burtyb, EricAlmendras, dhalbert, timchinowsky, xsorifc28, andibing, brentru, bradanlane, arturo182
  * 6 reviewers - FoamyGuy, bill88t, tannewt, makermelissa, dhalbert, jepler
* 12 closed issues by 6 people, 11 opened by 11 people
### 8:52 Core
* 16 pull requests merged
  * 14 authors - kerem3338, elpekenin, burtyb, aguaviva, EricAlmendras, hexthat, dhalbert, timchinowsky, andibing, hacimuhammed, CDarius, weblate, jepler, bradanlane
  * 4 reviewers - dhalbert, jepler, bill88t, tannewt
* 22 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 734 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 504 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 492 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 466 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 344 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 312 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 279 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 229 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8713 (Open 209 days)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 175 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 124 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 103 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9118 (Open 100 days)
  * https://github.com/adafruit/circuitpython/pull/9238 (Open 57 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9245 (Open 54 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9315 (Open 31 days)
  * https://github.com/adafruit/circuitpython/pull/9342 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/9349 (Open 19 days)
  * https://github.com/adafruit/circuitpython/pull/9385 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/9404 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/9405 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/9409 (Open 1 days)
* 5 closed issues by 4 people, 7 opened by 7 people
* 698 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: 2 open issues
 * 9.x.x: 30 open issues
 * Libraries: 22 open issues
 * Long term: 612 open issues
 * Support: 16 open issues
 * Third-party: 14 open issues
 * 1 issues not assigned a milestone
### 10:38 Libraries
* 4 pull requests merged
  * 4 authors - jepler, kevin-tritz, xsorifc28, arturo182
  * 2 reviewers - dhalbert, FoamyGuy
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/210 (Days open: 104)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/199 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/119 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SD/pull/58 (Days open: 1)
  * 51 open pull requests (Oldest: 690, Newest: 4)
* 5 closed issues by 1 people, 4 opened by 4 people
  * 863 open issues
  * 103 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 140657 PyPI downloads over 330 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 11257
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 10128
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 9232
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2578
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1715
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1657
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1473
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1446
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1257
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1103
#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_LED_Animation](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation)
  * [adafruit/Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
  * [adafruit/Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)
### 12:35 Blinka
* 3 pull requests merged
  * 2 authors - brentru, makermelissa
  * 1 reviewers - makermelissa
* 7 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 1004 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 192 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 192 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/857 (Open 19 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/867 (Open 2 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/364 (Open 2 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/868 (Open 1 days)
* 2 closed issues by 2 people, 0 opened by 0 people
* 99 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 14773
* Piwheels Downloads in the last month: 19008
Number of supported boards: 133


## 13:58 Hug reports
14:06 @danh (hosting)
* @UnexpectedMaker for doing debugging on the ESP32-C6 serial problem.
* @timchinowsky for a number of fixes recently, including some important off-by-one type of problems.


14:55 @CGrover (text only)
* @foamyguy for his enlightening and brain cell expanding displayio image shearing video stream.
* Group hug


15:13 @foamyguy (text only)
* Dan for filling in to host today and Jeff for offering to run a backup recording.
* Github user @Jessseee for adding a convenient option to circup for installing the libraries locally also to get use out of IDE helper functionality
* @samblenny for making and sharing a playground project bundler template for cookie-cutter along with very detailed documentation about what it’s for and how it works


15:53 @jepler
* Gitcnd for following up on a nebulous issue with a very clear and testable reproducer script
* Dan for stepping up to host the meeting today
* Anne, Dan & Tim for merging some of my PRs (& Tim, I think, for making a Requests release for me)
* Anne for reviewing a guide I wrote last week
* Scott for starting to look into Matter (IOT) protocol


16:36 @Liz
* Scott and Dan for the work on espressif BLE support
* Group hug


16:44 @MakerMelissa
* Group Hug


17:06 @RetiredWizard (text only)
* @jacobcrigby for working on the sdioio module for the Espressif port
* @foamyguy for a great deep dive episode on bitmap graphics again this week!
* Group Hug


17:19 @tannewt
* @timchinowsky for prototyping audio input into the audio pipeline. Very exciting.
## 17:53 Status Updates
18:13 @danh (hosting)
* Released CircuitPython 9.1.0-beta.4, which should be pretty usable for BLE use now, after several fixes.
* Working on the last few 9.1.0 bugs. I fixed an issue with serial port use on the ESP32-C6 which might fix some other serial flakiness as well.


19:27 @foamyguy (text only)
* Setting down circup BLE workflow integration for a bit. I don’t know if the problem lies in bleak, asyncio, click, or somewhere between but for some reason some of the commands are causing the code to go into an infinite loop after sending the BLE command and receiving the result. Other commands seem to “magically” finish at the appropriate time after receiving the result but mkdir and others just get stuck some portion of the time presumably in an infinite loop. When that occurs the BLE device is also stuck in the connected state but will not communicate with subsequent attempts and the only way I’ve found to get back is toggle BLE. I have been unable to make sense of any reason some commands are different and getting stuck and will try again with fresh eyes after working on some other things.
* Started working on displayio helper to rotate bitmaps using a technique which shears the image 3 times an amount based on a formula with some trig operations based on the desired angle. It’s well suited to very small images with “important” single pixels that other rotation methods can cause to disappear or distort. 
* Computer died this morning. I think the main hard drive is broken or corrupted. Working on getting a new OS instance set up and then hoping to be able to recover some of the files after some kind of disk repair operations.


21:01 @jepler
* Sent a new guide on MP3 playback for moderation
* Fixed an interesting bug in serial_bytes_available that may have been causing a problem reported on github
* Submitted some PRs to adafruit_requests & circup
* Worked on ruff in some personal projects; it turns out most possible ruff diagnostics are disabled by default so when I updated my configuration I had issues to fix.
* Next up: I’ll be checking with Scott to find out if I can help out with his work on Matter.
   * Will be building an espressif demo and see if it works with google nest hub and/or apple homepod
   * Out wednesday & thursday


22:44 @Liz
* I took the end of last week off for the july 4th holiday. Got in a lot of outdoor time with friends
* I’m continuing to work on the Vindriktning drop-in board with an ESP32-S2. We are now calling it the Vindie S2. I have the prototypes in and I’m now testing things. Right now it seems to be half working so there is at least one more hardware revision in the future.
* I tested out the new beta with BLE on the ESP32-S3 and found that the apple notifications library is working really well, so I’ll be working on a quick CircuitPython project with the ESP32-S3 Feather and a TFT FeatherWing to show and control apple media and notifications


23:38 @MakerMelissa
* Finished up writing a guide for USB Workflow, but it’s on hold due to bugs
* Updated the Web Workflow Learn Guide
* Currently working on tracing down connection issues with USB Workflow


24:09 @SamBlenny (text only)
* I made a CookieCutter project template (cookiecutter-playground-bundle) to follow up on the June 24 In The Weeds discussion about creating project bundles for Playground guides. My template provides a GitHub Actions workflow to make a project bundle according to config in a manifest file. I also wrote a Playground guide with a “Download Project Bundle” button to demonstrate how it works. I’d be happy to transfer my cookiecutter repo to Adafruit if that would be useful.


24:49 @tannewt
* Getting back into the swing of things after a short holiday week when I was sick too.
* Looking at adding CP support for Matter, the newest IOT standard. Targeting the hobby use, not commercial use. This matters for certificates and OTA.
## In The Weeds




## Wrap-Up
Next meeting is Monday, July 15, 2024.
