adafruit-circuitpython-week.../2025/2025-02-18.md
2025-02-18 13:55:49 -06:00

21 KiB
Raw Permalink Blame History

CircuitPython Weekly Meeting for February 18th, 2025

THIS MEETING IS ON TUESDAY! 24 hours later than normal.

Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates before the meeting, alphabetically by your username. During the meeting, we go through them in order. If you cant make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and well read them off for you.

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

We now convert this document to Markdown on export, instead of including explicit raw Markdown formatting. When you type, just format your contributions with regular Google Docs formatting. If you type using Markdown formatting characters, your input will be converted on the fly to formatted text. You can also right-click and “Paste as Markdown” any text that is using raw Markdown.

Thanks! We hope to see you in the meeting!

Tim is hosting.

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.

04:01 Community News

04:37 Python, MicroPython, and CircuitPython: Similarities and Differences

Don Wilcher writes about the similarities and differences in Python, MicroPython, and CircuitPython - DigiKey.

05:15 10 Years of Certifying Open Source Hardware

Michael Weinberg presented 10 Years of Certifying Open Source Hardware at FOSDEM 2025 - bluesky and Video.

05:44 Gustavo Reynaga: Inspiring the Next Generation of Makers with MicroPython

If youre a fan of open-source technology, Gustavo Salvador Reynaga Aguilar is a name to know. An experienced educator with a passion for technology, Reynaga has spent nearly three decades teaching and inspiring students at CECATI 132 in Mexico. Hes worked with platforms like Arduino, Raspberry Pi, and BeagleBone - Arduino Blog.

06:41 An Open Source Password Manager

PasswordVault 2.x is an open source password manager, based on Raspberry Pi Pico 2 and a small display with buttons. It is implemented in CircuitPython - hackster.io and GitHub.

07:31 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),.

08:21 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.

08:40 Overall

  • 20 pull requests merged
    • 9 authors - weblate, dastels, mattuna15, Randall-Scharpf, bablokb, jepler, wtuemura, eightycc, FoamyGuy
    • 6 reviewers - BlitzCityDIY, ladyada, tannewt, dhalbert, FoamyGuy, jepler
  • 15 closed issues by 6 people, 18 opened by 13 people

10:11 Core

11:32 Libraries

Library updates in the last seven days:

15:43 Blinka

17:05 Hug reports

17:28 @foamyguy (hosting)

  • @PaulCutler for interviewing me for the CircuitPython show, and editing together a great episode of the podcast from it. Its scheduled to release on April 21st, with other great episodes coming between now and then.
  • @tannewt generally for the deep dive streams, and specifically for talking through some ideas for possible ways to implement emoji on the recent one.
  • @BlitzCityDIY for guidance on writing learn guide pages and answering my many questions
  • SerenityOS project for publishing their Emoji font and images for others to use

18:26 @danh

  • @tyeth and @justmobilize for NINA-FW testing

18:51 @jepler

  • @MichaelBell on github and mastodon for the awesome “dvhstx” library Im using for some Arduino work (for the digital video output on rp2350)
  • @cooper for helping out with some audio work in the core that should have fallen to me. And also for asking questions so I could clarify my thinking.
  • @tannewt for helping one of my PRs be better than it was at the outset
  • Somebody at adafruit for implementing an atom feed for the Adafruit Playground, I just added https://adafruit-playground.com/playground/pages.atom to my RSS readers electronics folder. (spoke too soon, cloudflare protection is preventing the feed from actually loading in my feed reader; hopefully I can find someone who can let it work)

20:04 @jerryn

  • Group hug
  • SamBlenny for the Zephyr guides in the Playground

20:33 @tannewt

  • Hathach for debugging PIO usb host. Excited to try it with fixes
  • Foamyguy for experimenting with emoji support in CP. I want to circle back to discuss options with you.

21:01 Status Updates

