diff --git a/2025/2025-08-25.md b/2025/2025-08-25.md new file mode 100644 index 0000000..afb4634 --- /dev/null +++ b/2025/2025-08-25.md @@ -0,0 +1,189 @@ +# CircuitPython Weekly Meeting for August 25, 2025 + +Video is available on [YouTube](https://youtu.be/ccZVeIcCglo). + +Join here for the chat all week: [http://adafru.it/discord](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](https://adafruit-podcasts.s3.amazonaws.com/circuitpython_weekly_meeting/audio-podcast.xml) which you may be able to enter directly into compatible podcast apps. + +## 03:56 Community News + +### 04:09 Controlling Microcontrollers Over USB With the Web Serial API + +Microcontroller boards such as Arduino, Raspberry Pi Pico, and ESP32 can be connected to various LEDs, buttons, and sensors. Many of these boards have a built-in WiFi chip, which allows for remote control. However, sometimes WiFi is not possible, too complicated, or simply unnecessary. Koen Vervloesem does this with CircuitPython, which supports hundreds of microcontroller boards. Make sure to choose a board with USB CDC support. I have successfully tested this project with the Raspberry Pi Pico (W), Arduino Nano RP2040 Connect, Seeed Studio XIAO SAMD21, and Seeed Studio XIAO nRF52840 \- [MakerSpace](https://www.makerspace-online.com/controlling-microcontrollers-over-usb-with-the-web-serial-api/?utm_source=mms). + +### 05:35 CircuitPython Web Workflow OTG + +You can use your phone as a hotspot, auto-connect to it from the CircuitPython device, and use Web Workflow to access files and the serial console \- [GitHub](https://gist.github.com/anecdata/bddc29b0d21f03c339e8641794addeca?permalink_comment_id=5728402). Via [Mastodon](https://mastodon.social/@anecdata@fosstodon.org/115067826764856974). + +### 06:25 Fruit Jam OS Is Out + +[Fruit Jam OS](https://learn.adafruit.com/fruit-jam-os) is now available after heavy development by the community. It provides a operating environment for Fruit Jam use and links to a number of programs (full list in the newsletter and guide). If you'd like to participate, check out the Adafruit [GitHub](https://github.com/adafruit/Fruit-Jam-OS), [Discord](https://adafru.it/discord), and [YouTube](https://www.youtube.com/watch?v=i_HSKvHdlfY). + +### 07:07 Picopad Frogger + +![][image1] +A version of "frogger" (with a bit of imagination) on Picopad in CircuitPython \- [X](https://x.com/MakerClassCZ/status/1958614866543223184) (Czech). + +### 07:34 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](mailto:cpnews@adafruit.com), or tag a post with \#CircuitPython on Mastodon, Bluesky, or X (formerly known as Twitter),. + +## 08:19 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.** + +### 09:00 Overall + +* 12 pull requests merged + * 5 authors \- FoamyGuy, makermelissa, **avenstewart**, dhalbert, relic-se + * 5 reviewers \- tannewt, FoamyGuy, makermelissa, dhalbert, ladyada +* 13 closed issues by 5 people, 10 opened by 10 people + +### 09:42 Core + +* 7 pull requests merged + * 3 authors \- dhalbert, FoamyGuy, relic-se + * 2 reviewers \- dhalbert, FoamyGuy +* 25 open pull requests + * [https://github.com/adafruit/circuitpython/pull/9094](https://github.com/adafruit/circuitpython/pull/9094) (Open 516 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/9349](https://github.com/adafruit/circuitpython/pull/9349) (Open 432 days) + * [https://github.com/adafruit/circuitpython/pull/9559](https://github.com/adafruit/circuitpython/pull/9559) (Open 366 days) + * [https://github.com/adafruit/circuitpython/pull/9844](https://github.com/adafruit/circuitpython/pull/9844) (Open 269 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/9909](https://github.com/adafruit/circuitpython/pull/9909) (Open 244 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10023](https://github.com/adafruit/circuitpython/pull/10023) (Open 203 days) + * [https://github.com/adafruit/circuitpython/pull/10080](https://github.com/adafruit/circuitpython/pull/10080) (Open 186 days) + * [https://github.com/adafruit/circuitpython/pull/10283](https://github.com/adafruit/circuitpython/pull/10283) (Open 124 days) + * [https://github.com/adafruit/circuitpython/pull/10287](https://github.com/adafruit/circuitpython/pull/10287) (Open 123 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10303](https://github.com/adafruit/circuitpython/pull/10303) (Open 115 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10320](https://github.com/adafruit/circuitpython/pull/10320) (Open 108 days) + * [https://github.com/adafruit/circuitpython/pull/10379](https://github.com/adafruit/circuitpython/pull/10379) (Open 89 days) + * [https://github.com/adafruit/circuitpython/pull/10402](https://github.com/adafruit/circuitpython/pull/10402) (Open 81 days) + * [https://github.com/adafruit/circuitpython/pull/10413](https://github.com/adafruit/circuitpython/pull/10413) (Open 75 days) + * [https://github.com/adafruit/circuitpython/pull/10422](https://github.com/adafruit/circuitpython/pull/10422) (Open 71 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10440](https://github.com/adafruit/circuitpython/pull/10440) (Open 62 days) + * [https://github.com/adafruit/circuitpython/pull/10443](https://github.com/adafruit/circuitpython/pull/10443) (Open 60 days) + * [https://github.com/adafruit/circuitpython/pull/10474](https://github.com/adafruit/circuitpython/pull/10474) (Open 44 days) + * [https://github.com/adafruit/circuitpython/pull/10499](https://github.com/adafruit/circuitpython/pull/10499) (Open 36 days) + * [https://github.com/adafruit/circuitpython/pull/10512](https://github.com/adafruit/circuitpython/pull/10512) (Open 30 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10540](https://github.com/adafruit/circuitpython/pull/10540) (Open 23 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10538](https://github.com/adafruit/circuitpython/pull/10538) (Open 23 days) (draft) + * [https://github.com/adafruit/circuitpython/pull/10558](https://github.com/adafruit/circuitpython/pull/10558) (Open 16 days) + * [https://github.com/adafruit/circuitpython/pull/10565](https://github.com/adafruit/circuitpython/pull/10565) (Open 13 days) + * [https://github.com/adafruit/circuitpython/pull/10571](https://github.com/adafruit/circuitpython/pull/10571) (Open 6 days) +* 4 closed issues by 2 people, 4 opened by 4 people +* 803 open issues + * [https://github.com/adafruit/circuitpython/issues](https://github.com/adafruit/circuitpython/issues) +* 9 active milestones +* 10.0.0: 13 open issues +* 10.0.x: 2 open issues +* 10.x.x: 70 open issues +* 11.0.0: 7 open issues +* 9.2.x: 0 open issues +* Libraries: 16 open issues +* Long term: 656 open issues +* Support: 20 open issues +* Third-party: 17 open issues +* 0 issues not assigned a milestone (triaged 2 today) + +### 11:41 Libraries + +* Adafruit Libraries: 371 Community Libraries: 166 (Total: 537\) +* 2 pull requests merged + * 2 authors \- dhalbert, FoamyGuy + * 2 reviewers \- tannewt, FoamyGuy + * Merged pull requests: + * [https://github.com/adafruit/Adafruit\_CircuitPython\_Bundle/pull/520](https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/520) (Days open: 2\) + * [https://github.com/adafruit/Adafruit\_CircuitPython\_DotStar/pull/71](https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/71) (Days open: 1\) + * 53 open pull requests (Oldest: 1103, Newest: 1\) +* 4 closed issues by 3 people, 6 opened by 6 people + * 736 open issues + * 3 good first issues +* [https://circuitpython.org/contributing](https://circuitpython.org/contributing) + +#### Library updates in the last seven days: + +### 16:14 Blinka + +* 3 pull requests merged + * 3 authors \- FoamyGuy, makermelissa, avenstewart + * 3 reviewers \- tannewt, ladyada, makermelissa +* 11 open pull requests + * [https://github.com/adafruit/Adafruit\_Blinka\_bleio/pull/40](https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40) (Open 1417 days) + * [https://github.com/adafruit/Adafruit\_Blinka/pull/884](https://github.com/adafruit/Adafruit_Blinka/pull/884) (Open 376 days) (draft) + * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/140](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/140) (Open 372 days) + * [https://github.com/adafruit/Adafruit\_Blinka/pull/888](https://github.com/adafruit/Adafruit_Blinka/pull/888) (Open 359 days) + * [https://github.com/adafruit/Adafruit\_Blinka/pull/908](https://github.com/adafruit/Adafruit_Blinka/pull/908) (Open 289 days) (draft) + * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Neopixel/pull/9](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Neopixel/pull/9) (Open 118 days) + * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_rp1pio/pull/22](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_rp1pio/pull/22) (Open 118 days) + * [https://github.com/adafruit/Adafruit\_Blinka/pull/989](https://github.com/adafruit/Adafruit_Blinka/pull/989) (Open 50 days) + * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Piomatter/pull/57](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/57) (Open 18 days) + * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Piomatter/pull/59](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/59) (Open 12 days) + * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Piomatter/pull/60](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/60) (Open 4 days) +* 5 closed issues by 2 people, 0 opened by 0 people +* 140 open issues + * [https://github.com/adafruit/Adafruit\_Blinka/issues](https://github.com/adafruit/Adafruit_Blinka/issues) +* Number of supported boards: 165 + +## 17:08 Hug reports + +17:38 @foamyguy (hosting) + +* Everyone who streamed or participated on CircuitPython day. And another thanks to Liz for hosting many streams and organizing the day. +* SamBlenny for improvements to audio in the TLV320 lib +* Dan for figuring out and fixing some bugs exposed by using Dotstars and Network together on the Fun House + +18:15 @danh + +* @SamBlenny for going deep in the TLV320 datasheet to improve gain setting in the driver. + +18:52 @SamBlenny (text only) + +* Dan, Tim, and Scott for help with dev tooling for core and libraries + +19:04 @tannewt + +* Liz for organizing CircuitPython Day and everyone who participated +* Dan and Tim for keeping things going as I’m mostly out + +## 19:22 Status Updates + +19:46 @foamyguy (hosting) + +* Fruit Jam OS guide +* Digging into a bug in display text that results in different heights for label and bitmap label with some fonts +* Fruit Jam PoC’s for fetching and playing audio from IBM Watson and Amazon Polly TTS services. + +21:18 @danh + +* I figured out why a mutex taken for a long time interferes with WiFi and USB on Espressif. FreeRTOS uses a simplified priority inheritance scheme that does not expect a mutex to be held for a long time. It keeps a count of how many mutexes were taken by a task. If a second mutex is taken by the task (lwip code does this), then the inherited priority of the task is raised until ALL the mutexes are released. The locks on I2C and SPI were recently changed to mutexes. Since the I2C or SPI mutex is never released, the main CPy task remains at a higher priority, freezing out other stuff. Fixed the DotStar library to not hold the mutex forever. + This is an obscure problem that should be documented. +* Fixed four 10.0.0 issues. Continuing on further issues. +* Did a bunch of reviews. + +25:33 @SamBlenny (text only) + +* Main Quest: Working to fix Fruit Jam USB host glitches +* Side Quest: Improving Adafruit\_CircuitPython\_TLV320 DAC volume controls + +25:55 @tannewt (out) + +* Working on ESP-IDF update to 5.5. +* Also looking into expanding ESP32-P4 support. +* Will likely get C5 and C61 support going as a part of it. + +## 26:19 In The Weeds + +## 26:27 Wrap-Up + +We’re continuing every other week meetings for the time being. Next meeting is 9/8/25 at the normal time 2pm US Eastern 11am US Pacific + +[image1]: \ No newline at end of file