adafruit-circuitpython-week.../2024/2024-04-15.md
2024-04-15 16:05:11 -04:00

15 KiB
Raw Permalink Blame History

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.

02:45 Community News

New Versions of Python Have Been Released Several new versions of Python have been released by developers, including versions for Python 3.11, 3.12 and an alpha release of Python 3.13:

02:59 Project of the Week: A Robotic Arm With A Camera

Kevin McAleer made a cute robot arm with a camera on the end. It uses inverse kinematics to keep the camera pointing forward. Adafruit CircuitPython for Linux is used running on a Raspberry Pi 5 - Mastodon and Twitter.

03:17 New Notes from Adafruit Playground

IKEA Förnufig Air Purifier V2 - Custom fan speed controller + Blinkenlights - Adafruit Playground.

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

04: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.

04:26 Overall

  • 19 pull requests merged
    • 8 authors - bill88t, RetiredWizard, brentru, joshua-beck-0908, dhalbert, tannewt, brushmate, DJDevon3
    • 5 reviewers - dhalbert, brentru, jepler, FoamyGuy, tannewt
  • 16 closed issues by 8 people, 21 opened by 19 people

04:56 Core

07:23 Libraries

Library PyPI Weekly Download Stats

  • Total Library Stats
    • 217477 PyPI downloads over 325 libraries
  • Top 10 Libraries by PyPI Downloads
    • Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 10107
    • Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 9693
    • Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 7677
    • Adafruit CircuitPython Register (adafruit-circuitpython-register): 2954
    • Adafruit CircuitPython framebuf (adafruit-circuitpython-framebuf): 2085
    • Adafruit CircuitPython RGB Display (adafruit-circuitpython-rgb-display): 2020
    • Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1974
    • Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1894
    • Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1808
    • Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1696

Library updates in the last seven days:

11:22 Blinka

12:12 Hug reports

12:29 @Liz (hosting)

  • @tannewt for adding USB host featherwing support to CP. Looking forward to trying it.
  • @danh for enabling bitmapfilter on the matrixportal s3
  • Group hug

12:53 @danh (out)

  • @raquo for finding a flash-write problem when heap is low, and providing a test program that always exercised the bug.

13:07 DJDevon3

  • @Deshipu and @DanH for their help in a project for getting imageload working with multiple file types. Now that there are examples I can turn them into snippets to copy/paste my way through future projects.
  • @Todbot for updating his amazing DVD logo / flying toasters Screensaver to include external TFT displays.
  • @Anecdata, @Todbot, and @Elpekenin for general python syntax advice.
  • @Anecdata and @Justin for advice in an adafruit_requests PR.
  • @FoamyGuy for reviewing more PRs this week and another great Saturday morning stream adding more features to Circup. And for restructuring the bundle examples folder, its much more useful now.

14:15 @foamyguy

  • @danh for going through library settings pages and fixing webhook configuration for docs
  • DJDevon3 for many new requests examples and improvements to existing ones

14:53 @jepler

  • Group hug
  • @KeithTheEE for thinking of me while visiting Lincoln. We had a nice coffee and conversation.
  • @anne for the newsletter
  • @ladyada for keeping me well stocked in projects & issues to work on

15:29 @makermelissa

  • Group Hug

15:40 @michalpokusa (not present)

  • @FoamyGuy for PR reviews and merges for adafruit_httpserver and adafruit_templateengine

15:49 @tannewt (out)

  • @dcd for time codes for deep dive
  • @foamyguy for filling in on deep dive this week and constantly improving circup.
  • @sam blenny for joining our community
  • Liz for hosting and reading my updates.

16:09 Status Updates

16:32 @Liz (hosting)

  • Recently Ive been working on a few Arduino projects. One is a Pico DVI Adafruit IO feed viewer, which will be published this week on Learn. The second is a USB Host to BLE project, which will be coming out in a week or two. The code is already on GitHub if folks are curious.
  • I wrote a quick CircuitPython driver for the ADG728 and ADG729 analog matrix switches. Im currently documenting these in guides.
  • There are a few new products that dropped in the shop that Ill be working on documenting the rest of the week. Im taking a short break (Friday-Wednesday) to recharge and enjoy the spring weather.

17:22 @danh (out)

  • Fixed problem with writes to external flash when running out of heap.
  • Use a finalizer for AudioOut to fix using up timers. Made of task list of other native classes that need finalizers.
  • Fixed nRF AnalogIn problems: one is a regression.
  • Will do a 9.0.4 release Tuesday or so, and maybe a 9.1.0-beta.1 release.
  • Updated about 44 guides that were still using secrets.py to use settings.toml. Will do a site search later and try to finish this off.

18:05 DJDevon3

  • Worked on a project that shows the latest Circuit Python closed PRs on a TFT display from Githubs REST API. I will eventually split it out into a serial only API example to add to adafruit_requests examples. Went on Show & Tell with the project.
  • Started on a couple of basic request/response examples that havent been covered yet like status codes and different header types.This was an avenue I was forced to explore during the course of the Github PR API display project and found out there weren't any examples for it. I plan on making more examples that cover the basics of requests that are not currently covered. There are a lot of gaps like this that need beginner friendly examples.
  • Wrote a Playground Note on using a TFT Touchscreen & SD Card with a Raspberry Pi Pico.
  • Finally submitted a typing PR for the IS31FL3731 after 28 failed attempts at making Pylint happy.

20:20 @foamyguy

  • Testing Requests PRs
  • Try to reproduce issue with BME680 and figure out which versions if any are problematic
  • Circup development:
    • Submitted PR to add --upgrade argument to force an install to overwrite the existing installed version.
    • Worked on new command circup example [repo/examplename] for loading library examples onto the connected device. The command and tab completion are functional, but the code still needs to be cleaned up and handle a few possible cases like file already existing on device and maybe allowing to rename to code.py. This command uses new functionality in circuitpython-build-tools that I added last week which separates out the examples in the bundles.

22:40 @jepler

  • Last week was working on Protomatter, but the work benefitted Arduino only (support for the upcoming esp32 bsp version 3)
  • This week:
    • Getting back to the ssl support for wiznet
    • Documenting a project I did (in arduino) for a USB keyboard to old computer adapter, the opposite of what I usually do
    • Starting to look at mp3 support on esp32-s3 again, will try using an alternate mp3 implementation in the hopes its better tuned for espressif/xtensa.

24:25 @makermelissa

  • Tested Voice Bonnet on latest Bookworm on Pi 4 and 5 Lite and Desktop
  • Going through guide feedback and making guiding updates as necessary
  • Almost finished updating ChatGPT Bear guide to work with Bookworm
  • Will also be testing out Mini PiTFT on the Pi Zero W later today

25:10 @tannewt (out)

  • Merged in USB host support.
  • Working on build script for picolibc and building CP using clang via makefiles. Goal is to add a CI task to keep it working.
  • Mostly offline this week at Zephyr Dev Summit/Embedded Open Source Summit. Out Friday for a family weekend.
  • Missing meeting next week for appointment.

25:40 In The Weeds

DJDevon3

  • Attempted to get true color PNG support and failed. Need 16-bit PNG support as 8bit indexed PNG doesnt work for pulling PNGs from online APIs. If anyone has advice on how to implement true color 24-bit or 16-bit PNG support for Circuit Python it would be appreciated.

27:38 Wrap-Up