# CircuitPython Weekly Meeting for September, 25 2023




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


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.
## 02:48 Community News
#### Hacktoberfest 10 Starts October 1st

This year marks the 10th anniversary of Hacktoberfest! Hacktoberfest has grown from 676 participants in 2014 to nearly 147,000 participants last year - Hacktoberfest.
What is Hacktoberfest?

"Join forces in virtual and in-person events to get your project's pull/merge requests done as a team, learn new skills, and meet lifelong friends. This year we’re partnering with Major League Hacking to help the community connect. Open source projects, maintained by community-minded coders, make the modern internet function. Supporting that essential work, and the folks behind it, is what Hacktoberfest is all about."

As in previous years, CircuitPython will be participating in Hacktoberfest, marking some Pull Requests as Hacktober eligible. Keep an eye on the Adafruit Blog for details as October approaches - Adafruit Blog.

#### CircuitPython Getting Pieces Ready for Version 9
The CircuitPython team has been getting key features into CircuitPython ahead of a new Version 9 - GitHub.
These include:
* Updating to the Espressif ESP-IDF 5.0 (goal is to get to 5.1)
* Merging changes from MicroPython v1.20 (goal is to get to the latest version)

#### Making a Single-Button Keyboard With CircuitPython

MagiClick S3 is a single-button keyboard with a color display and is based on an Espressif ESP32-S3 microcontroller. The display features a 0.85-inch color screen, 128×128 resolution. The main control board is currently designed with the ESP32-S3 which supports WiFi, flash, and RAM large enough to hold functional scripts in CircuitPython - hackster.io, GitHub and the Adafruit Blog.

### 04:46 Newsletter Details
The CircuitPython 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](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.
## 05: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.**
### 05:40 Overall
* 48 pull requests merged
  * 11 authors - makermelissa, MakerM0, BlitzCityDIY, CalvesGEH, dhalbert, jepler, tannewt, reppad, BiffoBear, FoamyGuy, Neradoc
  * 6 reviewers - makermelissa, tannewt, microdev1, kattni, caternuson, dhalbert
* 18 closed issues by 11 people, 20 opened by 17 people
### 06:13 Core
* 8 pull requests merged
  * 5 authors - jepler, MakerM0, tannewt, reppad, dhalbert
  * 3 reviewers - microdev1, tannewt, dhalbert
* 18 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 447 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 257 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 217 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 205 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 198 days)
  * https://github.com/adafruit/circuitpython/pull/7718 (Open 196 days)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 179 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 129 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 129 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 122 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8095 (Open 97 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 95 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 57 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8262 (Open 50 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8285 (Open 40 days)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/8371 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/8422 (Open 3 days)
* 4 closed issues by 3 people, 13 opened by 11 people
* 724 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
 * 8.2.x: 10 open issues
 * 9.0.0: 55 open issues
 * Libraries: 22 open issues
 * Long term: 608 open issues
 * Support: 19 open issues
 * Third-party: 8 open issues
 * 4 issues not assigned a milestone
### 07:48 Libraries
* 29 pull requests merged
  * 4 authors - FoamyGuy, BlitzCityDIY, BiffoBear, Neradoc
  * 4 reviewers - makermelissa, tannewt, caternuson, dhalbert
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/114 (Days open: 129)
    * https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/pull/44 (Days open: 81)
    * https://github.com/adafruit/Adafruit_CircuitPython_OV5640/pull/21 (Days open: 59)
    * https://github.com/adafruit/Adafruit_CircuitPython_AHTx0/pull/16 (Days open: 36)
    * https://github.com/adafruit/Adafruit_CircuitPython_USB_Host_Mass_Storage/pull/3 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIFX/pull/22 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/36 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCF8591/pull/12 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_INA260/pull/27 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_VL53L4CD/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DHT/pull/94 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FXAS21002C/pull/31 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/156 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/95 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/28 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FONA/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AS7341/pull/38 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/63 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Ducky/pull/14 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RFM69/pull/46 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ICM20X/pull/21 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone/pull/21 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver/pull/31 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/57 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCA9685/pull/57 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GPS/pull/104 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/109 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/pull/73 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OV5640/pull/22 (Days open: 1)
  * 43 open pull requests (Oldest: 403, Newest: 1)
