# CircuitPython Weekly Meeting for June 5, 2023

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


Join here for the chat all week: http://adafru.it/discord.


The CircuitPython Weekly happens normally at 2pm 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](https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical) for use with standard calendar applications and can also be viewed [in your browser](https://open-web-calendar.hosted.quelltext.eu/calendar.html?url=https%3A%2F%2Fraw.githubusercontent.com%2Fadafruit%2Fadafruit-circuitpython-weekly-meeting%2Fmain%2Fmeeting.ical&title=CircuitPython%20Meeting%20Schedule&tab=agenda&tabs=month&tabs=agenda).


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 one 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.
## 2:46 Community News
### 3:09 A New Release to the Thonny Editor Provides New Features


A new version of the Thonny Python editor has been released with bug fixes and new features. The default installation uses Python 3.10 and looks to run in 64 bit mode. ESP flashing dialog now allows selecting from list of know MicroPython and CircuitPython variants, and downloads them for you - [GitHub](https://github.com/thonny/thonny/releases/tag/v4.1.0) via [Twitter](https://twitter.com/thonnyide/status/1665219568002818049).


### 3:43 PyCon US '23 and PyCascades '23 Videos Are Now Out


[![PyCon US '23 Videos](../assets/20230606/pycon2023.jpg)](https://www.youtube.com/c/pyconus)


The PyCon US 2023 talk recordings are now available on the PyCon US YouTube channel - [YouTube](https://www.youtube.com/c/pyconus).


[![PyCascades '23 Videos](../assets/20230606/pycascades2023.jpg)](https://www.youtube.com/watch?v=1OVyuw5_PDk&list=PLcNrB7gPa-NedACvFYa9iVUIhnku_EBSz)


The PyCascades 2023 talk recordings are now available on the PyCascades YouTube channel - [YouTube](https://www.youtube.com/watch?v=1OVyuw5_PDk&list=PLcNrB7gPa-NedACvFYa9iVUIhnku_EBSz).


### 4:26 A New MicroPython YouTube Channel


MicroPython now has an official YouTube channel for their videos - [YouTube](https://www.youtube.com/@MicroPythonOfficial).


### 4:52 Software Driving Hardware


Hackaday was talking about Christopher Barnatt’s very insightful analysis of [what the future holds for the Raspberry Pi single board computers](https://hackaday.com/2023/05/31/what-next-for-the-sbc-that-has-everything/) on their [Podcast](https://hackaday.com/2023/06/02/hackaday-podcast-221-the-future-of-the-raspberry-pi-sniffing-a-toothbrush-your-tactical-tool-threshold/). On the one hand, they’re becoming such competent computers that they are beginning to compete with lightweight desktop machines, instead of just being a hacker curiosity.


On the other hand, especially given the shortage and the increase in price that has come with the Pi’s expanding memory endowments, a lot of people who would “just throw in a Raspberry Pi” are starting to think more carefully about their options. 


These days, there is no shortage of microcontrollers that have enough memory – both flash and RAM – to support a higher-level environment like MicroPython. And if you think about it, MicroPython brings to the microcontrollers a lot of what people were using a Raspberry Pi for in projects anyway: a friendly interactive programming environment that was free of the compile-here, flash-there debug cycle. If you’re happy coding Python on a single-board Linux computer, you’ll be more or less happy coding in MicroPython or CircuitPython on a microcontroller - [Hackaday](https://hackaday.com/2023/06/03/software-driving-hardware/).
### 6:02 Newsletter Details
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. 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](https://github.com/adafruit/circuitpython-weekly-newsletter/tree/gh-pages/_drafts) and [submit a pull request](https://help.github.com/articles/editing-files-in-your-repository/) with the changes. You may also tag a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.
## 7:03 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:27 Overall
* 17 pull requests merged
  * 10 authors - tekktrik, graeme-winter, tomiahola, somenice, jposada202020, julianaklulo, hyx0329, rrahkola, FoamyGuy, Atalanttore
  * 6 reviewers - kattni, FoamyGuy, tekktrik, tannewt, caternuson, dhalbert
* 20 closed issues by 13 people, 15 opened by 15 people


### 8:16 Core
* 4 pull requests merged
  * 4 authors - tomiahola, Atalanttore, graeme-winter, hyx0329
  * 2 reviewers - dhalbert, tannewt
* 23 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 335 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 261 days)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 216 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 199 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 185 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 145 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7591 (Open 109 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 105 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 93 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 86 days)
  * https://github.com/adafruit/circuitpython/pull/7718 (Open 84 days)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 67 days)
  * https://github.com/adafruit/circuitpython/pull/7886 (Open 44 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7984 (Open 20 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 17 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 17 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 10 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8037 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/8035 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/8042 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/8048 (Open 6 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8050 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/8056 (Open 3 days) (draft)
* 5 closed issues by 4 people, 8 opened by 8 people
* 654 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
 * 8.2.0: 1 open issues
 * 8.x.x: 37 open issues
 * 9.0.0: 30 open issues
 * Libraries: 20 open issues
 * Long term: 553 open issues
 * Support: 9 open issues
 * Third-party: 7 open issues
 * 2 issues not assigned a milestone


### 9:51 Libraries (Jeff is reading)
* 13 pull requests merged
  * 6 authors - rrahkola, tekktrik, FoamyGuy, jposada202020, somenice, julianaklulo
  * 5 reviewers - kattni, FoamyGuy, tekktrik, tannewt, caternuson
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_BNO08x/pull/42 (Days open: 34)
    * https://github.com/adafruit/Adafruit_CircuitPython_Dash_Display/pull/9 (Days open: 34)
    * https://github.com/adafruit/Adafruit_CircuitPython_BMP280/pull/39 (Days open: 15)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/132 (Days open: 10)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/117 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer/pull/57 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Prompt_Toolkit/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_CursorControl/pull/36 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone/pull/20 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT/pull/59 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_WSGI/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Notification/pull/13 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/173 (Days open: 1)
  * 60 open pull requests (Oldest: 979, Newest: 1)
* 12 closed issues by 7 people, 7 opened by 7 people
  * 612 open issues
  * 50 good first issues
* https://circuitpython.org/contributing


#### 12:18 Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 111186 PyPI downloads over 310 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 7692
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 7429
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2121
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1521
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1019
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 879
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 866
  * Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 865
  * Adafruit CircuitPython BLE (adafruit-circuitpython-ble): 779
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 753


#### 12:38 Library updates in the last seven days:
* **New Libraries**
  * [jposada202020/CircuitPython_DISPLAY_HT16K33](https://github.com/jposada202020/CircuitPython_DISPLAY_HT16K33)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_HTTPServer](https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer)
  * [adafruit/Adafruit_CircuitPython_PCF8591](https://github.com/adafruit/Adafruit_CircuitPython_PCF8591)
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
  * [furbrain/CircuitPython_mag_cal](https://github.com/furbrain/CircuitPython_mag_cal)


### 13:10 Blinka (Scott reads)
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 845 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 605 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/299 (Open 8 days)
* 3 closed issues by 3 people, 0 opened by 0 people
* 94 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 11097
* Piwheels Downloads in the last month: 7076
Number of supported boards: 119
## 14:22 Hug reports
14:48 @tannewt (host)
* @hathach for continued tinyusb and tinyuf2 support.
* 

15:06 @danh
* @gneverov for a very helpful and productive discussion on his asyncio changes.


15:32 @DJDevon3 (text only)
* @ventrue for helping to turn a hard cut RGB cycle into a nice rainbow fade using PWM. 


15:48 @foamyguy
* Scott for sharing insight into core displayio
* JoseDavid for creating the virtual HT16K33 “emulator” and sharing in the community bundle
* MakerMelissa for suggestions on the non-blocking marquee for HT16K33


16:30 @jepler
* Makermelissa for testing the matrixportal s3 board definition and figuring out we needed to update protomatter
* Philb for advancing protomatter to work better on s2/s3 with the lcd peripheral
* JP, Mark (Gamblor) & Liz for showing off synthio on S&T last week; todbot for making videos about it.


17:24 @kattni (missing meeting)
* @blitzcitydiy for generating a Fritzing object for me for an upcoming guide
* @danh for a ton of help understanding the wiring behind a breakout board


17:42 @makermelissa (missing meeting)
* @danh for help with getting my CircuitPython environment functioning
* @jepler for making a board definition for the new MatrixPortal
* Group hug


## 17:59 Status Updates
18:18 @tannewt (host)
* Added 1-Wire and UART support to the Pyrate code.
* Poked at the STM32G0 for a bit of a pyrate break.
* SAMD51 is still pretty unreliable with MCU flasher unfortunately.
* This week will be taking another, deeper look at USB host in CP.
* Made a grid of 0.1” with 0.2” spacing for mounting Adafruit boards to including my imagined synth modules. Feathers are an odd number of 0.1” apart so it’s not clear to me what the best spacing pattern is.


20:25 @danh
* Discussed asyncio changes with @gneverov.
* Making port-specific fetching of submodules to save time if you are not building all ports. This has been extremely painful due to the limitations of GNU Make and shell scripts.
* Will start on MicroPython v1.19.1 merge this week.


24:30 @DJDevon3 (text only)
* Making progress on my rechargeable BLE RGB candle. Added a rainbow fade effect. Battery life with a 500mah battery is over 3 days, with a 2000mah battery it’s over a week before requiring a recharge. Hacking up the base of an electronic candle with snips is fun and somewhat necessary for beginners. Replicating a 3D printable version to allow for better component placement is the ideal solution.


25:07 @foamyguy
* Refactored the non-blocking marquee addition for HT16K33 to re-use code better and  eliminate repetition
* Moving forward some typing PRs that had stalled from when they were submitted. Completed a few, and continuing with more this week
* Polished up my RGB LED Server library and added the remaining functionality that I had planned. Nearly ready to make the initial release and add it to the community bundle.
* Soldering over the weekend. Some Quad Feather Proto boards and several featherwings that I hadn’t used yet.
* Get back into core displayio hidden elements issue


26:55 @jepler
* Last week:
   * “Biquad” filtering in synthio – just moved out of draft status
   * There are several other simple kinds of filters that can be created with the same biquad mathematics and would be useful: notch, peak, low & high shelf
      * There’s also the “allpass” filter but it does not appear to be useful
      * This would be a possible area for someone else to contribute, it’s mostly math & a tiny bit of type juggling
* This week:
   * Updating protomatter & finishing matrixportal s3 board definition
* Non-CP stuff:
   * Working on RunCPM guide for Adafruit Learn System. Still have occasional crashes from the project, I think it’s due to the overclocking for digial video
      * After seeing the rp2040 bitbang usb host work in arduino I am really excited about the possibilities once this is available in CircuitPython…
   * And in personal Z-80 / retrocomputing news I built an EEPROM programmer (for 2816 EEPROMs) out of a Raspberry Pi Pico & used it to run a modified firmware on my Xerox 820 Z-80 machine
      * It’s a bunch of wires & 1 pull-up resistor. EEPROMs are quite easy to work with, compared to the prior generation of EPROMs which required high voltages to program & required use of a UV light to erase!
      * Parallel EEPROMs like 2816 are now fairly hard to find, they’re fully obsolete. So I stocked up and bought 10.


30:28 @kattni (missing meeting)
* Last week:
   * Put Feather RP2040 DVI guide into moderation
   * Started the CHOC NeoKey breakout guide
   * Realised there is no MX NeoKey breakout guide (when I looked for it for cribbing purposes)
   * Started updating CHOC guide to be a CHOC/MX NeoKey breakout guide
* This week:
   * Finished up the fixes from Liz’s review of the DVI Feather guide
   * Finish updating the existing content of the NeoKey breakout guide to refer to both types
   * Continue on the CHOC/MX NeoKey Breakout guide
   * Next up:
      * STEMMA Gamepad guide
      * TRRS Jack Breakout guide
      * All the Other Things


31:14 @makermelissa (missing meeting)
* Last Week:
   * Fixed a couple of issues with the CircuitPython Code Editor
   * Tested out new Matrix Portal board Definition the Jeff created
* This Week:
   * Will test out Protomatter updates Jeff is making to the core
   * Combing through MatrixPortal and PortalBase libraries to make it more flexible
   * Need to test a PR for the Code Editor on mobile that will revert a revert I made for the split screen feature

## 31:50 In The Weeds
32:15 @2231puppy
* Could a Docker or Podman container for building CircuitPython be of use? Right now, it takes a lot of manual configuration and setup to compile and I’m wondering if that could be simplified. 
* @jepler: I am unfamiliar with docker technology so I’m curious to see typical command lines that would work if this idea is implemented. Also wondering how much ongoing work would be required to maintain the docker images. Also, could these images be re-used during the github actions build? There’s much duplication of info about “how to build” both as code and as prose.


40:53 @jepler
* During the “9” cycle, how do we handle changing mpy magic numbers?
   * Don’t make any formal releases until the mpy format has stabilized again (1.20 merge)
   * But good to tag so that the CP version number will be reflective of the alpha status
   * Maybe it would be helpful to list the mpy version required in the standard banner or boot_out.txt
## 45:44 Wrap-Up
