# CircuitPython Weekly Meeting for March 20, 2023


Video is available [on YouTube](https://www.youtube.com/watch?v=vKiJ--TLoMk).


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.
## Community News
MicroPython Support for the Raspberry Pi Pico W Has Started
 MicroPython Support for the Raspberry Pi Pico W 

Phil Howard at Pimoroni is working to complete a GitHub Pull Request for Raspberry Pi Pico W Bluetooth support to MicroPython. It’s labeled as experimental at the moment.
Phil notes ‘Bluetooth works, you’ll want Adafruit’s “Bluefruit Connect” and the MicroPython “ble_simple_peripheral.py” and “ble_advertising.py” from here’ if you experimentally want to kick the tires - Twitter and GitHub, although apparently they’re waiting for a stability fix from Infineon - Twitter.
And here is an article that discusses the situation - skanta-blog.de (German).
CircuitPython 8.0.4 Released
 CircuitPython 8.0.4 Released 

CircuitPython 8.0.4 is the latest bugfix revision of CircuitPython and is a new stable release. - Adafruit Blog and GitHub Release Notes.
MicroPython Switches to a New Package Manager: mip
 mip 

mip has been chosen as the new MicroPython Package Manager. mip (“mip installs packages”) is similar in concept to Python’s pip tool, however it does not use the PyPI index, rather it uses micropython-lib as its index by default. mip will automatically fetch compiled .mpy file when downloading from micropython-lib - Documentation.
CircuitPythonista Charlyn Gonda Interviewed on Embedded.fm
 CircuitPythonista Charlyn Gonda Interviewed 

 CircuitPythonista Charlyn Gonda Interviewed 

Embedded.fm spoke with CircuitPythonista Charlyn Gonda about making things glow, dealing with imposter syndrome, and using origami. Charlyn’s website is charlyn.codes, the projects talked about are documented there. You can find her on Instagram (@chardane) and Mastodon. Adafruit came up a lot in this episode - embedded.fm.
### 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.
## 6:16 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:47 Overall


* 27 pull requests merged
  * 19 authors - FoamyGuy, dhalbert, brentyi, CedarGroveStudios, PaintYourDragon, kreier, kreasteve, steamfoundry, Neradoc, kdb424, microdev1, tcfranks, jepler, MathijsNL, ckartchner, tekktrik, bwshockley, furbrain, jposada202020
  * 8 reviewers - microdev1, FoamyGuy, jepler, tannewt, dhalbert, makermelissa, tekktrik, jposada202020
* 26 closed issues by 14 people, 17 opened by 16 people


### 8:09  Core
* 13 pull requests merged
  * 10 authors - Neradoc, kdb424, microdev1, jepler, dhalbert, ckartchner, PaintYourDragon, kreier, kreasteve, bwshockley
  * 5 reviewers - microdev1, FoamyGuy, jepler, tannewt, dhalbert
* 35 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 397 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 258 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 184 days)
  * https://github.com/adafruit/circuitpython/pull/7114 (Open 146 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7141 (Open 143 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7151 (Open 141 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 139 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7221 (Open 122 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 122 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7282 (Open 109 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 108 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7343 (Open 95 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7430 (Open 71 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 68 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7548 (Open 43 days)
  * https://github.com/adafruit/circuitpython/pull/7551 (Open 42 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7554 (Open 40 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7573 (Open 35 days)
  * https://github.com/adafruit/circuitpython/pull/7592 (Open 32 days)
  * https://github.com/adafruit/circuitpython/pull/7591 (Open 32 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 28 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 16 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7678 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/7690 (Open 13 days)
  * https://github.com/adafruit/circuitpython/pull/7712 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/7718 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/7724 (Open 5 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7746 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/7745 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/7744 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/7751 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/7750 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/7748 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/7755 (Open 0 days)
* 17 closed issues by 8 people, 13 opened by 12 people
* 639 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
 * 8.0.x: 0 open issues
 * 8.1.0: 11 open issues
 * 8.x.x: 73 open issues
 * 9.0.0: 25 open issues
 * Libraries: 20 open issues
 * Long term: 498 open issues
 * Support: 7 open issues
 * Third-party: 4 open issues
  * 7 issues not assigned a milestone


