# CircuitPython Weekly Meeting for April 28, 2025

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

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.

## 2:05 Community News

### MicroPython Turns Twelve

April 29th is MicroPython’s 12th birthday\! In 2013, Damien George released MicroPython and it has migrated to all kinds of equipment, on earth and beyond \- [MicroPython](https://micropython.org/).

### 2:50 SparkFun Goes All-In with Python and Hardware

SparkFun continues to embrace Python on Microcontrollers, starting a [how-to video series](https://www.youtube.com/watch?v=oq1fLK5vn-g) for MicroPython on YouTube. They’ve also established a dedicated GitHub repository for Python related content \- [GitHub](https://github.com/sparkfun/sparkfun-python/tree/main) and [YouTube](https://www.youtube.com/watch?v=oq1fLK5vn-g).

### 3:14 Claude Code: Best Practices for Agentic Coding

Claude Code is a command line tool for agentic (vibe) coding. Many programmers have been trying out AI/LLM tools to help in the coding or debugging process. This article covers tips and tricks that have proven effective for using one tool, Claude Code, across various codebases, languages, and environments \- [Anthropic](https://www.anthropic.com/engineering/claude-code-best-practices).

### 4:07 Casio Launches its Best fx-CG100 ClassWiz Graphing Calculator with MicroPython Programming

Casio US introduces the [fx-CG100 ClassWiz](https://www.casio.com/us/scientific-calculators/product.FX-CG100/), a powerful color-graphing calculator with MicroPython for app programming and 2,900 math functions. Students can use the calculator on standardized tests, such as the ACT, AP, PAST, and SAT tests, by enabling the Exam Mode, which locks out custom apps and user-added data \- [NotebookCheck](https://www.notebookcheck.net/Casio-launches-its-best-fx-CG100-ClassWiz-graphing-calculator-with-MicroPython-programming-in-America.1004479.0.html).

The TI-84 Plus CE Python calculators take it a step further by including the ability to collect data wirelessly from external sensors and control devices, such as robots and flying drones \- [TI](https://education.ti.com/en/products/calculators/graphing-calculators/ti-84-plus-ce-python/programming).

### 5:06 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),.

## 6:07 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.**

### 6:36 Overall

* 31 pull requests merged  
  * 16 authors \- Neradoc, jposada202020, dglaude, bablokb, rianadon, weblate, dhalbert, andibing, relic-se, **KanyonKris**, gamblor21, hexthat, **burtyb**, tannewt, bergdahl, FoamyGuy  
  * 4 reviewers \- gamblor21, dhalbert, tannewt, FoamyGuy  
* 15 closed issues by 6 people, 7 opened by 6 people

### 7:10 Core

* 21 pull requests merged  
  * 12 authors \- andibing, relic-se, bergdahl, KanyonKris, gamblor21, hexthat, bablokb, burtyb, weblate, tannewt, rianadon, dhalbert  
  * 3 reviewers \- gamblor21, tannewt, dhalbert  
* 20 open pull requests  
  * [https://github.com/adafruit/circuitpython/pull/8647](https://github.com/adafruit/circuitpython/pull/8647) (Open 523 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9009](https://github.com/adafruit/circuitpython/pull/9009) (Open 418 days)  
  * [https://github.com/adafruit/circuitpython/pull/9094](https://github.com/adafruit/circuitpython/pull/9094) (Open 397 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9349](https://github.com/adafruit/circuitpython/pull/9349) (Open 313 days)  
  * [https://github.com/adafruit/circuitpython/pull/9559](https://github.com/adafruit/circuitpython/pull/9559) (Open 247 days)  
  * [https://github.com/adafruit/circuitpython/pull/9844](https://github.com/adafruit/circuitpython/pull/9844) (Open 150 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9883](https://github.com/adafruit/circuitpython/pull/9883) (Open 139 days)  
  * [https://github.com/adafruit/circuitpython/pull/9909](https://github.com/adafruit/circuitpython/pull/9909) (Open 125 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/9955](https://github.com/adafruit/circuitpython/pull/9955) (Open 105 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10023](https://github.com/adafruit/circuitpython/pull/10023) (Open 84 days)  
  * [https://github.com/adafruit/circuitpython/pull/10056](https://github.com/adafruit/circuitpython/pull/10056) (Open 73 days)  
  * [https://github.com/adafruit/circuitpython/pull/10080](https://github.com/adafruit/circuitpython/pull/10080) (Open 67 days)  
  * [https://github.com/adafruit/circuitpython/pull/10254](https://github.com/adafruit/circuitpython/pull/10254) (Open 12 days)  
  * [https://github.com/adafruit/circuitpython/pull/10265](https://github.com/adafruit/circuitpython/pull/10265) (Open 11 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10267](https://github.com/adafruit/circuitpython/pull/10267) (Open 10 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10283](https://github.com/adafruit/circuitpython/pull/10283) (Open 5 days)  
  * [https://github.com/adafruit/circuitpython/pull/10288](https://github.com/adafruit/circuitpython/pull/10288) (Open 4 days)  
  * [https://github.com/adafruit/circuitpython/pull/10287](https://github.com/adafruit/circuitpython/pull/10287) (Open 4 days) (draft)  
  * [https://github.com/adafruit/circuitpython/pull/10291](https://github.com/adafruit/circuitpython/pull/10291) (Open 3 days)  
  * [https://github.com/adafruit/circuitpython/pull/10297](https://github.com/adafruit/circuitpython/pull/10297) (Open 1 days)  
* 11 closed issues by 5 people, 5 opened by 4 people  
* 773 open issues  
  * [https://github.com/adafruit/circuitpython/issues](https://github.com/adafruit/circuitpython/issues)  
* 9 active milestones  
* 10.0.0: 37 open issues  
* 10.0.x: 0 open issues  
* 10.x.x: 36 open issues  
* 11.0.0: 7 open issues  
* 9.2.x: 0 open issues  
* Libraries: 16 open issues  
* Long term: 633 open issues  
* Support: 29 open issues  
* Third-party: 16 open issues  
* 0 issues not assigned a milestone

### 8:41 Libraries

* Adafruit Libraries: 357 Community Libraries: 159 (Total: 516\)  
* 10 pull requests merged  
  * 5 authors \- Neradoc, burtyb, dglaude, jposada202020, FoamyGuy  
  * 2 reviewers \- tannewt, FoamyGuy  
  * Merged pull requests:  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_MatrixPortal/pull/99](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/99) (Days open: 95\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_MatrixPortal/pull/100](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/100) (Days open: 91\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_LED\_Animation/pull/124](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/124) (Days open: 77\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_LED\_Animation/pull/125](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/125) (Days open: 73\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_MiniMQTT/pull/249](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/249) (Days open: 10\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_Display\_Emoji\_Text/pull/5](https://github.com/adafruit/Adafruit_CircuitPython_Display_Emoji_Text/pull/5) (Days open: 5\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_ProgressBar/pull/41](https://github.com/adafruit/Adafruit_CircuitPython_ProgressBar/pull/41) (Days open: 1\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_USB\_Host\_Descriptors/pull/7](https://github.com/adafruit/Adafruit_CircuitPython_USB_Host_Descriptors/pull/7) (Days open: 1\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_PIO\_UART/pull/7](https://github.com/adafruit/Adafruit_CircuitPython_PIO_UART/pull/7) (Days open: 1\)  
    * [https://github.com/adafruit/Adafruit\_CircuitPython\_Bundle/pull/502](https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/502) (Days open: 1\)  
  * 51 open pull requests (Oldest: 984, Newest: 2\)  
* 4 closed issues by 4 people, 1 opened by 1 people  
  * 718 open issues  
  * 3 good first issues  
* [https://circuitpython.org/contributing](https://circuitpython.org/contributing)

#### Library updates in the last seven days:

* **New Libraries**  
  * [adafruit/Adafruit\_CircuitPython\_Pathlib](https://github.com/adafruit/Adafruit_CircuitPython_Pathlib)  
* **Updated Libraries**  
  * [adafruit/Adafruit\_CircuitPython\_USB\_Host\_Descriptors](https://github.com/adafruit/Adafruit_CircuitPython_USB_Host_Descriptors)  
  * [adafruit/Adafruit\_CircuitPython\_Display\_Emoji\_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Emoji_Text)  
  * [relic-se/CircuitPython\_SynthVoice](https://github.com/relic-se/CircuitPython_SynthVoice)

### 13:12 Blinka

* 0 pull requests merged  
  * 0 authors \-  
  * 0 reviewers \-  
* 30 open pull requests  
  * [https://github.com/adafruit/Adafruit\_Blinka\_bleio/pull/40](https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40) (Open 1298 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/335](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335) (Open 486 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/884](https://github.com/adafruit/Adafruit_Blinka/pull/884) (Open 257 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/140](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/140) (Open 253 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/888](https://github.com/adafruit/Adafruit_Blinka/pull/888) (Open 240 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/908](https://github.com/adafruit/Adafruit_Blinka/pull/908) (Open 170 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/914](https://github.com/adafruit/Adafruit_Blinka/pull/914) (Open 147 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/915](https://github.com/adafruit/Adafruit_Blinka/pull/915) (Open 142 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/372](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/372) (Open 137 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/925](https://github.com/adafruit/Adafruit_Blinka/pull/925) (Open 109 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/375](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/375) (Open 109 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/928](https://github.com/adafruit/Adafruit_Blinka/pull/928) (Open 106 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/143](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/143) (Open 102 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/378](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/378) (Open 100 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/931](https://github.com/adafruit/Adafruit_Blinka/pull/931) (Open 97 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/379](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/379) (Open 78 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/945](https://github.com/adafruit/Adafruit_Blinka/pull/945) (Open 64 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/380](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/380) (Open 64 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Displayio/pull/156](https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/156) (Open 63 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/950](https://github.com/adafruit/Adafruit_Blinka/pull/950) (Open 54 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/955](https://github.com/adafruit/Adafruit_Blinka/pull/955) (Open 47 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/381](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/381) (Open 47 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Piomatter/pull/38](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/38) (Open 40 days) (draft)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Piomatter/pull/41](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/41) (Open 33 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_Neopixel/pull/8](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Neopixel/pull/8) (Open 33 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka\_Raspberry\_Pi5\_rp1pio/pull/21](https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_rp1pio/pull/21) (Open 33 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/959](https://github.com/adafruit/Adafruit_Blinka/pull/959) (Open 30 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/382](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/382) (Open 30 days)  
  * [https://github.com/adafruit/Adafruit\_Blinka/pull/960](https://github.com/adafruit/Adafruit_Blinka/pull/960) (Open 22 days)  
  * [https://github.com/adafruit/Adafruit\_Python\_PlatformDetect/pull/383](https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/383) (Open 22 days)  
* 0 closed issues by 0 people, 1 opened by 1 people  
* 155 open issues  
  * [https://github.com/adafruit/Adafruit\_Blinka/issues](https://github.com/adafruit/Adafruit_Blinka/issues)  
* Number of supported boards: 146

## 14:00 Hug reports

14:23 @danh (hosting)

* @eightycc for diagnosing issues with the ESP-IDF upgrade to v5.4.1.  
* @ComplexSymbol for finding and fixing a serious parsing problem with complex numbers.  
* @gamblor21 for recent reviews and fixes.  
* @foamyguy for moving libraries from the discontinued circuitpython.org bundle to the community bundle.  
* @tannewt for addressing a number of sticky issues before he takes time off.

15:15 @eightycc (text only)

* @danh for all the invaluable support and advice debugging ESP-IDF upgrade issues. Plus, his fine work diagnosing and fixing the TLS certificate issue.

15:35 @foamyguy

* @danh for help resolving some issues with github repo settings that popped up while updating / moving circuitpython org library to the community bundle.  
* @tannewt for improvements to display / gc / and audio playback, the fruit jam animation. Also another for reviewing my USB learn guides and code.  
* Group hug

16:05 @tannewt

* @gamblor21 and @relic-se for continued synthio improvements and fixes.

## 16:30 Status Updates

17:00 @danh (hosting)

* Fixed a TLS problem with the ESP-IDF v5.4.1 upgrade.  
* Helping on another problem with ESP32-C3 and ESP32-C6 chips.


18:00 @eightycc (text only)

* Cleared up all known issues with ESP-IDF v5.4.1 upgrade. Testing on Risc-V Espressif parts, ESP32-C3 and ESP32-C6 blocked due to unrelated Python interpreter crashes.  
* Continue debugging the Espressif Risc-V problem.

18:30 @foamyguy

* Working on USB Keyboard and Mouse guides. Keyboard is live now, mouse submitted pending review.  
* PR Reviews in libraries matrix portal, and led animation  
* Fruit Jam animation code updates and cleanup \+ test on latest circuitpython  
* Adabot JSON error handling, and fix community bundle update failing  
* Tested Teletext / YBX3 guide project on Pico2W and CircuitPython picoDVI  
* Bitmaptools blinka displayio: implement dither and fix all other function default argument behavior. Last thing to do is boundary\_fill

21:00 @tannewt

* Working “when the baby sleeps” starting Thursday.  
* GC Selective Collect is merged in\! Thanks to Dan for the review. Drops GC times from 200+ ms to \~15ms for larsio paint. *Add demo to show it off.*  
* Adjusted USB buffer sizes on S2 to fix those builds.  
* Fixed issue with Thonny after cwd changes.  
* Tested direct USB Host via Feather RP2350 and it didn’t work very well. I’m not sure why the hub helps so much. Looks ok to me on the saleae with a 10ns glitch filter.  
* Fixing audio playback. There is a gap during buffer fills that doesn’t restart correctly.

## 24:00 In The Weeds

## 24:12 Wrap-Up

Meeting is at the usual time/day next Monday 5/5/25
