# CircuitPython Weekly Meeting for June 12th, 2023
Here is the notes document for next Monday’s CircuitPython Weekly meeting. It is at the normal time of 11am Pacific / 2pm Eastern here on Discord. Everyone is encouraged to attend! Please add your hug reports and status updates even if you’ll be attending the meeting - it’s super helpful! If you are unable to attend but would still like to include updates, feel free to include them in the notes and we’ll read them off during the meeting. Hope to see you there! @circuitpythonistas


Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates early. During the meeting, we go through them as a round robin sorted by username. If you can’t make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and we’ll read them off for you. 


Add any longer-form discussion topics or general questions you have to the “In the weeds” section. 


Thanks! We hope to see you in the meeting!


Jeff is hosting.


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


Join here for the chat all week: http://adafru.it/discord.


The CircuitPython Weekly happens normally at 2pm 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 one 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.
## 3:07 Community News
CircuitPython 8.2.0 Beta 1 Released!
 CircuitPython 8.2.0 Beta 1 

CircuitPython 8.2.0-beta.1 was released this past week. It's a beta release for CircuitPython 8.2.0. - Adafruit Blog and release notes on GitHub.
Notable changes to 8.2.0 since 8.1.0
* Continued enhancement of synthio.
* RP2040 alarm.sleep_memory.
* Reduce size of stack frames.
Focus on RISC-V
 A Major Tectonic Shift away from Arm to RISC-V may be in the works for Qualcomm, Samsung, Google, Nvidia and Apple 

A major tectonic shift away from Arm to RISC-V may be in the works for Qualcomm, Samsung, Google, Nvidia and Apple - Patently Apple.
 RV32I RISC-V emulator 

You can get started with RISC-V quickly, without using an FPGA or a logic simulator with the RV32I RISC-V emulator Run 1.19 MicroPython on it, and analyze the emulator to understand RISC-V - Twitter and GitHub.
Videocast: Ardan Labs talks Adafruit, Engineering, and Foreign Service with Anne Barela
 Videocast 

Adafruit CircuitPython team member Anne Barela (Ed Note: also your editor) spoke with Ardan Labs on a number of topics including Adafruit and CircuitPython as well as Anne's life pre-Adafruit - YouTube.
### 4:45 Newsletter Details
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. 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 tag a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.
## 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.**
### Overall
* 17 pull requests merged
  * 14 authors - rezaalmanda, todbot, jpconstantineau, mariobodemann, gtbcoding, garberw, tannewt, jepler, dhalbert, OptionalLion411, applecuckoo, makermelissa, jposada202020, tekktrik
  * 9 reviewers - milosmns, tannewt, jepler, dhalbert, FoamyGuy, gamblor21, makermelissa, jposada202020, tekktrik
* 19 closed issues by 9 people, 8 opened by 7 people


### 7:00 Core
* 8 pull requests merged
  * 7 authors - rezaalmanda, jepler, dhalbert, jpconstantineau, mariobodemann, applecuckoo, tannewt
  * 6 reviewers - jepler, dhalbert, milosmns, gamblor21, jposada202020, tannewt
* 21 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 342 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 268 days)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 223 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 206 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 192 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 152 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7591 (Open 116 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 112 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 100 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 93 days)
  * https://github.com/adafruit/circuitpython/pull/7718 (Open 91 days)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 74 days)
  * https://github.com/adafruit/circuitpython/pull/7886 (Open 51 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7984 (Open 27 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 24 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 24 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 17 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8035 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/8050 (Open 12 days)
  * https://github.com/adafruit/circuitpython/pull/8056 (Open 10 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8077 (Open 2 days)
* 8 closed issues by 4 people, 3 opened by 2 people
* 655 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
 * 8.2.0: 1 open issues
 * 8.x.x: 37 open issues
 * 9.0.0: 30 open issues
 * Libraries: 20 open issues
 * Long term: 554 open issues
 * Support: 9 open issues
 * Third-party: 7 open issues
 * 2 issues not assigned a milestone


### 8:46 Libraries
* 9 pull requests merged
  * 7 authors - tekktrik, OptionalLion411, jposada202020, makermelissa, todbot, gtbcoding, garberw
  * 4 reviewers - makermelissa, tekktrik, FoamyGuy, jposada202020
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_BME680/pull/61 (Days open: 81)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixKeypad/pull/16 (Days open: 40)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Notification/pull/14 (Days open: 6)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/174 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_Crickit/pull/37 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_EPD/pull/77 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/89 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/92 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/176 (Days open: 1)
  * 55 open pull requests (Oldest: 986, Newest: 1)
* 10 closed issues by 5 people, 5 opened by 5 people
  * 612 open issues
  * 46 good first issues
* https://circuitpython.org/contributing


#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 114658 PyPI downloads over 310 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 7383
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 6419
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2092
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1977
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1201
  * Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 1197
  * Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1031
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 928
  * Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 814
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 814


