# CircuitPython Weekly for March 28, 2022 
Here is the notes document for next Monday’s CircuitPython Weekly meeting. It is at the normal time of 11am Pacific / 2pm Eastern here on Discord. Everyone is encouraged to attend! Please add your hug reports and status updates even if you’ll be attending the meeting - it’s super helpful! If you are unable to attend but would still like to include updates, feel free to include them in the notes and we’ll read them off during the meeting. Hope to see you there! @circuitpythonistas


Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates early. During the meeting, we go through them as a round robin sorted by username. If you can’t make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and we’ll read them off for you. 


Add any longer-form discussion topics or general questions you have to the “In the weeds” section. 


Thanks! We hope to see you in the meeting!


Tim is hosting.


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


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.herokuapp.com/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:27 Community News


### It's a Boy!
Scott Shawcroft, lead CircuitPython developer, along with his partner have a new baby as of 8:14 a.m. March 25th! Baby and mother are doing well! Scott will be on paternity leave for the next six weeks and the whole Adafruit staff and the Python + Maker communities wish the family well.


### New Python Twitter Communities
Twitter Communities is a new feature being rolled out on Twitter to aggregate people with common interests. And there are now two communities related to Python on Microcontrollers:
[Micropython Community](https://twitter.com/i/communities/1506567111837159424)
[CircuitPython Community](https://twitter.com/i/communities/1506684289622106117)


### 04:32 A New Major Thonny Update is in Beta
The Thonny Python editor had received a version 4.0.0 beta 1 release. They are looking for help in reporting bugs and bug fixes. [Github Release Page](https://github.com/thonny/thonny/releases/tag/v4.0.0b1)


### 04:55 The MicroPython Wiki Returns
Per Matt, the MicroPython WIki is once again up and running. The MediaWiki-based site collects knowledge, resources and links for anything and everything related to MicroPython, for both users and developers [Micropython wiki](https://wiki.micropython.org/wiki/Main_Page)


### 05:29 New CircleBar features
  

@digitalMakerCIC Added featured to the Pico CircuitPython CircleBar object: a method to draw dial lines around the circle (variable amount, length, offset & colour) and a "danger zone" value (changes circle to red) [Twitter](https://twitter.com/digitalMakerCIC/status/1506740588145692682)


### 06:24  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.
## 07:08 State of CircuitPython, Libraries and Blinka
### Overall
* 46 pull requests merged
  * 22 authors - tekktrik, ladyada, weblate, tannewt, gamblor21, UnicycleDumpTruck, jerryneedell, PaintYourDragon, ZodiusInfuser, evaherrada, FoamyGuy, makermelissa, dhalbert, jepler, ajiekurniawansaputra, Neradoc, askpatrickw, bergdahl, wtuemura, kattni, caternuson, anecdata
  * 15 reviewers - evaherrada, tekktrik, ladyada, gamblor21, FoamyGuy, tannewt, jepler, makermelissa, dhalbert, brentru, jerryneedell, askpatrickw, kattni, caternuson, anecdata
* 28 closed issues by 14 people, 25 opened by 18 people


### 08:55 Core (@jepler)
* 14 pull requests merged
  * 10 authors - ZodiusInfuser, weblate, tannewt, gamblor21, FoamyGuy, jepler, jerryneedell, Neradoc, bergdahl, wtuemura
  * 5 reviewers - jerryneedell, tannewt, gamblor21, jepler, dhalbert
* 13 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 193 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 157 days)
  * https://github.com/adafruit/circuitpython/pull/5852 (Open 73 days)
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 46 days)
  * https://github.com/adafruit/circuitpython/pull/6029 (Open 42 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 40 days)
  * https://github.com/adafruit/circuitpython/pull/6069 (Open 36 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 22 days)
  * https://github.com/adafruit/circuitpython/pull/6187 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/6184 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/6199 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/6196 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/6202 (Open 2 days)
* 8 closed issues by 4 people, 10 opened by 8 people
* 510 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 7.2.x: 0 open issues
  * 7.3.0: 4 open issues
  * 7.x.x: 23 open issues
  * 8.0.0: 10 open issues
  * Libraries: 19 open issues
  * Long term: 450 open issues
  * Support: 1 open issues
  * 3 issues not assigned a milestone


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


### 11:23 Libraries
* 30 pull requests merged
  * 14 authors - evaherrada, tekktrik, ladyada, FoamyGuy, makermelissa, UnicycleDumpTruck, dhalbert, ajiekurniawansaputra, Neradoc, askpatrickw, caternuson, kattni, PaintYourDragon, anecdata
  * 12 reviewers - evaherrada, tekktrik, ladyada, FoamyGuy, jepler, makermelissa, dhalbert, brentru, askpatrickw, kattni, caternuson, anecdata
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_OV5640/pull/14 (Days open: 17)
    * https://github.com/adafruit/Adafruit_CircuitPython_asyncio/pull/21 (Days open: 16)
    * https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/47 (Days open: 15)
    * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/pull/101 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/38 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_MacroPad/pull/39 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/159 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/161 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/83 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PCF8563/pull/4 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Slideshow/pull/42 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3731/pull/48 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/84 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/67 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/66 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Typing/pull/9 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Typing/pull/8 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_VL53L4CD/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR/pull/24 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PIOASM/pull/39 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel_SPI/pull/33 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741/pull/16 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/124 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/60 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/105 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/102 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/376 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/374 (Days open: 1)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/176 (Days open: 1)
  * 27 open pull requests (Oldest: 545, Newest: 1)
* 16 closed issues by 9 people, 12 opened by 9 people
  * 616 open issues
  * 201 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_Wiznet5k](https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k)
 * [Adafruit_CircuitPython_DisplayIO_SSD1306](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306)
 * [Adafruit_CircuitPython_DisplayIO_SH1107](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107)
 * [Adafruit_CircuitPython_FocalTouch](https://github.com/adafruit/Adafruit_CircuitPython_FocalTouch)
 * [Adafruit_CircuitPython_SSD1322](https://github.com/adafruit/Adafruit_CircuitPython_SSD1322)
 * [Adafruit_CircuitPython_MagTag](https://github.com/adafruit/Adafruit_CircuitPython_MagTag)
 * [Adafruit_CircuitPython_RGB_Display](https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display)
 * [Adafruit_CircuitPython_Debouncer](https://github.com/adafruit/Adafruit_CircuitPython_Debouncer)
 * [Adafruit_CircuitPython_MacroPad](https://github.com/adafruit/Adafruit_CircuitPython_MacroPad)
 * [Adafruit_CircuitPython_PCF8563](https://github.com/adafruit/Adafruit_CircuitPython_PCF8563)
 * [Adafruit_CircuitPython_Slideshow](https://github.com/adafruit/Adafruit_CircuitPython_Slideshow)
 * [Adafruit_CircuitPython_DisplayIO_SH1106](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1106)
 * [Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)
 * [Adafruit_CircuitPython_ESP32SPI](https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI)
 * [Adafruit_CircuitPython_Fingerprint](https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint)
 * [Adafruit_CircuitPython_PortalBase](https://github.com/adafruit/Adafruit_CircuitPython_PortalBase)
 * [Adafruit_CircuitPython_HTTPServer](https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer)
 * [Adafruit_CircuitPython_asyncio](https://github.com/adafruit/Adafruit_CircuitPython_asyncio)
 * [Adafruit_CircuitPython_VL53L4CD](https://github.com/adafruit/Adafruit_CircuitPython_VL53L4CD)
 * [Adafruit_CircuitPython_Pixelbuf](https://github.com/adafruit/Adafruit_CircuitPython_Pixelbuf)
 * [Adafruit_CircuitPython_NeoPixel_SPI](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel_SPI)
 * [Adafruit_CircuitPython_IS31FL3741](https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741)
 * [Adafruit_CircuitPython_NeoPixel](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel)
 * [Adafruit_CircuitPython_DotStar](https://github.com/adafruit/Adafruit_CircuitPython_DotStar)
 * [Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
 * [Adafruit_Blinka_Displayio](https://github.com/adafruit/Adafruit_Blinka_Displayio)


### 13:52 Blinka
* 2 pull requests merged
  * 1 authors - makermelissa
  * 3 reviewers - ladyada, makermelissa, tannewt
* 6 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 411 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 245 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 171 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 111 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/222 (Open 26 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/566 (Open 10 days)
* 4 closed issues by 4 people, 3 opened by 3 people
* 74 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 12820
Number of supported boards: 87




## Hug reports
@foamyguy
* @JohnPark for the wonderful “bite sized” CircuitPython Parsec segments to teach basic concepts of circuitpython. Especially the last few which have centered around displayio and related concepts.
* @dexter for trying out and reviewing my PR for a new PageLayout
* @tannewt for their baby being born. Wishing the best for him and their family.
* Group Hug


16:08 @anecdata (lurking)
* @Neradoc for helping me reason through a data structure question …and in general for providing a lot of support on Discord


16:23 @danh
* @tannewt for last minute fixes before the baby arrived, and congratulations!
* @jepler for SAMD51 tick counter overflow fix: great detective work.
* @gamblor21 for continuing work on zlib functionality, in process.
* @kattni for guidance on library version issues and renaming of pixelbuf.


17:24 @jepler
* Congratulations to Scott & Family


17:38 @jerryn
* Congratulations to @tannewt!
* @neradoc for the PR adding MDK dongle status light
   * And for making it trivial to add same to pca10059
* Group Hug!


18:05 @kattni
* Super huge hug to @foamyguy for hosting the meeting for me today.
* @tammymakesthings for a lovely conversation
* @blitzcityDIY for learning how to do new product guides, and STEMMA QT revision guide updates, AND for putting together her first STEMMA QT rev update on her own!
* @jepler for helping me figure out how to fix my MicroPython PR to pass CI
* Group hug!


18:58 @kmatch
* @jepler and friends for the FrameBufferDisplay code, and @tannewt for pointing me to this module




19:21 @makermelissa
* @kattni for helping me with some Eagle-related stuff that I had forgotten
* Congratulation to Scott and his family
* Group Hug


19:42 @tammymakesthings
* @kattni for a great conversation last Wednesday, and for hosting the meeting today
* Group hug!


20:07 @tekktrik (text-only)
* @foamyguy for helping me debug some PRs where I lacked the hardware
* @neradoc and @anecdata for always answering questions about CircuitPython - both in and out of the #help-with-circuitpython channel
* @danh for helping fix some ReadTheDocs build errors I noticed
* @jepler for the fantastic inspiration for my stepper motor based instrument with their CNC machine video
* Group Hug!
## Status Updates
21:43 @foamyguy
* Last Week
   * Worked on vectorio helper library, specifically a RotatedPolygon class that allows easily manipulating polygons to arbitrary rotation angles. Created some neat animated / kaleidoscope effects.
   * Created a PageLayout class to make it easy to build interfaces with multiple pages and switch between them, ultimately it’s destined to get used for a TabbedLayout and an updated version of the Pyportal Interface example project from learn system
* This Week
   * Try to make vectorio shapes support the hidden functionality that TileGrids and Groups currently use
   * Finish the refactoring and changes within the displayio slider widget and publish a first version to CircuitPython Org
   * Look into some possibilities for “Outline only” vectorio shapes that have a border line but no fill.


24:13 @danh
* Reviewing and testing PRs.
* Did some cleanup on adafruit_requests, and I have further cleanup I would like to do.
* Testing async requests code by modifying cheerlights demo. It uses the MagTag library, so thinking a bit about whether to add to add async capability to PortalBase.
* Will do a 7.2.4 release with some fixes we want in a stable release, and also a 7.3.0-beta.0 release.


26:16 @jepler
* Last week: Added A2R (apple flux format) to fluxengine, but it needs more work
* Worked on rare timekeeping bug on samd51, fix is set to be merged if it wasn’t already
* Today: Working on making cookiecutter work on windows
* This week: Python stuff, check my assignments




27:14 @jerryn
* Submitted PR to add status LED to pca10059 (nrf52840 dongle)
   * Helpful for BLE workflow
* Verified that ESP_ATControl library is still working OK in response to Discord question
   * Tested with ESP-01 and ESP8266 Breakout with RP2040-Pico
   * Work with older v1.6.2 firmware  from guide and new 2.2.0 Firmware from Cytron - there may be some pin changes in Espressiff builds > 2.0
   * The guide is “deprecated” but the Library does not mention deprecation
      * What is the library status? There have been recent PR’s
* Was reminded in a forum post that there are issues with non-default spreading factor settings on the RFM9x – issue already open - change title to be easier to find.
      * Needs some careful study of the datasheet.






30:46 @kattni
* Last week:
   * Finished up my MicroPython PR (thanks again to Jeff for figuring out what Damien was suggesting in the PR as the fix), and Damien merged it
   * Updated the CircuitPython Internet Test page for ESP32-S* to be standalone using the Project Bundler, and deleted the CircuitPython Internet Libraries page which was rendered unnecessary by the Test page update.
   * Helped Liz with her first STEMMA QT revision guide update
   * Updated the WiFi example on the Adafruit IO template to not crash when WiFi/AIO connections are lost, and updated code walkthrough in template to reflect changes to code.
   * Updated the AIO template to refer to the CircuitPython Internet Test page for creating secrets.py, instead of using a code snippet in the template
   * Proofed Liz’s first self-completed STEMMA QT rev guide update
   * Started the Feather ESP32 V2 MicroPython page
* This week:
   * Add new lib to bundle etc.
   * Update the CircuitPython nRF52840 guide to include something from the forums
   * Update PCB files on GitHub, and schematic/fab print in guide for QT Py ESP32-S2
   * Update Adafruit I2C QT Rotary Encoder guide Pinouts page to have an alert suggesting hardwiring Vin to a power supply if any unusual behavior is noticed
   * Update NeoSlider Arduino page to add code to seesaw repo instead of being a code snippet in the guide page
   * Upload updated PCB files for PID2269 (Bluefruit LE Sniffer)
   * Finish Feather ESP32 V2 MicroPython page
   * Either run myself or get Eva to run two Adabot patches:
      * Update Black version in pre-commit to latest
      * Update the chat badge to be the new Adafruit Discord badge.
   * Update cookiecutter to include the above changes.
   * Essentials template for asyncio
   * Think about more PyLeap project ideas, or more existing projects to port to PyLeap. Beta test PyLeap when our dev is ready.
   * Whatever else comes up.


35:33 @kmatch
* Received first PCB and verified backlight driver and connections between ESP32-S3 and a scavenged RGB LCD display.
* Created template of dot clock LCD FrameBuffer display driver module in CircuitPython, compiles but not yet to “blink”. 
* This week: Get first pixels to draw on the display. 


36:41 @makermelissa
* Last Week:
   * Worked on creating template pages for St7789-based displays
   * Worked on 1.47” and 1.9” guides
   * Fixed an issue with the ESPTool where some boards didn’t have the Mac Address showing correctly
   * Fixed an issue with Blinka Displayio where the rotation for 90 and 270 was opposite of CircuitPython Displayio
   * Fixed the Euler angles for the WebSerial 3D Model Viewer
   * Updated the PyBadge Conference Badge Learn guide with new Keyboard code
   * Updated Arduino ST7789 library with a ST7789 display specific example
   * Updated Arduino ImageReader library with some 1.47” and 1.9” display specific examples and images
* This Week:
   * I should be able to finish up the 1.47” and 1.9” display guides today
   * Go through the Raspberry Pi TensorFlow guide with updated TensorFlow links
   * Take a look at libgpiod versioning issue in Blinka
   * Look into an issue with the ESP32-C3 QT Py not working with the WebSerial ESPTool
   * Possibly update some other display guides with new templates
   * Meet with Paul Cutler for Podcast Recording


39:25 @tammymakesthings
* Last week
   * Started to work on fixing the `piku` tool to work properly with larger CPY boards, now that I understand the problem the flash size checks are trying to solve
   * Didn’t do a whole lot else because I’m transitioning to my new job in 2 weeks so last week was super hectic
* This week:
   * [Twitch streams](https://twitch.tv/TammyMakesThings)  this week: Tuesday at 6:00PM PT, Saturday at 11:00AM PT - finishing up the MacroPad MIDI project, working on my DisplayIO Card Deck library
   * Anticipating another hectic week work-wise


40:20 @tekktrik (text-only)
* Last week:
   * Tested PR for adding multiple Wi-Fi settings to PortalBase-derived libraries
   * Type annotations for some larger libraries like FONA and RSA
   * Submitted PRs for adding adafruit_bus_device dependencies to a few libraries that could use it
   * Minor updates to a few libraries to make sure CI and documentation wasn;t building or passing
   * Created a community library for Pololu’s Tic stepper motor controller - my first ground-up CircuitPython driver library
   * Forked the adafruit_rtttl library into a one that can play RTTTL music on a stepper motor
* This week:
   * Trying to get “Steppotron” built in a housing that will amplify the noise, and exploring the MIDI libraries to see about getting it working with a MIDI controller
## In The Weeds
42:31 @jepler - cookiecutter compatibility with Windows systems. We use the vertical bar character (“|”) in filenames where the name of the file is the result of applying a template: `{{ cookiecutter and 'tmp_repo' }}/examples/{{ cookiecutter.library_name | lower | replace(\" \", \"_\") }}_simpletest.py`
This character (and, incidentally, the double quote character) are not permitted in filenames on Windows, so cookiecutter fails. This is vexing to people who use that OS.


There’s an official fix but it requires use of cookiecutter 2.0.2. For various reasons, this is not directly installable from pypi as cookiecutter, and does have incompatible changes vs 1.x. Is the slight inconvenience of installing it from github ‘worth’ fixing this for Windows users? 
Issue: https://github.com/adafruit/cookiecutter-adafruit-circuitpython/issues/123
Possible fix: https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/177


## 53:46 Wrap-Up