### 9:50 Libraries
* 12 pull requests merged
  * 8 authors - Neradoc, tcfranks, FoamyGuy, tekktrik, brentyi, CedarGroveStudios, furbrain, jposada202020
  * 4 reviewers - FoamyGuy, tekktrik, dhalbert, jposada202020
  * Merged pull requests:
        * https://github.com/adafruit/Adafruit_CircuitPython_PN532/pull/64 (Days open: 16)
        * https://github.com/adafruit/Adafruit_CircuitPython_MPL3115A2/pull/27 (Days open: 7)
        * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/184 (Days open: 3)
        * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/187 (Days open: 2)
        * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/183 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/188 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_RGBLED/pull/22 (Days open: 1)
        * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/145 (Days open: 1)
        * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/146 (Days open: 1)
        * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/143 (Days open: 1)
        * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/142 (Days open: 1)
        * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/219 (Days open: 1)
  * 42 open pull requests (Oldest: 902, Newest: 1)
* 7 closed issues by 5 people, 4 opened by 4 people
  * 602 open issues
  * 74 good first issues
* https://circuitpython.org/contributing


#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 167769 PyPI downloads over 309 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 9289
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 8751
  * Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 2173
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2068
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1686
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1603
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1521
  * Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 1412
  * Adafruit CircuitPython BLE (adafruit-circuitpython-ble): 1364
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1287


