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


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.
## 02:45 Community News
New Versions of Python Have Been Released
Several new versions of Python have been released by developers, including versions for Python 3.11, 3.12 and an alpha release of Python 3.13:
* [Python 3.11.9](https://pythoninsider.blogspot.com/2024/04/python-3119-is-now-available.html)
* [Python 3.12.3](https://pythoninsider.blogspot.com/2024/04/python-3123-and-3130a6-released.html)
* [Python 3.13.0a6](https://pythoninsider.blogspot.com/2024/04/python-3123-and-3130a6-released.html)
### 02:59 Project of the Week: A Robotic Arm With A Camera
Kevin McAleer made a cute robot arm with a camera on the end. It uses inverse kinematics to keep the camera pointing forward. Adafruit CircuitPython for Linux is used running on a Raspberry Pi 5 - Mastodon and Twitter.
### 03:17 New Notes from Adafruit Playground
IKEA Förnufig Air Purifier V2 - Custom fan speed controller + Blinkenlights - Adafruit Playground.
### 03:31 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),.
## 04:10 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.**
### 04:26 Overall
* 19 pull requests merged
  * 8 authors - bill88t, RetiredWizard, brentru, joshua-beck-0908, dhalbert, tannewt, brushmate, DJDevon3
  * 5 reviewers - dhalbert, brentru, jepler, FoamyGuy, tannewt
* 16 closed issues by 8 people, 21 opened by 19 people
### 04:56 Core
* 11 pull requests merged
  * 5 authors - bill88t, joshua-beck-0908, RetiredWizard, dhalbert, tannewt
  * 3 reviewers - tannewt, jepler, dhalbert
* 21 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 650 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 460 days)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 420 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 408 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 382 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 325 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 298 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 260 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 228 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 195 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 145 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8713 (Open 125 days)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 91 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8954 (Open 54 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8991 (Open 45 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 40 days)
  * https://github.com/adafruit/circuitpython/pull/9023 (Open 37 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 19 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9118 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/9178 (Open 1 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9181 (Open 0 days)
* 9 closed issues by 3 people, 14 opened by 12 people
* 681 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: 1 open issues
 * 9.1.0: 0 open issues
 * 9.x.x: 26 open issues
 * Libraries: 22 open issues
 * Long term: 602 open issues
 * Support: 8 open issues
 * Third-party: 14 open issues
 * 8 issues not assigned a milestone
### 07:23 Libraries
* 8 pull requests merged
  * 4 authors - brushmate, RetiredWizard, brentru, DJDevon3
  * 3 reviewers - tannewt, brentru, FoamyGuy
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/167 (Days open: 23)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/168 (Days open: 23)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/177 (Days open: 16)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/176 (Days open: 16)
    * https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/99 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Fake_BME280/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/184 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/211 (Days open: 1)
  * 69 open pull requests (Oldest: 606, Newest: 2)
* 5 closed issues by 5 people, 5 opened by 5 people
  * 739 open issues
  * 5 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 217477 PyPI downloads over 325 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 10107
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 9693
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 7677
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2954
  * Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 2085
  * Adafruit CircuitPython RGB Display (adafruit-circuitpython-rgb-display): 2020
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1974
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1894
  * Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1808
  * Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1696
#### Library updates in the last seven days:
* **New Libraries**
  * [brushmate/CircuitPython_MCP48XX](https://github.com/brushmate/CircuitPython_MCP48XX)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
  * [jepler/Jepler_CircuitPython_udecimal](https://github.com/jepler/Jepler_CircuitPython_udecimal)
### 11:22 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 920 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/749 (Open 131 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 108 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 108 days) (draft)
* 2 closed issues by 2 people, 2 opened by 2 people
* 87 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 15261
* Piwheels Downloads in the last month: 10850
Number of supported boards: 133
## 12:12 Hug reports
12:29 @Liz (hosting)
* @tannewt for adding USB host featherwing support to CP. Looking forward to trying it.
* @danh for enabling bitmapfilter on the matrixportal s3
* Group hug


12:53 @danh (out)
* @raquo for finding a flash-write problem when heap is low, and providing a test program that always exercised the bug.


13:07 DJDevon3
* @Deshipu and @DanH for their help in a project for getting imageload working with multiple file types. Now that there are examples I can turn them into snippets to copy/paste my way through future projects. 
* @Todbot for updating his amazing DVD logo / flying toasters Screensaver to include external TFT displays. 
* @Anecdata, @Todbot, and @Elpekenin for general python syntax advice.
* @Anecdata and @Justin for advice in an adafruit_requests PR.
* @FoamyGuy for reviewing more PR’s this week and another great Saturday morning stream adding more features to Circup. And for restructuring the bundle examples folder, it’s much more useful now.


14:15 @foamyguy
* @danh for going through library settings pages and fixing webhook configuration for docs
* DJDevon3 for many new requests examples and improvements to existing ones


14:53 @jepler
* Group hug
* @KeithTheEE for thinking of me while visiting Lincoln. We had a nice coffee and conversation.
* @anne for the newsletter
* @ladyada for keeping me well stocked in projects & issues to work on


15:29 @makermelissa
* Group Hug


15:40 @michalpokusa (not present)
* @FoamyGuy for PR reviews and merges for adafruit_httpserver and adafruit_templateengine


15:49 @tannewt (out)
* @dcd for time codes for deep dive
* @foamyguy for filling in on deep dive this week and constantly improving circup.
* @sam blenny for joining our community
* Liz for hosting and reading my updates.
## 16:09 Status Updates
16:32 @Liz (hosting)
* Recently I’ve been working on a few Arduino projects. One is a Pico DVI Adafruit IO feed viewer, which will be published this week on Learn. The second is a USB Host to BLE project, which will be coming out in a week or two. The code is already on GitHub if folks are curious.
* I wrote a quick CircuitPython driver for the ADG728 and ADG729 analog matrix switches. I’m currently documenting these in guides.
* There are a few new products that dropped in the shop that I’ll be working on documenting the rest of the week. I’m taking a short break (Friday-Wednesday) to recharge and enjoy the spring weather.


17:22 @danh (out)
* Fixed problem with writes to external flash when running out of heap.
* Use a finalizer for AudioOut to fix using up timers. Made of task list of other native classes that need finalizers.
* Fixed nRF AnalogIn problems: one is a regression.
* Will do a 9.0.4 release Tuesday or so, and maybe a 9.1.0-beta.1 release.
* Updated about 44 guides that were still using secrets.py to use settings.toml. Will do a site search later and try to finish this off.


18:05 DJDevon3
* Worked on a project that shows the latest Circuit Python closed PR’s on a TFT display from Github’s REST API.  I will eventually split it out into a serial only API example to add to adafruit_requests examples. Went on Show & Tell with the project. 
* Started on a couple of basic request/response examples that haven’t been covered yet like status codes and different header types.This was an avenue I was forced to explore during the course of the Github PR API display project and found out there weren't any examples for it.  I plan on making more examples that cover the basics of requests that are not currently covered. There are a lot of gaps like this that need beginner friendly examples. 
* Wrote a Playground Note on using a TFT Touchscreen & SD Card with a Raspberry Pi Pico.
* Finally submitted a typing PR for the IS31FL3731 after 28 failed attempts at making Pylint happy.


20:20 @foamyguy
* Testing Requests PRs
* Try to reproduce issue with BME680 and figure out which versions if any are problematic
* Circup development:
   * Submitted PR to add --upgrade argument to force an install to overwrite the existing installed version.
   * Worked on new command circup example [repo/examplename] for loading library examples onto the connected device. The command and tab completion are functional, but the code still needs to be cleaned up and handle a few possible cases like file already existing on device and maybe allowing to rename to code.py. This command uses new functionality in circuitpython-build-tools that I added last week which separates out the examples in the bundles.


22:40 @jepler
* Last week was working on Protomatter, but the work benefitted Arduino only (support for the upcoming esp32 bsp version 3)
* This week:
   * Getting back to the ssl support for wiznet
   * Documenting a project I did (in arduino) for a USB keyboard to old computer adapter, the opposite of what I usually do
   * Starting to look at mp3 support on esp32-s3 again, will try using an alternate mp3 implementation in the hopes it’s better tuned for espressif/xtensa.


24:25 @makermelissa
* Tested Voice Bonnet on latest Bookworm on Pi 4 and 5 Lite and Desktop
* Going through guide feedback and making guiding updates as necessary
* Almost finished updating ChatGPT Bear guide to work with Bookworm
* Will also be testing out Mini PiTFT on the Pi Zero W later today


25:10 @tannewt (out)
* Merged in USB host support.
* Working on build script for picolibc and building CP using clang via makefiles. Goal is to add a CI task to keep it working.
* Mostly offline this week at Zephyr Dev Summit/Embedded Open Source Summit. Out Friday for a family weekend.
* Missing meeting next week for appointment.
## 25:40 In The Weeds

DJDevon3 
* Attempted to get true color PNG support and failed.  Need 16-bit PNG support as 8bit indexed PNG doesn’t work for pulling PNG’s from online API’s. If anyone has advice on how to implement true color 24-bit or 16-bit PNG support for Circuit Python it would be appreciated.
## 27:38 Wrap-Up
