# CircuitPython Weekly for March 22, 2022
Jeff is hosting.


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


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.
## 3:02 Community News


A Focus on This Week's Python Streams

Python on Hardware is all about building a cooperative ecosphere which allows contributions to be valued and to grow knowledge.
This week's newsletter has an overview the streams within the last week focusing on the community.

### 5:31 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:49 State of CircuitPython, Libraries and Blinka
### 7:08 Overall
* 39 pull requests merged
  * 22 authors - makermelissa, Nico04, wtuemura, tannewt, shawaj, tekktrik, ladyada, infamy, masgari, Neradoc, weblate, dhalbert, U47, BytEvil, ZodiusInfuser, prplz, winneymj, fabaff, arms22, bergdahl, jerryneedell, nicolasff
  * 8 reviewers - FoamyGuy, makermelissa, dhalbert, tannewt, gamblor21, tekktrik, ladyada, brentru
* 31 closed issues by 11 people, 17 opened by 14 people


### 9:00 Core
* 15 pull requests merged
  * 11 authors - weblate, dhalbert, wtuemura, tannewt, ZodiusInfuser, prplz, fabaff, ladyada, arms22, bergdahl, nicolasff
  * 4 reviewers - tannewt, ladyada, gamblor21, dhalbert
* 10 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 186 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 150 days)
  * https://github.com/adafruit/circuitpython/pull/5852 (Open 66 days)
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 39 days)
  * https://github.com/adafruit/circuitpython/pull/6029 (Open 35 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 33 days)
  * https://github.com/adafruit/circuitpython/pull/6069 (Open 29 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/6175 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/6176 (Open 1 days)
* 13 closed issues by 6 people, 5 opened by 5 people
* 505 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 7.2.x: 0 open issues
  * 7.3.0: 5 open issues
  * 7.x.x: 24 open issues
  * 8.0.0: 10 open issues
  * Libraries: 18 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


### 12:11 Libraries
* 22 pull requests merged
  * 10 authors - masgari, Neradoc, makermelissa, Nico04, dhalbert, U47, winneymj, tekktrik, jerryneedell, infamy
  * 7 reviewers - ladyada, FoamyGuy, makermelissa, dhalbert, tannewt, brentru, tekktrik
  * Merged pull requests:
   * https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR/pull/23 (Days open: 11)
   * https://github.com/adafruit/Adafruit_CircuitPython_ST7565/pull/4 (Days open: 9)
   * https://github.com/adafruit/Adafruit_CircuitPython_WSGI/pull/13 (Days open: 6)
   * https://github.com/adafruit/Adafruit_CircuitPython_SSD1322/pull/16 (Days open: 4)
   * https://github.com/adafruit/Adafruit_CircuitPython_ST7789/pull/31 (Days open: 3)
   * https://github.com/adafruit/Adafruit_CircuitPython_FXOS8700/pull/27 (Days open: 2)
   * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/54 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_AMG88xx/pull/37 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_Pixelbuf/pull/5 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/64 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_Colorsys/pull/19 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1106/pull/9 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1106/pull/8 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/pull/26 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107/pull/13 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_Ducky/pull/4 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_FocalTouch/pull/25 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_SSD1322/pull/15 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/pull/55 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/pull/53 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_ST7789/pull/30 (Days open: 1)
   * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/373 (Days open: 1)
  * 25 open pull requests (Oldest: 538, Newest: 1)
* 14 closed issues by 7 people, 8 opened by 5 people
  * 611 open issues
  * 204 good first issues
* https://circuitpython.org/contributing

