# CircuitPython Weekly Meeting for January 23, 2023

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


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.
03:08 ## Community News
03:11 ### 400 CircuitPython Libraries!
This week, CircuitPython hit a huge milestone: There are now 400 libraries available for CircuitPython. This includes Adafruit written libraries and community contributed libraries. Number 400 is DerBroader71/circuitpython_uuid4 by Tudor (DerBroader71 on GitHub), thank you Tudor for your first CircuitPython pull request and contribution! And thanks to all who contribute to CircuitPython - Adafruit Blog.


04:05 ### New Videos: Troubleshooting CircuitPython and more
Troubleshooting CircuitPython installation, board, and Mu issues: A Guide for New Students. Here are some of what Professor Gallaugher has seen as common issues that his students have encountered, plus solutions - YouTube.
04:42 ### Tiny MicroPython Robot
  

Meet SMARS Mini, the smallest robot Maker Kevin McAleer has ever made. It has two motors and a laser time of flight sensor to detect objects. It uses a Pimoroni Tiny2040 board programmed in MicroPython - Kev's Robots via Twitter.


05:16 ### Open Muscle
Open Muscle is designed to provide biometric machine learning training data for use in prosthetic technologies. Using a ESP32-S2, Hall Effect sensor and MicroPython - Twitter Thread, GitHub and YouTube.


05:59 ### 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.
## 06: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.**
### 06:50 Overall


* 31 pull requests merged
  * 16 authors - DavePutz, tannewt, vladak, weblate, tcfranks, BiffoBear, RetiredWizard, MicroDev1, matemaciek, mushunrek, bablokb, markmcgookin, jposada202020, RealCorebb, tekktrik, DerBroader71
  * 5 reviewers - makermelissa, FoamyGuy, dhalbert, tekktrik, tannewt
* 25 closed issues by 9 people, 15 opened by 14 people


### 07:52 Core
* 10 pull requests merged
  * 7 authors - MicroDev1, matemaciek, DavePutz, tannewt, jposada202020, RetiredWizard, weblate
  * 2 reviewers - tannewt, dhalbert
* 22 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 347 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 341 days)
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 202 days)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 128 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7114 (Open 90 days)
  * https://github.com/adafruit/circuitpython/pull/7141 (Open 87 days)
  * https://github.com/adafruit/circuitpython/pull/7151 (Open 85 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 83 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7221 (Open 66 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 66 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7237 (Open 64 days)
  * https://github.com/adafruit/circuitpython/pull/7282 (Open 53 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 52 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7343 (Open 39 days)
  * https://github.com/adafruit/circuitpython/pull/7396 (Open 25 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7416 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/7430 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 12 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7471 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/7470 (Open 2 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7474 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/7473 (Open 1 days)
* 6 closed issues by 5 people, 4 opened by 4 people
* 591 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
 * 7.3.x: 0 open issues
 * 8.0.0: 6 open issues
 * 8.x.x: 39 open issues
 * 9.0.0: 4 open issues
 * Libraries: 20 open issues
 * Long term: 514 open issues
 * Support: 7 open issues
 * Third-party: 4 open issues
  * 1 issues not assigned a milestone


* Core download stats available at https://circuitpython.org/stats


### 09:40 Libraries
* 18 pull requests merged
  * 8 authors - vladak, tcfranks, BiffoBear, mushunrek, markmcgookin, jposada202020, tekktrik, DerBroader71
  * 4 reviewers - FoamyGuy, tekktrik, dhalbert, tannewt
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_Thermal_Printer/pull/29 (Days open: 87)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/73 (Days open: 77)
    * https://github.com/adafruit/Adafruit_CircuitPython_ST7789/pull/34 (Days open: 69)
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/137 (Days open: 21)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIDARLite/pull/21 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_LSM303_Accel/pull/16 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IRRemote/pull/61 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIS3DH/pull/76 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCF8574/pull/7 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Typing/pull/29 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/31 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_FlipClock/pull/8 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Creation/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Register_SPI/pull/7 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCA9685/pull/49 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/147 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/130 (Days open: 1)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/216 (Days open: 1)
  * 43 open pull requests (Oldest: 846, Newest: 1)
* 17 closed issues by 5 people, 8 opened by 7 people
  * 600 open issues
  * 84 good first issues
* https://circuitpython.org/contributing