#### Library updates in the last seven days:
* **New Libraries**
  * [todbot/CircuitPython_PS2Controller](https://github.com/todbot/CircuitPython_PS2Controller)
  * [jposada202020/CircuitPython_H3LIS200DL](https://github.com/jposada202020/CircuitPython_H3LIS200DL)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Display_Notification](https://github.com/adafruit/Adafruit_CircuitPython_Display_Notification)
  * [adafruit/Adafruit_CircuitPython_MatrixKeypad](https://github.com/adafruit/Adafruit_CircuitPython_MatrixKeypad)
  * [adafruit/Adafruit_CircuitPython_EPD](https://github.com/adafruit/Adafruit_CircuitPython_EPD)
  * [adafruit/Adafruit_CircuitPython_RGBLED](https://github.com/adafruit/Adafruit_CircuitPython_RGBLED)
  * [furbrain/CircuitPython_mag_cal](https://github.com/furbrain/CircuitPython_mag_cal)
  * [todbot/CircuitPython_PS2Controller](https://github.com/todbot/CircuitPython_PS2Controller)


### 11:56 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 852 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 612 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/299 (Open 15 days)
* 1 closed issues by 1 people, 0 opened by 0 people
* 94 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 13682
* Piwheels Downloads in the last month: 6903
Number of supported boards: 119




## 12:39 Hug reports
@jepler (hosting)
* Community helpers & moderators as we dealt with a moderation issue last week
* @makermelissa for doing some very thorough testing on a PR of mine
* @paintyourdragon for the protomatter library & accepting PRs to make it work better with circuitpython
* @danh for the newest beta release


13:28 @danh
* @tannewt for trimming the size of stack frames.
* @cater for testing nRF UF2 bootloader update procedures on boards with very old bootloaders. We need to write this up for all nRF boards.
* @foamyguy for doing the necessary testing and coding to make the API for ESP32SPI more like other network APIs (e.g., wifi).


15:02 @david.glaude (not present)
* Group hug, especially on those working on new releases, new features and synth.


15:16 @DJDevon3 (text only)
* @Kattni for you being you
* @Everyone involved with Circuit Python development in any fashion. Thank you. It’s a wonderful language and everyone in the Adafruit dev community is exemplary.
* @JP, @Liz, @TodBot, @Gamblor, @Jepler thank you for the wonderful bleeps and bloops
* @Neradoc for being a keystone helper with Circuit Python. 
* @LadyAda & PT Thank you for everything you’ve created.


15:44 @foamyguy
* @MichaelPokusa and @Neradoc for help and discussion around POST request argument formats
* @Neradoc for help with running a server and broadcasting a  wifi AP at the same time.
* @MarkGamblor, @Tyeth, and @DJDevon for ideas about troubleshooting some USB weirdness during PC boot up


16:30 @kattni
* @danh for putting together a rainbow cycle key switch press demo for me when I couldn’t figure it out.
* Group hug!


16:42 @MakerMelissa
* @jepler for fixing the RGBMatrix Module so quickly
* Group Hug


16:59 @tannewt
* @Neradoc, @deshipu, @DJDevon3 and @carter for helping folks on Discord.
* @jepler for the swirl idea for mounting stemma and feather boards.


17:44 @todbot (text only)
* @foamyguy for help with weird Community Bundle gawk bug with `ps2controller` 
* @gamblor for `synthio` testing
* @jepler for `synthio` filters!
## 18:03 Status Updates
@jepler (hosting)
* Integrated an updated version of the protomatter library in circuitpython. This improves support of the esp32-s3 which is good for an upcoming product
   * Pending pull requests in protomatter & circuitpython
* Putting finishing touches on a non-circuitpython guide, the RunCPM emulator with RP2040 that I’ve shown at least once on Show & Tell
* Next up will likely be one of:
   * Synthio guide
   * Getting involved more deeply with loading custom stories on teddy ruxpin
   * Micropython merge, possibly after Dan has completed the 1.19.1 merge


20:08 @danh
* Released CircuitPython 8.2.0-beta.1: includes mostly synthio updates.
* Started MicroPython v1.19.1 merge. My initial merges weren't careful enough. Started over and will do more research on particular sets of merges.
* A bit of a backlog of bugs to investigate.


21:22 @david.glaude (not present)
* CP: Quickly added “Teams mute button” to my mouse jiggler, with a twist:
   * CTRL+SHIFT+M works on QWERTY, but I replaced M by Semicolon for AZERTY. 
   * This learn guid is Arduino only: https://learn.adafruit.com/TeamsMuteButton/overview
   * Found this to help me (pretty sure @furcean is someone we know) https://furcean.com/2020/11/23/zoom-microsoft-teams-mute-button-using-circuitpython/
* I have not been here since month(s?) mostly because I have not written a piece of code since then…:
   * I try to stay in sync with streaming (most of the time not in LIVE) or listening to podcast (this meeting and CP)
* Non CP:
   * Playing with hid-remapper on the Feather RP2040 USB Host (clicker, mouse jiggler, and tentative tremor filter)
   * Wasting time on blocky football programming games https://www.supercodingball.com/ ( and also on “Advance Wars 1+2: Re-Boot Camp”)


22:23 @DJDevon3 (text only)
* Updated my MQTT Feather Weather with better graceful fails with WiFi connection, API server fails, or adafruitIO/MQTT fails. It’s been my main project for about 3 years and has evolved a lot since starting on an Arduino Uno. Thank you to everyone who has ever helped me along the way.
* My participation in the community will become more limited in the weeks or months ahead as I’m dealing with a personal matter.  Downsizing where I can and waiting for the inevitable move. Being part of this community has been time well spent.


23:06 @foamyguy
* Digging in core displayio and many builds with additional print statements added to figure out how the internal area on TileGrid behave. Think I’ve got the behavior understood and a possible solution for the issue of hidden elements taking extra time to render, need to clean up the PR and get the latest version of the solution pushed into it for feedback.
* Traced through Requests, PyPortal, and PortalBase libraries to figure out how it behaves when downloading large files in chunks with regards to the differing socket APIs between ESP32SPI and others. Submitted a PR in Requests to move toward the standardized socket API.
* Had a much needed “Organizing and putting things away” party.
* Outside of CircuitPython: Deployed a Rocket.chat server instance to use amongst close friends and family. It’s like self-hosted slack or teams environment. To tie it back into circuitpython: it provides REST and websocket APIs that look like it’d make it fairly easy to integrate from circuitpython for things like a bot that posts sensor readings, or controlling lights and other IoT devices with commands from chat.


25:33 @kattni
* Last week:
   * Feather RP2040 DVI guide published
   * Continued on NeoKey breakouts guide
* This week:
   * Wrap up NeoKey breakouts guide
   * TRRS Jack Breakout guide
   * STEMMA QT Gamepad guide
   * I2S BFF guide


25:58 @MakerMelissa
* Last Week:
   * Added new boards to circuitpython.org
   * Updated PortalBase and MatrixPortal libraries to work on chips other than the M4
   * Tested and updated the CircuitPython Code Editor to fix some CSS issues
   * Updated the Code Editor to work with the latest version of the JavaScript CP REPL library
   * Tested Jeff’s RGBMatrix/Protomatter updates for CircuitPython
   * Started going through testing all of the MatrixPortal guides after changes
* This Week:
   * Finish going through all of the guides.
   * Continue working on GitHub issues
   * Minor guide updates


26:52 @tannewt
* Investigated CPX recursion errors on CPX library import. Prevented some inlining to make calling Python functions use less stack. Also reduced max file path length to reduce import stack frames.
* Rebuilt pysigrok-pico binaries and they seem to work ok. Added proper board defs for scorpio and pyrate boards.
* Wrote a kicad generator for the swirl mounting style that Jeff came up with. Thanks!
* Working on USB Host on iMX RT. I think I’ll wait until after 8.2 is merged because it includes a TinyUSB update. Will also look to get it going on RP2040 feather.
* Spent some time getting CircuitPython building with Clang 16. Many similar changes to when I did it for clang 13. Will want to commit them this time so I don’t have to do it again. Goal is to get a branch building with clang to show the LLVM embedded folks. I’m interested in adding better memory region support to use LTO safely with multiple memory regions.
* Looking into odroid go issue(s).
* Headed to NYC on Wednesday and back on Monday. Will be off and on more then.


@todbot  (text only)though 
* Old PS1 & PS2 controllers are pretty rad, and cheap, too bad their connector is bonkers
* Not sure how useful this will be or if it will live here, but “circuitpython-tricks’ now has a synthio-tricks section <= DG: https://github.com/todbot/circuitpython-tricks/tree/main/synthio 
* Two small synthio examples yet to be integrated into the above:
   * Two-voice drone synth https://www.youtube.com/watch?v=KsSRaKjhmHg
   * Duelling bandbass filters https://www.youtube.com/watch?v=wIc6rovZ4aA
* Will be looking into potential USB “raw HID” issues the libusb devs are having as they’re trying to create repeatable test hardware. 
## 31:25 In The Weeds
* @tannewt Ready to release 8.2.0?


* 35:11 @foamyguy Possibly dropping backwards compatibility and legacy tests inside of Adafruit Requests?


With regards to the compatible socket effort started here: https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/167  I found some possible changes in the requests library that allow things to work properly with this compatible socket API version of ESP32SPI https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/135 


I have kind of made the assumption that the “backwards compatibility”  and “legacy”  that is referred to in the code and tests is the non-standard ESP32SPI socket behavior which would be removed if the change in #167 is merged. Hoping to confirm that assumption and see if it makes sense to remove legacy tests and backward compatibility if that is the case.


* Confirm wiznet with updated libraries
* Double check exception types raised vs. other sockets
* Try to get it working with HTTPServer
* Try MQTT library with the updated versions
## 43:02 Wrap-Up
In observance of Juneteenth, the next meeting will be *Tuesday* Jun 20, 2023 at the regular time.