# Library updates in the last seven days:
 * [Adafruit_CircuitPython_BLE_LYWSD03MMC](https://github.com/adafruit/Adafruit_CircuitPython_BLE_LYWSD03MMC)
 * [Adafruit_CircuitPython_APDS9960](https://github.com/adafruit/Adafruit_CircuitPython_APDS9960)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
 * [Adafruit_CircuitPython_VL53L0X](https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X)
 * [Adafruit_CircuitPython_MagTag](https://github.com/adafruit/Adafruit_CircuitPython_MagTag)
 * [Adafruit_CircuitPython_RPLIDAR](https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR)
 * [Adafruit_CircuitPython_Wiznet5k](https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k)
 * [Adafruit_CircuitPython_AMG88xx](https://github.com/adafruit/Adafruit_CircuitPython_AMG88xx)
 * [Adafruit_CircuitPython_PortalBase](https://github.com/adafruit/Adafruit_CircuitPython_PortalBase)
 * [Adafruit_CircuitPython_WSGI](https://github.com/adafruit/Adafruit_CircuitPython_WSGI)
 * [Adafruit_CircuitPython_Colorsys](https://github.com/adafruit/Adafruit_CircuitPython_Colorsys)
 * [Adafruit_CircuitPython_FXOS8700](https://github.com/adafruit/Adafruit_CircuitPython_FXOS8700)
 * [Adafruit_CircuitPython_Ducky](https://github.com/adafruit/Adafruit_CircuitPython_Ducky)
 * [Adafruit_CircuitPython_SSD1322](https://github.com/adafruit/Adafruit_CircuitPython_SSD1322)
 * [Adafruit_CircuitPython_LSM6DS](https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS)
 * [Adafruit_CircuitPython_ST7565](https://github.com/adafruit/Adafruit_CircuitPython_ST7565)
 * [Adafruit_CircuitPython_ST7789](https://github.com/adafruit/Adafruit_CircuitPython_ST7789)
 * [circuitpython](https://github.com/adafruit/circuitpython)
 * [Adafruit_Python_PlatformDetect](https://github.com/adafruit/Adafruit_Python_PlatformDetect)


### 14:12 Blinka
* 2 pull requests merged
  * 2 authors - BytEvil, shawaj
  * 1 reviewers - makermelissa
* 6 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 404 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 238 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 164 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 104 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/222 (Open 19 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/566 (Open 3 days)
* 4 closed issues by 3 people, 4 opened by 4 people
* 72 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 13161
Number of supported boards: 87
## 15:00 Hug reports


@jepler (hosting)
* @foamyguy it was great to meet you and hang out a little bit!
* @tannewt for picking up and finishing the MDNS work I started a month or so ago
* Group hug. Working on floppies is fun but I am also looking forward to getting more focused on CircuitPython soon


16:10 @danh
* @tannewt and @jepler for mDNS work, which will be really interesting and useful.


16:31 @foamyguy
* @jepler - was great to meet and hang out. Looking forward to next time in your neck of the woods.
* @WarriorOfWire for pointing me in the right direction on some vectorio changes
* @kmatch and @josedavid for sharing a vectorio function to create lines of specified thickness
* @evaherrada for showing myself and Kattni the ropes of automated adabot patches


17:25 @jerryn
* Good luck to @tannewt
* Group hug!


17:41 @kattni
* @Eva for teaching Foamyguy and I about Adabot patches, and providing a notes document to go along with it
* @foamyguy for always being up to take on side quests
* @tammymakesthings for a lovely chat.
* Group hug!


18:05 @kmatch
* @foamyguy for the vectorio helpers stream and creating the new library https://github.com/circuitpython/VectorIO_Helpers
* @tannewt for continued guidance on the ESP32-S3 RGB display
* On GitHub, thanks to suda-morris (from Espressif?) for fixes to ESP-IDF for parallel displays


18:45 @makermelissa
* @Danh for helping out with some Blinka issues
* Group Hug


19:04 @mark(gamblor) [lurking/away to start]
* Group hug!


19:11 @Paul Cutler
* @foamyguy for his Winamp PyPortal code & learn guide - and for the pointers in helping me with my PyPortal this week


19:26 @tammymakesthings 
* @tannewt for helping me figure out a CircuitPython build issue last night
* @foamyguy for great livestreams recently
* @kattni for a lovely chat the other day
* Group hug!


19:54 @tannewt
* @prplz for the eyes on my pending C3 PR and a suggested fix.
* @deshipu for explaining on Discord why saying RTFM is unhelpful.


20:41 @tekktrik (Text only, lurking)
* @foamyguy, @danh, and @neradoc for reviewing my PRs over the last week
* @foamyguy for having a diligent eye when it comes to typing PRs
* Group hug!


## 21:02 Status Updates


21:29 @jepler
* Last week: Finished up floppy interfacing to the Apple “Disk II” though there are still two more PRs to get merged, in fluxengine and greaseweazle
* This week: May be the last week of floppy work, at least for a bit. Adding “.woz” as an input/output format for fluxengine, for better interfacing to the world of Apple II floppy disks.  “.woz” is the most widely used format, so it’s what we’re going to add.


22:00 @danh
* Released CircuitPython 7.2.2 and 7.2.3 on Tuesday and Wednesday, after 7.2.1 release on Monday, to fix auto-reload several times, and add _bleio back to MatrixPortal. Your daily dose of CircuitPython! There is still one reload problem, but it is not as pervasive.
* Working on adafruit_requests library. First step is cleanup. Second step is to change which exceptions are raised, mimicking CPython requests more closely. We may need to revise some examples. Third step is to add async capability.


23:14 @foamyguy
* Last week
   * Sweep thru open PRs for review and testing. Have a few to follow up on in the coming week
   * Made a Feather TFT port of the Timestamper code that I use when hosting the meeting and deep dive streams.
   * Worked on an enhancement in vectorio core module to allow the user to specify the color index to use for coloring the shape. Previous default was always the 0 index color in the palette
   * Created a new VectorIO_Helpers library in the CP Org that can hold python level helper code that provides some higher level access to more complex shapes. The first two things are the Line class and OutlinedRectangle 
* Next week
   * Do some testing and RAM measurement of the OutlinedRectangle class and see if it actually offers savings over the analogous Bitmap based class in the display_shapes library
   * Page in the sharing a library guide about typing. Meant to write this last week, got a few notes down in a local file but didn’t get it all out of my head.


25:10 @jerryn
* Fixed the sensor  temperature calculation in the lsm6d library. An incorrect conversion was being applied. 
* Found that rshell works well with the esp32c3 - with a minor tweak to import binascii if it cannot find ubinascii. Submitted a PR https://github.com/dhylands/rshell/pull/181.
   * Rshell can only write to boards that have writable file systems. The ESP32C3 FS is writable by default since it has no native USB. Most are not. Rshell can read and access the REPL for any build with binascii (not available in samd21 builds)
   * There is a similar PR pending for ampy.


27:21 @kattni
* Last week:
   * Worked with Liz to get her started on product guides - she got two new product guides in moderation!
   * Got caught up on blogging new/updated guides
   * Updated a couple of guides, one new (QT Py ESP32-C3) and one needing updates (Ultimate GPS).
* Today so far:
   * Fixed the ESP32-S2 CircuitPython Internet Test page that’s mirrored into a ton of other guides to not need a separate Libraries page, and to make it ESP32-agnostic to be ready for S3/C3, and mirrored it into the last of the ESP32-S2 guide.
   * Deleted the obsolete CircuitPython Internet Libraries page.
* This week:
   * Work with Liz to get her started with STEMMA QT revision guide updates
   * Update my MicroPython PR to get it passing CI
   * Update the Feather ESP32-S2 page to reflect a change in the low power pin
   * Strengthen the WiFi example in the Adafruit IO template so it won’t crash when WiFi connectivity is lost
   * Run my first Adabot patch to update the Black version in pre-commit.
   * Various misc.
   * Essentials template for asyncio


29:38 @kmatch
* Verified that a recent commit to the ESP-IDF resolves issues I identified with the ESP32-S3 RGB display ESP-IDF 
* Made a Stemma QT pluggable sensor slot, 3D printed https://hackaday.io/project/184474-stemma-qt-slot
* Dusted off some vectorio helper code from work with @jposada202020 for drawing lines between two points with a given width.
* Discovered there is a lot of work necessary to connect a bunch of lines together so they look good, including a special area of math, see “offset polygons”
* This week: 
   * Take first cut at plugging in ESP32-S3 RGB display into displayio.


31:07 @makermelissa
* Last Week:
   * Rewrote both the MagTag and PyPortal Google Calendar learn guide examples to work on CircuitPython 7.x by making better use of the Portal libraries
   * Started working on 1.47” and 1.9” display guides by getting some templates ready and adding CircuitPython and Python examples for the displays
* This Week:
   * Continue display guides once the templates have been approved


31:57 @mark(gamblor) [ lurking / away to start ]
* Want to finish the zlib module
* Dealing with an insurance claim due to an ice dam leaking into my house and finding vermiculite insulation in my attic so time to do fun projects has been limited.


32:18 @tammymakesthings 
* Working on my livestream projects - almost done with a MacroPad MIDI controller project I’ve been developing on-stream, and thinking about next projects.
* Figured out a fix for the problem I’ve been having with @mraleson’s Piku tool on rp2040 boards. Need to test my fix and submit a PR.
* In my last couple weeks in my present job before I start a new role as a Python data engineer on April 11, so my availability is likely to be limited until then.


33:27 @tannewt
* Waiting for the baby to arrive. Due on Friday.
* Did more work on reload last week.
* Working to add mdns module.
* Laid out how a web workflow would work. Mdns is helpful for it.
* Side quest getting CP going on the QT Py C3 by getting serial going over the Serial/JTAG USB. Should be out for review today.
* C3 PR also revamps code size check for ESP builds. It was hard coded for S2 only before.


36:58 @tekktrik (text only - thanks!)
* Last week
   * Forever slowly burning down the number of type annotation PRs
   * Submitted PR for using multiple WiFi setting in the PortalBase library
   * Fixing some mismatched parameter types in the display driver libraries 
   * Finalizing adding iterable touchpad functionality to the CircuitPlayground library
   * Making errors due to faulty user code in the WSGI library easier to understand
   * Getting my new laptop set up with a proper
Linux environment - Goodbye WSL!
* This week
   * Looking for older issues to tackle in the libraries
## 37:55 In The Weeds


@kmatch - I’m beginning the process of adding ESP32-S3 ability to draw to RGB “dot-clock” displays. I see that “paralleldisplay” is now a separate module. Should something like “dotclockdisplay” be another module? What’s a good name?


@kmatch Building CP on ESP: Can I build CP with a different version of the ESP-IDF?
@jepler: Right now, all circuitpython builds in a given branch are with the same ESP-IDF version. You can of course try a different version locally just by checking out the ref you need, but so far we’ve been able to keep all builds on one ESP-IDF version


42:59 @tammymakesthings Do we have a good way on our host (ie, Win/Mac/Linux) systems to find out the architecture of the board connected to the computer? For my fix to @mraleson’s Piku tool, I’m currently reading and parsing boot_out.txt on the CIRCUITPY drive, but is there a better or more idiomatic way to accomplish the same thing? Would it be useful to have a library that does this in a standardized way?
@danh: Adafruit_Board_Toolkit would be a good place to put this functionality. You could also look at the USB PID/VID of the board, but we’d need to keep a table somewhere.
Also check out discotool by @neradoc.
## 48:59 Wrap-Up
Next meeting: March 28