#### Library updates in the last seven days:
* **New Libraries**
  * [adafruit/Adafruit_CircuitPython_GFX](https://github.com/adafruit/Adafruit_CircuitPython_GFX)
  * [jposada202020/CircuitPython_gauge](https://github.com/jposada202020/CircuitPython_gauge)
  * [CedarGroveStudios/CircuitPython_AD5293](https://github.com/CedarGroveStudios/CircuitPython_AD5293)
  * [bablokb/circuitpython-pcf85063a](https://github.com/bablokb/circuitpython-pcf85063a)
  * [furbrain/CircuitPython_distox](https://github.com/furbrain/CircuitPython_distox)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Display_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Text)
  * [adafruit/Adafruit_CircuitPython_TM](https://github.com/adafruit/Adafruit_CircuitPython_TM)
  * [adafruit/Adafruit_CircuitPython_RGBLED](https://github.com/adafruit/Adafruit_CircuitPython_RGBLED)
  * [adafruit/Adafruit_CircuitPython_PN532](https://github.com/adafruit/Adafruit_CircuitPython_PN532)
  * [jposada202020/CircuitPython_uplot](https://github.com/jposada202020/CircuitPython_uplot)
  * [CedarGroveStudios/CircuitPython_AD9833](https://github.com/CedarGroveStudios/CircuitPython_AD9833)


### 12:37 Blinka
* 2 pull requests merged
  * 2 authors - MathijsNL, steamfoundry
  * 1 reviewers - makermelissa
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 768 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 528 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/267 (Open 110 days)
  * https://github.com/adafruit/Adafruit_Python_PureIO/pull/33 (Open 39 days) (draft)
* 2 closed issues by 1 people, 0 opened by 0 people
* 94 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 16449
* Piwheels Downloads in the last month: 10489
Number of supported boards: 101
## 13:26 Hug reports
@jepler (hosting)
* @foamyguy it was nice to see you in person and thanks for picking up the tab
* @danh thank you for taking over that pr to enable creating fat32 filesystems again
* @kattni welcome back, the community missed you & I missed you


14:38 @CGrover (text only)
* @BlitzCityDIY (Liz) for the beautifully plucky and sweet-sounding MIDI lyre robot.
* @JoseDavid for the quick turnaround of a Community Bundle submission.
* To the 27+ contributors to CircuitPython_BusDevice library. Was having some interference and performance issues using two SPI devices from the same manufacturer. BusDevice was able to sort it out and accommodate the disparate clock and timing constraints. This is an utterly amazing tool that just works.


15:17 @danh
* @jepler for knowing why formatting larger SD cards did not work on certain builds
* @tannewt for pursuing performance


15:46 @david.glaude (not present)
* @DJDevon3 for the first and only international shipping of a TR-Cowbell
* @Neradoc for adding board.DISPLAY support for LOLIN S2 Pico
* @TitiMoby for adding LILIGO T-embed support (and @MakerMelissa for updating circuitpython.org)


16:17 @DJDevon3
* Tekktric for volunteering to review my steam API example PR to the adafruit_requests library.
* Hug to all the community members that turned out for last week’s Show & Tell. A special hug to SteveX for his first Show & Tell! He showed a really nice solderless multi-solenoid & relay project.
* Skerr for the advice on a PCB design project. 


16:44 @foamyguy
* @jepler, great to hang out and catch up over a meal
* @isacben, @neradoc, @anecdata and scott who all helped me in various different ways to get the diskinfo web workflow API working
* @Jose David for responding to issues on github and submitting several improvements across library repos recently


@Jose David(Text only)
* @Neradoc, for being helpful. And test the simple_dial library in the lilygo watch to make a clock. I only wear watch while exercising but, I have ordered a lilygo watch to use it with circuitpython, thanks to @neradoc for adding the support for it
* @CGrover for including the AD5293 Digital Potentiometer driver in the community Bundle
* @Furbrain also for including two new community libraries Async button and distox library
* @DJDEVON3 for helping me with hardware ideas and being an excellent sounding board for new projects.
* @Tekktrik for solving an old issue in the community library zip packaging system. Zip files in the release artifacts were only including the examples files when the library was a package. And @casaihno for reporting it.
* @FoamyGuy for testing and find the problem with the <3 blinka example in bitmap_font


18:41 @kattni
* @CGrover for submitting the 100th library to the Community Bundle!!
* @KeithTheEE for a wonderful CircuitPython LED Hat workshop and build-along on the Python Discord
* Group hug to the whole community for keeping everything running smoothly while I was out for three weeks. This is the first time I completely disconnected from work for a vacation, and knowing that this community is amazing was a part of why I was willing to do it.


19:23 @makermelissa
* @danh for helping out with circuitpython.org
* @david.glaude for contributing to circuitpython.org
* @MathijsNL for fixing the Rock4 and Orange Pi 4 boards in Blinka
* @kattni welcome back
* Everybody who has tried the new installer and provided feedback
* Group Hug


20:09 @Mark[gamblor] (missing)
* @tannewt for some quick answers about how he was doing performance testing to give me a path to follow, as well as some PR review suggestions


20:15 @Paul Cutler (missing)
* Deshipu and Neradoc for helping me with code for my Reverse TFT remote control project this past weekend


20:31 @tannewt
* @foamyguy for disk info API PR.
* @WerWolv from ImHex for help with hex file bookmarks. Cool way to annotate a hex dump.
* @flaviut on GitHub for the pysigrok PRs
* @gordon from raspberry pi for automating their USB PID listing so it gets updated more quickly
## 22:22 Status Updates


22:55 @jepler
* Working on I2SOut on iMX still. Finally today got bit clock and l/r clock pins outputting data, but no actual audio data yet. Hopefully once audio data comes out it’ll be close to done.
* There’s also a “medium quality audio” peripheral that would let us implement PWM audio out on the imx as well; the code would be mostly shared.


24:08 @kattni (need to leave early)
* Last week:
   * Back from being out.
   * Thursday/Friday was Mission: Misc.
* This week:
   * Feather RP2040 DVI output guide
   * Get started on Feather RP2040 RFM board definition and PrettyPins.
   * Begin documenting growlight and timelapse projects between Feather things.
* Other:
   * Paused time lapse - I think that particular plant is slowly dying; if it was going to bloom, it would have already. This means I can set it up in a better location and better way when I choose another plant to photograph. And also use a RPi that’s more available (currently using Pi Zero 2 W). And pick another less-dying plant to timelapse.
   * Built growlight setup for my air plants right before leaving 4 weeks ago. I researched it and apparently DotStars are the right frequencies for plant growth. The plants are thriving, so evidently it’s working. (They require a lot of light to be happy.) Incidentally, I had the brightness at 20% from testing, so I bumped it up to 70% yesterday, and apparently overdid it. Came in this morning to dim LEDs, a powered off microcontroller, and electrical burning smell. Board was fine, dropped brightness to 50%, and plugged everything back in - same results. Swapped out the power supply, and everything is happy again. In the trash it went!
      * There will be a guide for this project, but I will be using WAY less LEDs. I already knew this was overkill, but it’s apparently SERIOUS overkill. For the linear space I’m lighting, I apparently need 60 LEDs - There are 384 on the current build. I used the highest density DotStar strips when medium density or even low density would likely work.


26:54 @CGrover (text only)
* The final evolution of the string length calculator algorithm for the StringCar FeatherWing project was completed and successfully tested on the bench. This is a “sensorless” version that uses the initial string-end collision of the first lap to learn string length and predict the return trip regardless of DC motor speed and battery decay. Looks like the weather may permit an in-field test between trees along the river very soon.
* After reaching a few false summits, the AD5293 digital potentiometer driver was completed and submitted to the community bundle. This is a 10-bit linear potentiometer that accommodates true AC signals by using the dual power supplies needed by op-amps. It’s the final piece of the technical puzzle for the Precision VCO module project. OSHPark produced the extra-perfect custom breakout PCB.
* Next: The Precision VCO Eurorack Module <insert appropriate musical fanfare>.


28:28 @danh
* Released CircuitPython 8.0.4 on Tuesday night. Don’t have any more urgent fixes for 8.0.x.
* Fixed some build and release problems.
* Fixed HID library issue re keyboard LED status. Provoked me to look at other older HID issues. Examples could test supervisor.usb_connected but do not currently do that.
* Lots of reviewing.
* Lots of following up on other newly reported bugs, some of which are real and some of which aren’t.


30:13 @david.glaude (not present)
* Testing board.DISPLAY support for LOLIN S2 Pico by @Neradoc (closing the issue, updating circuitpython.org)
* Quick testing of LILIGO T-embed by @TitiMoby


30:44 @DJDevon3 (missing meeting)
* Submitted a PR for a 3D design of the Adafruit 7 inch TFT touchscreen to the Adafruit CAD Parts repo. Should make it easier for anyone wanting to 3D print an enclosure using the bare 7” display. The 5” display is still missing from CAD Parts however anyone can now scale down the 7” to 5” since they’re almost identical except for display size.
* My LORA mail boombox is now a 2x 40W system for 100 watts peak.  For a 4” speaker system that’s pretty impressive. Switched to a 100W Pyle amplifier with built-in bluetooth classic. It’ll help cut down on the spaghetti monster inside the mailbox.
* Designed a mountable 50 neopixel strip on a PCB I’m calling Bleeding Rainbow. Adafruit’s neopixel stick would have worked nicely but I wanted to learn how to design neopixel strip myself for the next version of the TR-Cowbell. 


31:46 @foamyguy
* Fighting against my PC a bit on some potential hardware issues that result in weird issues making builds of circuitpython. I’ve swapped RAM for now and updated many things. I’ve still seen some weirdness afterward, but thus far at least not freezing up everything 🤞
* Testing to measure the time difference with boundary_fill() method with and without the background tasks and interrupt handling
* PR for ScrollingLabel to override properties of “standard” Labels so that the API matches more closely
* Implemented /cp/diskinfo.json endpoint for the web workflow to lookup total and free space on the drive, learned loads about FatFs and core code in the process.
* Testing and PR reviews this week, get the ethernet testing rig set back up.


33:45 @Jose David(Text only)
* PR Reviews
* Worked in an EMC2101 issue.


33:59 @makermelissa
* Last Week:
   * Finished up changes to the CircuitPython Installer so it can be used in other places
   * Made a small followup PR that fixes some bugs with the installer and updates a board
   * Worked more on a secret ChatGPT project, which I’m hoping to share on S&T this week
   * Updated the WebSerial ESPTool code to remove some deprecated stuff
* This Week:
   * Working on designing a 3D printable part for the secret project
   * Finish up the project
   * Likely start writing a guide for the project
   * Work on fixing some GitHub stuff


35:05 @Mark[gamblor] (missing)
* Hopefully finishing up a PR to ensure memory release for OnDiskGif and displayio Bitmap are quicker and easier to pick up by the GC


35:29 @tannewt
* Finally figured out the “speedup” and it was me changing the benchmark clock reference. 🤦
* Will polish up the PR and include a rough timing from the host PC as a cross check.
* Once PR is out, will do epd tests and rp2040 deep sleep check.
* After that, will update imx SDK and get all EVKs going.
## In The Weeds




## Wrap-Up
Next meeting is at the usual time, 2PM ET / 11AM PT on Monday March 27.