* 6 closed issues by 5 people, 7 opened by 6 people
  * 640 open issues
  * 19 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 70124 PyPI downloads over 313 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 8369
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 7512
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2495
  * Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 1275
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1228
  * Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 1211
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1097
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 871
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 679
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 620
#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_AHTx0](https://github.com/adafruit/Adafruit_CircuitPython_AHTx0)
### 10:52 Blinka
* 11 pull requests merged
  * 2 authors - makermelissa, CalvesGEH
  * 3 reviewers - makermelissa, tannewt, kattni
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 957 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 717 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/299 (Open 120 days)
* 8 closed issues by 4 people, 0 opened by 0 people
* 78 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 16235
* Piwheels Downloads in the last month: 3542
Number of supported boards: 121
## 11:40 Hug reports


11:59 @Liz (hosting)
* Group hug


12:10 @danh
* @jepler for making mpy-cross and the unix port working on the MicroPython V1.20.0 merge
* @tannewt for the ESP-IDF v5.0 and v5.1 merges


13:03 @david.glaude (not present)
* @ladyada, @jepler and Erin for the work on Teddy Ruxpin as I try to do a Halloween Ruxpin.
* Group hug


13:18 @foamyguy
* @tannewt for review and merging the RTD theme fix PRs for the repos that the adabot patch wasn’t able to do automatically.
* @DJDevon3 for sharing your mega matrix panel, very cool to see how many you’ve been able to tile. Thank you for sharing your findings as well for others who want to do similar.
* @makermelissa for reviewing my non-blocking marquee PR for LED Matrix controller


14:11 @jepler
* @tannewt and @microdev1 for idf5(.1) merge
* @danh for micropython 1.20.0 merge
* @prcutler for having been a meeting host, sorry to see you go from the rotation but understand that sometimes $DAY_JOB wins
* @melissa looking forward to having a chat with you, it’s been too long since we talked
* Group hug


15:00 @kattni
* Group hug!


15:21 @makermelissa
* @danh for reminding me to review @foamyguy’s non-blocking marquee PR
* @kattni for continuing to participate in the community
* Group Hug


15:38 @michalpokusa (not present)
* @FoamyGuy for help with cookiecutting the adafruit_templateengine, which should be ready later this week


15:49 @tannewt
* @microdev for the 5.0 update work and review
* @danh for the IDF update reviews
* @bill88t for the 5.0 review and testing
## 16:17 Status Updates


16:41 @Liz (hosting)
* I was out sick the end of last week so I’m starting to get back into things today
* Starting to work on a product guide for the HUSB238 USB-C PD breakout that lets you set the desired PD voltage for USB C wall adapters that can provide multiple voltages.


17:13 @danh
* Finished resolving merge conflicts for V1.20.0 merge with Jeff last week, which means I was able to commit to my branch. I then gave Jeff access, and he worked on getting mpy-cross and the Unix build to work. I did some touch-up of those commits. Next is to try to build some simple boards.
* Reviewed Scott’s ESP-IDF v5.x PR’s. They are now merged.


