adafruit-circuitpython-week.../2025/2025-01-27.md
2025-01-27 19:55:34 -06:00

1.5 MiB
Raw Permalink Blame History

CircuitPython Weekly Meeting for January 27, 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.

3:03 Community News

MicroPython at FOSDEM

MicroPython at FOSDEM

MicroPython will once again be joining forces with Espruino at FOSDFEM this year, 1-2 February in Brussels. Their table will be in building AW and they'd like you to show off your projects using MicroPython. There will also be two talks by Jon Nordby - X.

Project of the Week: Upcycling an Air Quality Sensor

Air Quality Monitor Pairs a Salvaged PM2.5 Sensor with an Adafruit KB2040

Using a PM2.5 sensor pulled from a broken "smart" air purifier, Daniel James created a simple two-component CircuitPython-powered air quality monitor using a Raspberry Pi RP2040-based Adafruit KB2040 microcontroller board - hackster.io, website, and GitHub.

New Notes from Adafruit Playground

Adventure Engine: Mapping a World in a NeoTrinkey

Adventure Engine: mapping a world in a NeoTrinkey - Adafruit Playground.

News From Around the Web

This week starts with highlighting a set of new videos on CircuitPython by Professor Gallaugher at Boston College.

Playing .wav files in CircuitPython

Bring in Da Noise! Playing .wav files in CircuitPython on a Circuit Playground Express (CircuitPython School) - YouTube.

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),.

6:44 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.

7:03 Overall

  • 42 pull requests merged
    • 18 authors - BlitzCityDIY, relic-se, eightycc, andibing, jposada202020, noelanderson, wtuemura, rjauquet, jepler, SeanTheITGuy, bwshockley, FK-sauve, SamantazFox, dhalbert, hathach, FoamyGuy, bablokb, weblate
    • 11 reviewers - gamblor21, jepler, ladyada, relic-se, makermelissa, dhalbert, hathach, tekktrik, FoamyGuy, TheKitty, tannewt
  • 14 closed issues by 6 people, 16 opened by 11 people

8:05 Core

9:27 Libraries

Library updates in the last seven days:

14:40 Blinka

Number of supported boards: 146

15:41 Hug reports

@jepler (hosting)

  • PaulCutler for pumping out episodes of The CircuitPython Show & for having the stamina to record 4 episodes this week (including an episode where Im one of the guests)!
  • @eightycc for reviving an old question that got me motivated to gather some hard data
  • Damien for helping me get a MicroPython PR into shape

16:51 @CGrover (text only)

  • @PaulCutler for the invitation to join The CircuitPython Show podcast to talk about my weather station obsession. Very therapeutic.
  • @DJDevon3 for two recent Playground Notes (NTP Clock and Sunton display). I always pick up a useful code snippet or two from Devons projects.
  • SamBlenny for the Greenhouse Temperature Logger Playground Note with an excellent example of how to incorporate ESP32-S3 sleep mode. Also with bonus analytic .csv files and spreadsheets!

17:39 @danh

  • @MarshalMiller for DAC audio output on Espressif, and more .wav file support

18:07 @DJDevon3 (text only)

  • @Danh for helping with a bitmapsaver issue on the Sunton display.
  • @Tannewt for writing init sequences and board ports for a variety of Sunton boards. It made getting the display running on Circuit Python much easier.
  • @Neradoc for a good discussion on the Sunton boards and how to possibly improve some implementations.
  • @SnakeyMakerCat for their initial commit for a Daisy Seed build.
  • @PaulCutler & @CGrover for an amazing Circuit Python Show episode.

18:56 @eightycc (text only)

  • @Danh for the helpful feedback on “ramlog” and logging in general
  • @jepler for taking a closer look at RP2 PIO clock scaling and jitter

19:11 @foamyguy

  • @makermelissa for reviewing some PRs in blinka displayio and web-ide
  • @liz for lots of help and direction on writing product guide pages and making the associated assets
  • Group hug

19:36 @Paul Cutler (text only)

  • Group hug for everyone who has listened and helped share The CircuitPython Show

