# CircuitPython Weekly Meeting for July 22, 2024

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


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:46 Community News
### 2:56 Connecting Old to New with CircuitPython: Retrocomputer Input Devices on Modern PCs
PyCon 2024 has published CircuitPythonista Jeff Epler's talk on Connecting Old to New with CircuitPython: Retrocomputer Input Devices on Modern PCs - [PyCon US 2024 YouTube](https://www.youtube.com/watch?v=XhwI8ZHhbE8&list=PL2Uw4_HvXqvYhjub9bw4uDAmNtprgAvlJ&index=134).
> "The input devices of decades past hold nostalgic value for many folks. But they don't need to merely sit on a shelf as museum objects—they can be reverse engineered and then adapted to modern computers without modifying the original hardware. CircuitPython... is an excellent language for projects like these, thanks to native USB Human Interface Device (HID) support and the ability to ‘bitbang’ archaic interfaces, combined with the fast development cycle of an interpreted language, as you'll learn in case studies adapting keyboards & mice."
### 3:49 Tutorial: Writing MicroPython For Your Raspberry Pi Pico In a Web Browser With ViperIDE
Les Pounder walks through the steps of using the new ViperIDE web code editor to utilize MiceroPython on a Raspberry Pi Pico - [Tom's Hardware](https://www.tomshardware.com/raspberry-pi/raspberry-pi-pico/how-to-write-code-for-your-raspberry-pi-pico-in-your-web-browser-with-viperide).
> "You are not limited to just these two selections. ViperIDE also works with CircuitPython, and ESP boards, Adafruit, Seeed, and micro:bit microcontrollers."
### 4:22 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:17 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.**
### 5:34 Overall
* 12 pull requests merged
  * 10 authors - tedder, jepler, Jahor, dhalbert, 42xnor, BlitzCityDIY, colonwq, DarkMechanikum, bablokb, tyeth
  * 8 reviewers - makermelissa, tannewt, brentru, FoamyGuy, jepler, BlitzCityDIY, dhalbert, tyeth
* 14 closed issues by 7 people, 11 opened by 9 people


### 6:36 Core
* 2 pull requests merged
  * 2 authors - dhalbert, jepler
  * 4 reviewers - dhalbert, FoamyGuy, jepler, tannewt
* 20 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 748 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 518 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 506 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 480 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 358 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 293 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 243 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 189 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 138 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 117 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9118 (Open 114 days)
  * https://github.com/adafruit/circuitpython/pull/9238 (Open 71 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9245 (Open 68 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9315 (Open 45 days)
  * https://github.com/adafruit/circuitpython/pull/9349 (Open 33 days)
  * https://github.com/adafruit/circuitpython/pull/9385 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/9421 (Open 12 days)
  * https://github.com/adafruit/circuitpython/pull/9427 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/9436 (Open 4 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9438 (Open 3 days)
* 5 closed issues by 4 people, 6 opened by 4 people
* 704 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
 * 10.0.0: 3 open issues
 * 9.1.x: 7 open issues
 * 9.x.x: 32 open issues
 * Libraries: 22 open issues
 * Long term: 612 open issues
 * Support: 15 open issues
 * Third-party: 14 open issues
 * 0 issues not assigned a milestone


### 8:18 Libraries
* 9 pull requests merged
  * 7 authors - tedder, 42xnor, BlitzCityDIY, colonwq, tyeth, bablokb, Jahor
  * 5 reviewers - BlitzCityDIY, tannewt, brentru, FoamyGuy, tyeth
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/103 (Days open: 46)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/169 (Days open: 24)
    * https://github.com/adafruit/Adafruit_CircuitPython_ICM20X/pull/24 (Days open: 13)
    * https://github.com/adafruit/Adafruit_CircuitPython_ENS160/pull/5 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/123 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/468 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/125 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_NTP/pull/37 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/124 (Days open: 1)
  * 51 open pull requests (Oldest: 704, Newest: 2)
* 7 closed issues by 2 people, 4 opened by 4 people
  * 862 open issues
  * 103 good first issues
* https://circuitpython.org/contributing


#### 11:15 Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 244154 PyPI downloads over 331 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 22168
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 22083
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 20207
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2784
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 2095
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1927
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1865
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1753
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1750
  * Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1709


#### 11:25 Library updates in the last seven days:
* **New Libraries**
  * [adafruit/Adafruit_CircuitPython_HDC302x](https://github.com/adafruit/Adafruit_CircuitPython_HDC302x)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_PIOASM](https://github.com/adafruit/Adafruit_CircuitPython_PIOASM)
  * [adafruit/Adafruit_CircuitPython_PortalBase](https://github.com/adafruit/Adafruit_CircuitPython_PortalBase)
  * [adafruit/Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)


### 11:38 Blinka
* 1 pull requests merged
  * 1 authors - DarkMechanikum
  * 1 reviewers - makermelissa
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 1018 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 206 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 206 days) (draft)
* 2 closed issues by 1 people, 1 opened by 1 people
* 100 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 30457
* Piwheels Downloads in the last month: 18091
Number of supported boards: 133


## 12:35 Hug reports
13:24 @tannewt (host)
* @timchinowsky for continuing work on recording audio into RawSamples.
* @Rye for working on Thread support.
* @CharString for helping with the Matter library.
* @foamyguy for filling in on deep dive next week.


13:58 @danh
* @jepler for ipv6 work
* @scott for diving into Matter
* @Erland for finding BLE interoperability issue and testing
* @FoamyGuy for starting on converting libraries to ruff instead of black/pylint


14:59 @DJDevon3
* @DanH & @LizClark for the LC709203F battery monitor code in the ESP32-S3 Feather learn guide. Started a new project and the code definitely works better than previous versions.
* @Tyeth for looking into past suggestions and making some tweaks to improve MQTT documentation.


15:26 @foamyguy
* @CGrover for letting me know about audio issues during stream and help with troubleshooting.
* @Jepler for submitting a fix for the core stubs
* Group hug


15:54 @jepler
* Group hug. I love knowing this community will keep chugging along while I’m traveling for a few weeks
* Whoever reminded me about IPv6 tunnels so I could test IPv6 global connectivity. I forgot your name, oops. (actually it was someone on the youtube comments. Thank you!)


16:46 @makermelissa
* @danh for your help with the Code Editor
* Group Hug


16:56 @michalpokusa (not present)
*  @Tyeth for pair-programming session regarding video streaming example using MEMENTO with adafruit_httpserver


17:17 @tyeth (text only)
* Jeff, Dan, Elpekenin and Scott for being helpful in my quest for merging dicts, release note advice, tolerant of my inane questions and general soundboarding
## 17:37 Status Updates
17:59 @tannewt (host)
* Around all this week. Out next Thursday and Friday for a long weekend with family.
* Working to get Messages encoded and sent back out onto the wire for Matter.
* Added functionality for:
   * Message counter validation and duplicate detection
   * Matching up to an existing exchange
   * Encoding TLV structures
   * Recording and replaying incoming packets


19:36 @danh
* Fixed nRF BLE MTU bug. This caused it not to interoperate with other BLE implementations, such as Espressif, that didn’t choose 512 as the MTU.
* Looking at other bugs, including one that prevents on-board displays from working. A 9.1.1 release soon to fix that would be in order.
* Continuing MicroPython V1.22 merge.
* Created 9.1.x branch: please submit bugfix PR’s against 9.1.x now. Feature additions for 9.2 should be PR’s to main. We will merge from 9.1.x to main as needed.


22:25 @DJDevon3
* Worked a little more on an irrigation touch screen controller project. Progress is slow because I’m also outside digging 50ft trenches for new irrigation pipes. Hope to show off a Circuit Python powered touch screen irrigation controller someday.


22:45 @foamyguy
* Library PR reviews and testing: 
   * Portalbase extending existing max_attempts functionality to the get_local_time() function
   * Wiznet5k DHCP lease timing fixes
* Saw an issue submitted over the weekend for a display driver that needed changed for the 9.x displayio API. Searched bundle and found a few others, submitted PRs with changes to make them support 9.x and switch to using Ruff instead of pylint / Black. A handful of others use the old APIs for docstring and type annotations which I’m working through submitting PRs for as well.
* Investigated an issue affecting some SAMD51 devices with built-in displays, bisected the releases in S3 to find the one where the issue first occurs.


25:03 @jepler
* Ipv6 PR is marked ready for review
* Have the rest of the week to respond to review comments
* Out starting on the 29th
* I’ll be posting vacation photos on pixelfed. You can also follow in your RSS reader: https://metapixl.com/i/web/profile/613756735989206647 https://metapixl.com/users/ijtravel.atom
* This week: add ipv6 section to https://learn.adafruit.com/adafruit-esp32-s2-tft-feather/circuitpython-internet-test


27:04 @makermelissa
* Finished updating the CircuitPython Code Editor to use Raw REPL with improved reliability for USB Workflow.
* Created a PR to add all missing CircuitPython and Blinka boards
* Working on setting up a Beta Site for testing out Code Editor changes before they go live
* Currently going through Raspberry Pi and Blinka issues.


27:48 @tyeth (text only)
* Added some updates to the Adafruit IO circuitpython library. Mainly worthy of note are the new commands (send_group_data + improved send_batch_data), along with new optional argument for timezone when using io.receive_time
* There’s an updated example for send_group_data, and a new example for send_batch_data for cpython too. I’ve tried to include usage showing sending older timepoints (created_at), which uses io.receive_time to base timestamps from.
* It might be worth people revisiting any time based guides that have known issues with time fetching. Previously io.receive_time would only use IP based auto-detection for timezone (unreliable) so now UTC etc can be requested directly.


## 28:47 In The Weeds
29:07 @jerryn
* I’ve been working on a library that combines the RFM69 and RFM9x libraries and adds some additional features (uses asyncio, RadioHead header may be omitted for compatibility with non-radiohead libraries , rfm9x support for FSK/OOK added so rfm9x and rfm69 can communicate with each other). There is still more testing to do but it may be time to invite some code review.
* How do I do that? Should this be submitted to the “Community Bundle”. If so , how does a new library get created there.
* The current code is in : https://github.com/jerryneedell/CircuitPython_RFM


## 37:37 Wrap-Up