18:05 @david.glaude (not present)
* Non-CP (Teddy Ruxpin week):
   * Received the 2 Teddy Ruxpin I ordered from eBay, but only one is the right model.
   * Recovered the old code from @ladyada that is not published anymore: https://github.com/ladyada/Adafruit_Learning_System_Guides/blob/d8484666a50c11eff3ec6b4b598f6bfe62733071/Teddy_Ruxpin/ruxalyzer.py
   * Started to use, fill issue and send PR to Jepler version: https://github.com/adafruit/snxrom  
   * Trying to go beyond the learn guide from Erin (https://learn.adafruit.com/teddy-ruxpin-rebuild) by trying to change the eye images (like @ladyada did)
* CP:
   * Checking my ultimate mouse jiggler with the new version of the usb-hid 6.0.0 library, I feared the breaking change was going to hit me, but it still works fine.
   * Thinking about ways to use CP and Teddy Ruxpin, like using USB Host to change the Teddy content (present itself as a USB mass storage), and remotely trigger it.


 19:03 @DJDevon3 (text only)
* Went on Show & Tell with the correctly working 12-panel display driven by a Matrix Portal S3. Special heartworks animation for Kattni. Ladyada said 12 is about the maximum I’ll be able to run. Will start working on a wooden frame to hang on the wall when I return from vacation.
* Haven’t done any beta testing this week due to the merge. Everything in the 9.0 alpha will be in a state of flux for a while. I feel it’s best to stay clear and let the devs concentrate on 9.0 merges instead of adding new & most likely temporary bug reports.
* Spent most of the week in Fusion 360 and Cura for 3D printing for a jewelry box project that will involve a TFT display, SD Card, neopixels, and a mirror.
* Will be visiting family for the next 2 weeks and will not be as active.




20:00 @foamyguy
* Ran the patch with Adabot last week to resolve an RTD theme issue
* Working on connecting together a few bits and pieces from different places to make a system for automated releases of libraries
* Ran the automated release tool this morning. Will submit a PR to adabot adding the final utility that I ended up using.
* This week: following up on the handful of libraries that reported actions failures from the patch rollout. The failures were unrelated to the primary issue, but I’ll be working through them to get those repos back into a passing state.
* Working on a FunHouse IOT Dashboard project that uses HTTPServer and the new TemplateEngine library to provide a slick web interface showing funhouse sensor and pin info
* Submit an initial “board simpletest” discussed a few weeks back in the weeds.
* Out of town latter part of this week, no stream this weekend for me.


23:04 @jepler
* Last week: dot clock displays, micropython 1.20 merge
   * Today verified that it’s possible to clock a display at 16MHz without glitches, vs just 6.5MHz on the older esp-idf, which we were all hoping for. This was not while doing RAM or CPU intensive code but it’s still clearly much better than before.
* Keebs: continued improving the code.py for the Unicomp Mini M keyboard to reduce ghosting and also re-wrote it to not need any gc allocations after initial startup = no gc pauses while scanning the matrix or sending keys https://adafruit-playground.com/u/jepler/pages/unicomp-micro-m-with-circuitpython
* Other: worked on chap, my open source program for talking to text-generating large language models like chatgpt. Added a bunch more functionality, including interfacing to local LLMs with llama.cpp. The “vicuna” LLM seems to be one of the best you can “run at home” right now.  https://github.com/jepler/chap
* This week: ditto. Trying to wrap up dot clock displays
* Soon: missing meetings for about 6 weeks. 50/50 if I’ll be at next weeks’ meeting. Back on Monday November 13. 👋


26:02 @kattni
* This past weekend:
   * Put up one of two new blinds in my office to replace the terrible projector-screen-like ones that came with the house.
   * Finished building a custom table for my new tool chest. Turns out putting something heavy on a small table, even with solid legs, on carpet, makes for a tippy situation. Boards under the legs fix it well enough to call it good.
* Upcoming:
   * My next steps!
   * A ton of preparation and continuing to build up my office workshop
   * Putting up the second set of blinds.. Should go faster this time. But I bet it doesn’t.


27:45 @makermelissa
* Last week:
   * Went through some more Blinka issues and submitted PRs
   * Also I went through the repos and updated documentation and organized issues much better
   * Started going through Blinka Displayio code and updating it to be current and much more complete in order to support monochrome and grayscale displays
* This week:
   * Currently debugging the Blinka Displayio code. I think I’ve narrowed it down to something in my Palette code
   * After that, look at optimizing the code a bit
   * Possibly add eink display support if it isn’t too involved


28:37 @tannewt
* Updates to IDF 5.0 and 5.1 were merged in last week.
* Please test and file issues. *However*, I only have Adafruit, Espressif and some UnexpectedMaker boards. Please reproduce issues on those if you can.
* Working to re-enable rgbmatrix and found crashes to fix.
* No deep dive this week!
## 30:01 In The Weeds


30:20 @david.glaude (not present) by suggestion by Anne:
* The Adafruit_Learning_System repo has more than 1000 entries (not all CP related) in its root (one folder per project) and make that GitHub web UI does not let you browse it all. So I was hoping for a way to fix that and opened this issue https://github.com/adafruit/Adafruit_Learning_System_Guides/issues/2631
Maybe someone can summarize the previous discussion and what are the possibilities… or bring new ideas?




## 34:30 Wrap-Up