21:29 @foamyguy (hosting)

  • Wrote generic USB gamepad mapping code. Works with Feather RP2040 USB Host and prints out the data sent when buttons are pressed, or joysticks moved. Will use it for a guide page.
  • Added support for USB HID game pads to GameControls library
  • Working on Metro RP2350 guide pages
  • Hacked together a Label-like class for displayio that can render emoji in addition to text. Its quite limited, and has had no thought given toward efficiency in its implementation, but it does render mixed text and emoji successfully 🎉
    • Reported an issue with ImageLoad that crashed with some images and submitted a fix for it
    • Have observed a different issue where some images render improperly, but havent been able to pin down the root cause yet.

23:18 @danh

  • Released NINA-FW 2.0.0+adafruit, which is the firmware used for AirLift co-processors. Ill continue working on this, updating it to ESP-IDF 5.4, and investigating reducing its internal heap use and fragmentation.
  • Also looking at why ESP32-C3 BLE is causing a boot loop after updating to ESP-IDF 5.3.2.

25:16 @jepler

  • Added `supervisor.runtime.display` for any board with displayio, and wrote a playground note about it: https://adafruit-playground.com/u/jepler/pages/supervisor-runtime-display-in-circuitpython-9-2-5
    Its basically the new and improved successor to `board.DISPLAY` and you can do useful stuff like configure a display in boot.py once and then use it in multiple runs of code.py, even on a board with no built in display that therefore lacks `board.DISPLAY`
  • Added auto configuration of picodvi on metro rp2350 and feather rp2350. Defaults to 320x240@16bpp. This is the motivating reason to add supervisor.runtime.display right now.
  • In piomatter, setting some ground work for a possible upcoming pi hat with 3 HUB75 connectors. This will involve moving the code that sets the mapping from framebuffer coordinates to matrix pixel coordinates into Python for additional flexibility.
  • Also working in Arduino land creating a library for digital video on rp2350. The WIP is progressing. Thats where Ill be putting the bulk of my time the coming week probably.

28:19 @jerryn

  • Cleaning up issues in the RFM9X and RFM libraries more - In the Weeds
  • Playing with OV5640 on the Pico2W and espcamera on some esp32s3 boards.
    • Resurrecting some dormant projects - mostly sending snaps to AIO

29:15 @tannewt

  • Polishing up Fruit Jam board definition to PR.
  • Expanding supported HSTX framebuffer resolutions. 720x400 is good for wide screen.
  • Testing USB Host after Thachs fixes. Hoping to get it solid.
  • Brainstorming terminal improvements for Fruit Jam:
    • Supporting emoji
    • Moving terminal font to the file system
    • Supporting foreground and background color
    • Supporting framebuffer scroll

31:49 In The Weeds

32:05 @jerryn

  • This is clearly not a hot issue but there was a long-standing issue in the RFM9x library regarding using Spreading Factor=6 It has finally been fixed in the RFM library (pending PR- submitted 3 weeks ago…) but not in the RFM9x library. It adds code so Im not sure we want to implement it in the RFM9X library due to the impact on the feather_m0_rfm9x build. RFM library will not run on M0 boards needs asyncio. Looking for guidance… Do you want the fix implemented in RFM9x? Note: SF=6 also does not work in RadioHead library for Arduino. I reported it and they appear to just want to document it, not fix it. It creates additional issues for the “reliable datagram mode” which will not work for RFM library either. It has only been requested a few times in the past several years.
  • With this fix all Spreading Factors can work, but may require “tweaking” af some of the timing controls. A few issues in RFM9X are fixed in RFM, but not available in RFM9x. I have made notes in the RFM9x issues.
  • Why is the espcamera module not included for the 4Mbyte esp32s3 builds? Just curious. I can build it myself.
    • @jepler: from looking at the file history, I see that my note on commit 0e26a937ccc8187aaf15f98c763a669dd7caa7a5 which disabled CIRCUITPY_CAMERA on adafruit_feather_esp32s3_4mbflash_2mbpsram and other boards said “Disable camera everywhere it doesn't fit”. Elsewhere in the history there are notes that states “bitmapfilter does not fit on 4MB boards unless they are set up as camera boards”. If it fits now due to other changes, without disabling anything else, then we can consider enabling it.
    • @tannewt: these boards have less code space due to partition tables that support OTA. This may change in CircuitPython 10 & updated tinyuf2.

42:10 Wrap-Up

Next meeting Monday February 24 at 2PM ET / 11AM PT.