#### 11:34 Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 100554 PyPI downloads over 306 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 17607
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 16383
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 2077
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 1806
  * Adafruit CircuitPython MCP230xx (adafruit-circuitpython-mcp230xx): 1013
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 807
  * Adafruit CircuitPython SSD1306 (adafruit-circuitpython-ssd1306): 792
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 787
  * Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 767
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 705


#### 11:57 Library updates in the last seven days:
* **New Libraries**
  * [DerBroader71/circuitpython_uuid4](https://github.com/DerBroader71/circuitpython_uuid4)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_ST7789](https://github.com/adafruit/Adafruit_CircuitPython_ST7789)
  * [adafruit/Adafruit_CircuitPython_PCF8574](https://github.com/adafruit/Adafruit_CircuitPython_PCF8574)
  * [adafruit/Adafruit_CircuitPython_LIDARLite](https://github.com/adafruit/Adafruit_CircuitPython_LIDARLite)
  * [adafruit/Adafruit_CircuitPython_Thermal_Printer](https://github.com/adafruit/Adafruit_CircuitPython_Thermal_Printer)
  * [adafruit/Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
  * [adafruit/Adafruit_CircuitPython_Wiznet5k](https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k)
  * [jposada202020/CircuitPython_st](https://github.com/jposada202020/CircuitPython_st)
  * [jposada202020/CircuitPython_ArrowLine](https://github.com/jposada202020/CircuitPython_ArrowLine)


Libraries overall: We reached 400 CircuitPython libraries! This number includes both Community Bundle libraries, and Adafruit CircuitPython libraries. The 400th library was a community library - circuitpython_uuid4 authored and submitted by Tudor, who goes by @DerBroader71 on GitHub and Discord. This is an exciting milestone for us, especially with the 400th being a community library. We’re continuing to evolve how we include community libraries in our ecosystem including Learn Guides, the library reports, and more - for example, including both Adafruit and Community library updates in the same lists in this report. As the community continues to grow, we will as well! 


### 12:54 Blinka
* 3 pull requests merged
  * 3 authors - RealCorebb, tekktrik, bablokb
  * 3 reviewers - makermelissa, FoamyGuy, dhalbert
* 9 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 712 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 472 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/267 (Open 54 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/637 (Open 49 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/646 (Open 5 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/272 (Open 5 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/647 (Open 3 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/55 (Open 3 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/649 (Open 2 days)
* 2 closed issues by 2 people, 3 opened by 3 people
* 89 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 23290
* Piwheels Downloads in the last month: 8862
Number of supported boards: 101




## Hug reports


Tim (host):
* @bablokb for working on some fixes inside of Blinka_Displayio_PyGameDisplay and discussion around its API. Also a few other fixes upstream in Blinka and Blinka_DisplayIO. 
* @matemaciek for working on new functionality in bitmaptools to draw polygons.
* @JoseDavid for jumping back into the fray of displayio and typing for libraries
* Group hug


15:06 @CGrover (text only)
* Group hug


15:14 @danh
* @microDev for working on ESPnow support for Espressif. It’s a draft now – we would probably add it for 8.x.x. Lots of people have been asking for this.
* @anecdata for thorough testing of Espressif wifi issues.


David.Glaude (not present):
* Hug to John Park (presenting it) and Paint Your Dragon (adding support for more joysticks) for the work on the RP2040 NES emulator. (Not CP but related to my #CP2023 post)


17:01 @DJDevon3
* @FoamyGuy for hosting and weekly streams
* @Group Hug


17:15 @jepler
* Two friends of mine, Chris & Seb, for a week long in person “hackfest” on a CNC lathe. They’re not in the CircuitPython community but I want to thank them here anyway (and explain why i was away)
* Melissa, hope you are recovering well
* Group hug


17:44 Jose David (Text Only)
* Hug to @tekktrik for the improvements done in the Displayio  Cartesian Library that after my deep sleep I have just found out this week also more recently for taking the time to review the datasheet for the LIS3DH sensor
* @Tim Thanks for all your hard work.


18:12 @kattni
* @tekktrik for updating the library report to combine the community libraries with the Adafruit-specific libraries in the Library Updates section.
* @DerBroader71 for submitting the 400th CircuitPython library, and for it being their first contribution and PR to the project!
* Group hug to everyone who has contributed to the CircuitPython libraries in any way, hitting this milestone couldn’t have happened without all of your support with everything from authoring, to reviewing, to filing issues and finding bugs, to documentation, etc. It is all crucial!
* Welcome back @makermelissa!
* Also, welcome back to @JoseDavid
* @tekktrik for blowing up my inbox with library updates
* Sending well-wishes to @tekktrik and his partner, and a speedy recovery to his partner
* Group hug to the community! 


19:18 @makermelissa
* @danh for taking care of reverting the code.circuitpython.org PR which apparently broke it
* @foamyguy and @tekktrik for responding to some Blinka Issues and PRs
* Group Hug to everyone who took care of things while I was out for Surgery last week


19:48 Mark(gamblor) [lurking]
* @tannewt for gathering and everyone who posted about #CircuitPython2023. I enjoyed reading all the varied responses
* Group hug to all


20:11 @microdev (text only)
* Group hug to all !


20:30 tcfranks (not present)
* Hug to @tekktrik and @foamyguy for patiently coaching me through my first 100 pr’s
* Hug to @tekktrik for encouraging me to register and complete a successful #hacktoberfest
* Hug to the community for patience and excellence


21:01 @tannewt
* RetiredWizard for switching imx rt to the low power RTC interface.
* DavePutz for improving nrf next reset.
* ZodiusInfuser for the interesting native IO expander draft PR. Thank you for checking in early!
* FoamyGuy for testing and reviewing the WizNet changes
* Gneverov for the good async discussion. Excited to see brainstorming on this.
## 22:14 Status Updates
22:48 @foamyguy Tim
* Past week
   * Try out hooking up an EYESPI display and using displayio to draw things on it
   * Started implementing bitmaptools for Blinka_Displayio
   * Testing some Blinka Displayio PyGameDisplay proposed changes that restore the auto refresh functionality and resolve the threading issues that led to it getting changed.
   * Figure out how to use deep sleep with PinAlarm wake up in conjunction with the MagTag library and submit some docs tweaks and a new example illustrating how.
* Next week
   * Brainstorm and start trying out some ideas for a library that will provide a consistent “game controller” buttons API across different devices that have differing specific pin and button arrangements
   * Try out the remaining PR for ethernet library that changes socket to be more standard
   * Read the 2023 posts that are published


25:34 @danh
* Trying to reproduce network crashes after a long while on ESP32-S2 and ESPS3. Not succeeding yet. Post 8.0.0, we would like to make it easier to restart your porgrams from hardfaults and other safe-mode issues.
* Testing latest ESP-IDF v4.4 updates to see if they fix existing I2C and/or wifi problems.
* Reviewed and will continue to review a number of PR’s.


27:27 David.Glaude (not present):
* CP:
   * Convinced a co-worker to acquire one (or two) CPE 4-H to build a mouse jiggler… and his girl could learn STEM with it.
   * Connected my C64 keyboard to a Pico (using a RedRobotics Pico to Pi Adapter) and spent hours with the pin and key mapping… => to be continued this week to have something working and maybe a VICE+PC mapping.
* Non CP:
   * Replicated the NES emulator with an RP2040 connected to HDMI and to a PS4 joystick.
   * Received my Olimex “Agon light 2” (z80 8 bits computer):
      * Tested the VGA output
      * Tested 8 different USB keyboards… only 3 are “PS2 compatible” and out of those 3 only one is QWERTY (<= That is what I want)
28:52 @DJDevon3
* More progress on the TR-Cowbell enclosure. Printing in sections is getting tedious. Looking into bed extension parts for the Ender 3 S1 Pro. The most popular site for extenders doesn’t have a kit for the S1 Pro so I’ll be attempting to make my own. The plan is to make the bed 9”x24”. Acceleration and inertia at that size becomes a hurdle. The hardest part is finding the bed heating element but they do exist at really long lengths and custom sizes.
* Finished printing section 3 of 4 and everything fit great. Moving on to ensure section 4 prints well.
* Finally got a Pi 4+ (at a fair price) to run Octoprint


30:53 @jepler
*  Was out last week
* This week:
   * Catching up
   * Guide feedback (just one item but need to pull a project out and check wiring is described accurately)
   * Finishing NeXT mouse guide
   * Moving the SPI TFT emulator to Arduino
   * Fix S2 reverse feather PID (remove from internal csv document and change in CP; others are good)


32:16 @Jose David (Text Only)
Last Week
* Some small stuff, and reviewing changes in the libraries. Done some updates in CP personal libraries to be compatible with CP ⅞
* Worked in a small house project with an accelerometer connected to a Adafruit Feather ESP-S3 to detect when the sump pump is working and alert me in Home Assistant
This Week
   * Continue the update of old CP libraries
   * Will watch the developments in bitmaptools core by @matemaciek and displayio by @tim and take it from there to implement some add-ons to libraries
   * CP Related|Personal: Work on a Adafruit Titano to select a color for a led strip in a colorwheel picker in CP and send it via MQTT to HomeAssistant to change the color.


33:22 @kattni
* Last week:
   * EYESPI template started
   * EYESPI Overview update text completed; approved
   * Blogged up SHT4x guide update
* This week:
   * Finish final section in EYESPI template
   * Get approval
   * Once approved, update one guide (1.5” 240x240 TFT: PID3787)
   * Then split the rest of the updates with Liz
   * Still considering finishing my quite late CP2023 post.
* Unrelated:
   * I got three new plants this weekend, they’re air plants, which means they don’t need or want soil. These are specifically Tillandsia Stricta. They have little cup-like hairs on their leaves called trichomes, and to water them, you soak most of them in water for 30 minutes once per week. There’s also a super tiny one that is Tillandsia Tectorum, which has significantly more trichomes (it looks like fur) on its leaves, so you only soak that one for a few minutes each week. My two Stricta plants already have magenta bits on them that will eventually bloom, and one of them already has tiny blooms on it. I am inordinately excited about my new plants.


35:54 @makermelissa
* Last 2 Weeks:
   * I was out Tue-Fri last week for surgery and a few days of recovery
   * Worked on CircuitPython Installer and it’s in a pretty good place
      * I am running into some CORS issues with the firmware and bootloader (for testing)
      * I believe the UF2/BIN files should be easy to get around once the code is live because if the download.circuitpython.org domain doesn’t work, we can at least use S3
      * The tinyuf2 bootloader will be trickier and I think it will need GitHub actions added to upload to S3 to get around CORS issue
   * Apparently there was an issue with the Code Editor and I’ll need to take a closer look at why my changes broke it
* This Week:
   * Lots of catching up including guide feedback
   * I need to chat with Brent and Loren about the WipperSnapper Installer not working for some folks
   * Try another PR for the code editor
   * I need to create a javascript library that is able to run CircuitPython REPL code. This will be needed for both the code editor and the Installer. The code to do this was in the Code Editor PR and just needs to be decoupled and packaged separately.
   * Look at a way to get around CORS issues with the installer
   * Try making the installer live and see what works and what doesn’t. I may make it so it doesn’t show by default unless you add any parameters.
                


38:18 @Mark(gamblor) [lurking]
* Was thinking of looking at AnneB’s requests in the 2023 posts about native gif support for CP. Wanted to find out if there was interest in this before I get too far into looking at it. My initial thought was to add support to displayio for it. If there is interest I can take a run at starting it and have a more detailed discussion in the weeds in a couple weeks.


39:00 @tannewt
* Wrap up #CircuitPython2023. Thank you to everyone who posted!
* Fixed BLE workflow serial to enable ctrl-c.
* Fixed RP2040 reset reason when coming out of the bootloader.
* Ctrl-c fix diverted me into updating my Bangle.js 2 changes to get them merged in.
* The Bangle.js 2 has an 8 color memory display which got me into displayio.
* Working on ACeP (seven color) eink support.
* Once Bangle.js 2 support is checked in, I’ll pick up USB host.
## 42:25 In The Weeds
42:30 @MicroDev: (text-only)
* The IDF v5.0 PR #6913 is kinda ready. The PSRAM boards boot-loop. More importantly idf v5.0 adds a bunch of certs and firmware size is way past 1408K. Consider increasing it to 1536K before CP8 to avoid a breaking change. I am hoping we switch to idf v5.0 in 8.x.x.
* If anyone has noticed, the build-arm matrix now builds 255 (0xFF) boards. The limit is 256! Will open an issue for this.


51:11 @jepler
* Interaction between watchdog & writing to CIRCUITPY: if you watchdog-reset during a write, you probably leave CIRCUITPY corrupt. (user reported issue)
* I had two ideas:
   * Pet the watchdog during flash writes
   * Forbid enabling the watchdog if CIRCUITPY is not fully read-only
* Thoughts? I will create an issue about it after this meeting
* Previous discord discussion https://discord.com/channels/327254708534116352/327298996332658690/1066129111271092265
* @jepler will enter an issue asking for the watchdog to be petted during flash writes
## 56:32 Wrap-Up
The next meeting will be at the usual time, Monday January 30th, 2023, at 11amPT/2pmET.