adafruit-circuitpython-week.../2025/2025-04-14.md
2025-04-14 12:42:09 -07:00

20 KiB
Raw Permalink Blame History

CircuitPython Weekly Meeting for April 14, 2025

Video is available on YouTube.

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 youd 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 were 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:52 Community News

3:16 MicroPythons Super Interesting Alif Ensemble Microcontroller Port

A few days ago, Adafruits Ladyada had an interview with OpenMV. OpenMV is releasing two new programmable AI camera modules on Kickstarter.

The MicroPython team has announced the merging of support for the Alif Ensemble MCUs, used in OpenMVs modules, on GitHub. The code allows MicroPython to run on Alif Express chips and the OpenMV AE3 camera board - MicroPython GitHub. Via Mastodon and the Adafruit Blog.

3:54 The Python Lifecycle

Have you ever wondered where the Python version you're using is in its development lifecycle? The Python Developer's Guide keeps track for you to help decide when to upgrade your codebase - Python Developer's Guide. Via LinkedIn.

4:30 Adafruit Debuts "Tariff Talk" to Provide the Latest on Industry Tariffs

Adafruit has started a segment on their Ask an Engineer weekly broadcast to discuss the tariffs unfolding worldwide and their effect on engineering/BOM and DIY project costs in the electronics industry - Adafruit Blog and YouTube.

5:00 Newsletter Details

The Python on Microcontrollers Weekly Newsletter is a CircuitPython-community-run newsletter emailed every Monday. The complete archives are here. 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),.

6:10 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:34 Overall

  • 13 pull requests merged
    • 11 authors - weblate, relic-se, carlossless, snkYmkrct, todbot, tannewt, eightycc, dhalbert, Neradoc, Myoldmopar, FoamyGuy
    • 3 reviewers - FoamyGuy, tannewt, dhalbert
  • 8 closed issues by 4 people, 16 opened by 16 people

7:28 Core

9:29 Libraries

14:07 Library updates in the last seven days:

14:32 Blinka

15:24 Hug reports

16:00 @tannewt (hosting)

  • @ladyada and @pt for following all of the tariff changes.
  • @RetiredWizard for working on adding multi-display support and being open to large changes.

16:43 @danh

  • @eightycc for figuring out Microchip flash chip idiosyncrasies.
  • @Allen Wright from Microchip for helping with the flash chips and @Ross from Microchip for getting Allen involved.
  • @anecdata for pointing out cyw43 support for power management.

17:44 @eightycc

  • @danh for all the help getting a sam e54 xplained board flashed, and for teaching me that the j-link tools are really better in many cases.
  • @tannewt for going deep into gc. Fascinating stuff!

18:14 @foamyguy

  • @tannewt for digging deep into garbage collection in search of improvements for displayio animations and audio playback
  • @Justin for continuing to work on secrets.py -> settings.toml changes in the learn repo

18:51 @RetiredWizard (text only)

  • @tannewt for providing direction on my attempt to implement multiple display support, and what Im sure is going to turn out to be many future corrections on my efforts down wrong paths.

19:10 Status Updates

19:41 @tannewt (hosting)

  • Improved I2S out by making sure it allocates DMAd buffers into internal SRAM.
  • PR to add working dir to set_next_code_file and adding pathlib has two samd builds that are too large. Then itll be set.
  • Tested Larsio paint.
    • DMA memory allocation change helps a bunch.
    • Mouse from the shop is acting weird for me. It disconnects from the hub briefly. So brief that TinyUSB only sees a new connect and no disconnect. It re-enums the new device but doesnt “disconnect” the old one so it leaks. Filed issue for Thach here: https://github.com/hathach/tinyusb/issues/3073
    • Experimented with allocating Bitmap buffers outside of the MP heap and GC collect times dropped from 200ms to ~40ms. Helps the audio squawks a bunch.
    • Printing slows down due to changing the CP console terminalio even when it isnt showing. May tweak that.
  • Adding a “collect” bit to MP heap management so that memory has to be opted into being collected. This should make collect times much shorter when large buffers are allocated. This is especially true with external PSRAM. Collects will blow the cache away by scanning a bunch of memory. The cache is shared with flash. So, it impacts flash accesses as well.

24:09 @danh

  • Filed issue on ChromeOS re SAMD UF2 bootloader not showing up, with logs. https://issuetracker.google.com/issues/409576876.
  • RP2xxxx I2S audio: left/right channels are flipped in 3 out of 4 cases. Investigating.
  • Adding WiFi power management settings on Espressif and making them uniform across Espressif and CYW43.
  • After these, will work on no-OTA-partition change for 10.0.0 on 4MB Espressif boards.

26:53 @eightycc

  • Fixed a couple of stubborn bugs preventing Microchip SST26VFxxxB flash parts from working with CircuitPython.
  • Implemented BOOTSEL entry to safe mode for RP2 boards with RP235x parts.
  • Continue update of ESP-IDF to version 5.4.1.

27:40 @foamyguy

  • Updating learn guide pages for secrets.py -> settings.toml changes
  • Submitted Match3 game guide for moderation and a few changes from feedback
  • USB SNES like controller guide pages and CircuitPython example code. Found compatibility issues with certain devices and versions of CircuitPython and filed an issue, also tested a newer version of pico-pio-usb. Will work on an arduino example next.
  • Released adafruit_anchored_group library and added it to the bundle.
  • Two infrastructure fixes: CST8XX library was always failing its gh_release action and is fixed now, circuitpython-build-tools was getting a warning from pypi for a name that doesnt comply with PEP 625, fixed by updating the version of python used to build it.
  • Did a bit of work and made a new release for Blinka_DisplayIO_PyGame_Display library to get it working with the latest Blinka DisplayIO. Removed support for auto_refresh due to issues with threading between pygame and displayio.
  • Started implementing bitmaptools in Blinka_DisplayIO.

31:03 @RetiredWizard (text only)

  • Attempting to wrap my head around Micropython/Circuitpython finalizers so they can be used for displayio object releases. I hope to have a draft PR for multiple display support posted this week.

31:34 In The Weeds

31:54 @danh: Consolidate https://github.com/circuitpython/CircuitPython_Org_Bundle into https://github.com/adafruit/CircuitPython_Community_Bundle ? The CircuitPython_Org bundle has only three libraries, all displayio-related, and has not been updated for two years. The bundle is not listed in https://circuitpython.org/libraries.

  • Move those libraries to the community bundle and archive the org bundle.
  • Remove mechanisms for that bundle, including in circup
  • If the idea is that the community bundle is community supported, could move the community bundle to the circuitpython org.

44:30 @tannewt

  • Im on paternity leave in three weeks for eight weeks. Our meeting host rotation will only be three people. Anyone interested in hosting this meeting so that the rotation has more folks?

47:20 Wrap-Up

  • Next week is normal time.