19:49 @tannewt

  • Group hug to everyone who has contributed to CircuitPython via PRs and issues and helped us get to number 10,000.
  • @timonsku for all of the Zephyr tips

20:13 @todbot (text only)

  • Group hug!

20:21 Status Updates

@jepler (hosting)

  • A change of mine from last year finally landed in micropython, making the parsing of numbers slightly more compatible with CPython, including making an invalid number like `07` not be accepted in a .py file. It also saved a little bit of flash space due to re-organizing some existing code, so it was a win/win.
  • More updates to Pico-PIO-USB to improve resource allocation & allow use of the 3rd PIO block on the RP2350 and swapped D+/D- lines
  • Made another release of the Python hub75 library for Pi5 computers that improves framerate slightly, removes a workaround, and adds a /dev/fb0 (framebuffer) mirroring example program
  • Made another release of the Python neopixel library for Pi5 computers that makes it work better with multiple strips on different pins

22:58 @danh

  • Debugging NINA-FW update. Something is failing in SSL socket setup.
  • Debugging CPy with ESP-IDF 5.3.2 on ESP32-C3. If BLE is enabled, board boot-loops. 5.3.1 is fine with BLE turned on.
  • Fixed RP2 DMA issue. Code code be cleaned up more, but fine for now.
  • 9.2.4 release soon due to fixes of significant bugs.

@DJDevon3 (text only)

  • Started playing with the Sunton ESP32-S3 8048S070 “yellow display”. Getting a 7” 800x480 display working with Circuit Python and displayio is pretty awesome. From a GUI design perspective, having 4x the screen real estate is drool worthy. Wrote a playground note for it. There is something not quite right with the colors being displayed. Green shows up as a lime green and orange looks yellow. Attempting to take a screenshot resulted in an image with obvious RGB565 color swapping issues, perhaps because theres no palette involved with a dotclock display. Needs investigation.

@eightycc (text only)

  • Testing a “ramlog” module that writes messages to a circular buffer in RAM. Useful for debugging where logging messages to a file or I/O device interferes with timing. Includes a Python binding that facilitates message unloading and a custom handler for logging from adafruit_logging.
  • Using “ramlog” Ive been looking into a couple of RP2 port issues involving the CYW43. With a large (1MB) log buffer in PSRAM Im able to capture detailed network traffic while not interfering with timing. Logging a message typically takes <30 microseconds on an RP2350.
  • Fixed an interesting issue with RP2 port MP3 streaming over WiFi that manifested itself as an interrupt loop.

26:17 @foamyguy

  • Working on Sparkle Motion learn guide
  • Fix for code.circuitpython.org Web-Ide for USB REPL based workflow
  • Handling guide feedback
    • Prepared GameControls library for release in the community bundle so that it can be used by old TileMap game guide which doesnt work under current versions of circuitpython.

26:49 @tannewt

  • Continuing work on Zephyr on CircuitPython.
    • Did more work for RA8 and RA6 dev kits. We use a custom branch now that merges in pending support for them.
    • Working on WiFi support on nRF7002. Took all deep dive to realize I wasnt waiting long enough for results. 🤦Im excited to get back into it. This is the first board with 5GHz band support that I know. ESP32-C5 has it as well. (But I dont have one.)
    • Thach merged in Zephyr support to TinyUSB so Ill need to switch to it.
    • Once I have networking going I may continue onto Ethernet and LTE or switch to getting the build system integrated into CI so I can PR what I have.

In The Weeds

29:26 @foamyguy - updating code.circuitpython.org with the changes from beta branch?

31:31 @Snakey Maker Cat (text only)
Clarification: status of the CircuitPython stm32 ports

I have been working on the Daisy Seed port, and it's been challenging, but moving ahead -- the first PR is opened: https://github.com/adafruit/circuitpython/pull/9974
I am in the process of adding uf2 bootloader and SDRAM support as well, and was planning to ask for help with the audio (and other) modules that don't seem to exist on the stm32 chips.

With the new Zephyr integration, is this work becoming obsolete? Can any of it be used with Zephyr?
And is there a time estimate until Zephyr "takes over" ?

Wrap-Up