CircuitPython Weekly Meeting for March 10, 2025

Liz is hosting.


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


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 for use with standard calendar applications and can also be viewed in your browser.


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.
01:52 Community News
### 01:56 A MicroPython Interpreter For Flipper Zero
Do you have a Flipper Zero? Have you ever wanted to use a high-level but powerful scripting language on it? There is now a MicroPython application for the Flipper, complete with a library for hardware and software feature support - [GitHub](https://ofabel.github.io/mp-flipper/) and [Hackaday.](https://hackaday.com/2025/03/03/a-micropython-interpreter-for-flipper-zero/)
### 02:14 The CircuitPython Show
Tod Kurt and Jan Goolsbey join the show and share their experience in writing drivers and libraries for the CircuitPython Community bundle - [The CircuitPython Show.](https://www.circuitpythonshow.com/@circuitpythonshow)
### 02:32 Audio Pitch Shift Effect
A new audio pitch shift effect was just merged into CircuitPython - [ReadTheDocs.](https://docs.circuitpython.org/en/latest/shared-bindings/audiodelays/index.html#audiodelays.PitchShift)
### 02:43 CircuitPython Snake Game
A CircuitPython snake game on the TV running on a Metro RP2350 - [YouTube.](https://www.youtube.com/watch?v=XpPi_pflylc)
02:58 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 and submit a pull request 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),.
03: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.
03:54 Overall
* 14 pull requests merged
  * 10 authors - weblate, tannewt, relic-se, RetiredWizard, jepler, FoamyGuy, justmobilize, andibing, makermelissa, eightycc
  * 7 reviewers - tannewt, dhalbert, tyeth, elpekenin, jepler, gamblor21, FoamyGuy
* 7 closed issues by 4 people, 6 opened by 6 people
### 04:30 Core
* 7 pull requests merged
  * 7 authors - weblate, tannewt, andibing, relic-se, RetiredWizard, eightycc, jepler
  * 6 reviewers - FoamyGuy, tannewt, dhalbert, elpekenin, jepler, gamblor21
* 27 open pull requests
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 711 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 474 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 369 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 348 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9349 (Open 264 days)
  * https://github.com/adafruit/circuitpython/pull/9559 (Open 198 days)
  * https://github.com/adafruit/circuitpython/pull/9844 (Open 101 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9876 (Open 93 days)
  * https://github.com/adafruit/circuitpython/pull/9878 (Open 92 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9883 (Open 90 days)
  * https://github.com/adafruit/circuitpython/pull/9909 (Open 76 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9955 (Open 56 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9974 (Open 51 days)
  * https://github.com/adafruit/circuitpython/pull/9994 (Open 44 days)
  * https://github.com/adafruit/circuitpython/pull/10023 (Open 35 days)
  * https://github.com/adafruit/circuitpython/pull/10044 (Open 29 days)
  * https://github.com/adafruit/circuitpython/pull/10056 (Open 24 days)
  * https://github.com/adafruit/circuitpython/pull/10073 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/10080 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/10113 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/10122 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/10121 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/10119 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/10118 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/10116 (Open 3 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/10123 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/10124 (Open 0 days)
* 5 closed issues by 3 people, 3 opened by 3 people
* 768 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
 * 10.0.0: 18 open issues
 * 9.2.x: 12 open issues
 * 9.x.x: 59 open issues
 * Libraries: 17 open issues
 * Long term: 625 open issues
 * Support: 22 open issues
 * Third-party: 15 open issues
 * 1 issues not assigned a milestone
### 06:51 Libraries
* Adafruit Libraries: 354 Community Libraries: 154 (Total: 508)
* 5 pull requests merged
  * 2 authors - justmobilize, makermelissa
  * 4 reviewers - FoamyGuy, tannewt, dhalbert, tyeth
  * Merged pull requests:
        * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/245 (Days open: 9)
        * https://github.com/adafruit/Adafruit_CircuitPython_JSON_Stream/pull/7 (Days open: 6)
        * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/pull/32 (Days open: 5)
        * https://github.com/adafruit/Adafruit_CircuitPython_FunHouse/pull/45 (Days open: 3)
        * https://github.com/adafruit/Adafruit_CircuitPython_SSD1680/pull/31 (Days open: 1)
  * 47 open pull requests (Oldest: 935, Newest: 12)
* 2 closed issues by 2 people, 1 opened by 1 people
  * 694 open issues
  * 3 good first issues
* https://circuitpython.org/contributing
#### Library updates in the last seven days:
Updated Libraries
* [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
* [adafruit/Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
* [adafruit/Adafruit_CircuitPython_BLE_BroadcastNet](https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet)
### 11:00 Blinka
* 2 pull requests merged
  * 2 authors - FoamyGuy, justmobilize
  * 2 reviewers - FoamyGuy, jepler
* 26 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 1249 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 437 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/884 (Open 208 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/140 (Open 204 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/888 (Open 191 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/908 (Open 121 days) (draft)
  * https://github.com/adafruit/Adafruit_Blinka/pull/911 (Open 113 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/914 (Open 98 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/915 (Open 93 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/372 (Open 88 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/921 (Open 77 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/925 (Open 60 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/375 (Open 60 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/928 (Open 57 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/143 (Open 53 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/378 (Open 51 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/931 (Open 48 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/379 (Open 29 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/945 (Open 15 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/380 (Open 15 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/156 (Open 14 days)
  * https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/24 (Open 6 days)
  * https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Neopixel/pull/6 (Open 6 days)
  * https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_rp1pio/pull/19 (Open 6 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/950 (Open 5 days)
  * https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter/pull/27 (Open 3 days)
* 0 closed issues by 0 people, 2 opened by 2 people
* 152 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Number of supported boards: 146
12:11 Hug reports
12:26 @Liz (hosting)
* @Tim for assisting with product guide updates
* @Jeff for reading multiple sections during the state of CP
* Group hug


12:51 @danh (out)
* @tannewt and @hathach for working on USB Host.
* @eightycc for diagnosing RP2350 PSRAM DMA memory issue.


13:07 @eightycc
* Big hug to @tannewt, @danh, and @jepler for all the fine work they’ve done down in the engine room of CircuitPython. Magnificent job well done!


13:26 @foamyguy
* @JP for working with me to get through some issues experienced on the on the Pi5 with RGB matrices resolved and @Jepler for a suggestion that ultimately led to the solution for one of our issues.
* @MarkGamblor for suggestions about a more efficient way to store mapped colors when Palette is used vs. ColorConverter
* @tannewt for encouragement and input on tile palette mapper module. I took a step back from implementing it and testing it, to just play with it some last night and am gaining even more appreciation for the flexibility that this module can provide for re-coloring bitmaps.
* @Jepler for another round of improvements to the PioMatter library. 


14:40 @jepler
* @eightycc for excellent sleuthing to resolve a picodvi crash
* @relic-se for the pitch shift audio effect
* @anne_engineer for her Matrix demo building on the arduino dvi hstx library, so cool!
* Group hug
15:16 Status Updates
15:36 @Liz (hosting)
* This week I published the [Portable Macrodata Refinement Terminal Learn Guide](https://learn.adafruit.com/portable-macrodata-refinement-terminal). I'm really proud of this project. I put a lot of work into the Python code and 3D design to channel the vibe of Severance. It's really satisfying to use with the trackball mouse, and I hope that it can be a useful example for folks looking to build their own.


16:11 @anne (lurking/working on other things)
* Published a guide on the CircuitPython Breakout Game on the Adafruit Learning System for the Metro RP2350 (compatible with other HSTX + USB Host boards). I also made a Matrix display program in Arduino. It’d be a good candidate for a conversion to CircuitPython (hint: @foamyguy)


16:33 @danh (out)
* NINA-FW progress for AirLift:
   * Updated to ESP-IDF v5.3.x.
   * Using mostly existing arduino-esp32 libraries. Building with CMake structure, with arduino-esp32 as a component. 
   * Started porting to ESP32-C6


16:55 @eightycc
* Submitted PR #10116, a package of miscellaneous fixes for Framebuffer found while working on issue #10104 (see below). Should make Framebuffer a bit more stable.
* Resolved issue #10104, double-fault during flash filesystem erase with concurrent picodvi.Framebuffer operation. The root cause was simple, but debugging was complicated by complete loss of XIP access to flash. Had to resort to manually deconstructing the stack in SRAM as higher level gdb commands were themselves double-faulting.
* Wrote up issue #10125 as an enhancement request for a facility to allocate memory in SRAM for DMA buffers. In a nutshell, on PSRAM equipped RP2350 boards it’s unpredictable whether memory allocations come from SRAM or PSRAM, especially as the heap ages. DMA will fail if it attempts to access PSRAM.


18:18 @foamyguy
* Flappy nyan cat game for Metro RP2350 learn guide completed
* Testing USB host things on MetroRP2350 and Fruit Jam
   * Made a very basic mouse test script with a moving cursor
   * Slightly more fun test with draggable playing cards
   * Successfully tested both keyboard and mouse at the same time on Fruit Jam
* Pi 5 RGB Matrix 
   * Working on new guide page for the X window virtual display functionality
   * Test and review what I can from the new functionality added in a PR


19:33 @jepler
* Added support for multiple connectors & “temporal dithering” to piomatter on Pi5 (PR is in progress).
   * On a 64x64 panel, 100FPS at 10 bit planes is now possible. With 3 connectors, 128x192 with 10 bit planes would still be able to go at about 50fps
   * It works with lower bit depths as well, 5bpp goes from 135->210fps, or over 100fps if you had 6 panels on 3 connectors. And it looks great.
   * More work needs to be done enabling multi connectors easily without needing to copy & paste code to define the matrix “map”
* Merged the pitch shift audio effect PR
* Worked in Arduino land on the HSTX video library & with MCUME emulator
* This week: 
   * More emulator work in Arduino & pico-sdk land
   * Review Scott’s “SAVES” partition code
In The Weeds
* None

22:05 Wrap-Up
Normal day/time next week 3/17 2pm US Eastern, 11am US Pacific
