# CircuitPython Weekly for December 20th, 2021

Jeff is hosting.


Video is available [on YouTube](https://youtu.be/Bs3a7uV--0A).


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:47  Community News
Adafruit Appears on The Pi Cast, Talking About the KB2040 Board for Custom Keyboards

A retro RPN calculator emulator project using the Adafruit PyPortal Titano with CircuitPython. With the user interface mostly done, next is the calculator emulation - Twitter and YouTube.

Making a rhombicosidodecahedron tree topper lit by 5 RGB LEDs poweres by a Raspberry Pi Pico and CircuitPython - Age of Awareness and YouTube.

The Idiot-Proof Guide to Upgrading Raspberry Pi from Buster to Bullseye

A Guide to Upgrading Raspberry Pi from Buster to Bullseye (note: not recommended by the Raspberry Pi Foundation but this preserves your installed packages) - Blues Wireless.

Lego base plates for STEMMA boards! 3D Printed holders feature built-in standoffs for press fitting PCBs. STEMMA boards plug-and-play with various devices and accessories, without any soldering - Twitter, YouTube and Adafruit Learning System.




### 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.
## 7:22 State of CircuitPython, Libraries and Blinka
### Overall


* 49 pull requests merged
  * 25 authors - TonyLHansen, FlantasticDan, CesarChavezRico, FoamyGuy, wtuemura, makermelissa, NathanY3G, vpothukuchi, joebaird, timhawes, WarriorOfWire, tannewt, bergdahl, jpconstantineau, dhalbert, jepler, weblate, ladyada, Neradoc, rsbohn, 300bps, dronecz, tekktrik, asura99, dunkmann00
  * 10 reviewers - dhalbert, jepler, ladyada, FoamyGuy, kattni, KeithTheEE, makermelissa, microDev1, gamblor21, tannewt
* 38 closed issues by 11 people, 31 opened by 23 people


### 8:55 Core
* 23 pull requests merged
  * 15 authors - jpconstantineau, dhalbert, jepler, tannewt, ladyada, wtuemura, rsbohn, NathanY3G, bergdahl, timhawes, dronecz, WarriorOfWire, asura99, dunkmann00, weblate
  * 6 reviewers - microDev1, jepler, dhalbert, ladyada, FoamyGuy, tannewt
* 12 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5298 (Open 107 days)
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 95 days)
  * https://github.com/adafruit/circuitpython/pull/5422 (Open 78 days)
  * https://github.com/adafruit/circuitpython/pull/5453 (Open 70 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 59 days)
  * https://github.com/adafruit/circuitpython/pull/5551 (Open 44 days)
  * https://github.com/adafruit/circuitpython/pull/5613 (Open 26 days)
  * https://github.com/adafruit/circuitpython/pull/5711 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/5726 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/5718 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/5735 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/5744 (Open 2 days)
* 11 closed issues by 5 people, 9 opened by 9 people
* 465 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 7.1.0: 0 open issues
  * 7.x.x: 18 open issues
  * 8.0.0: 10 open issues
  * Libraries: 17 open issues
  * Long term: 409 open issues
  * Support: 7 open issues
  * 4 issues not assigned a milestone


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


### 11:36 Libraries
* 21 pull requests merged
  * 8 authors - dhalbert, TonyLHansen, FlantasticDan, FoamyGuy, Neradoc, 300bps, joebaird, tekktrik
  * 6 reviewers - dhalbert, FoamyGuy, gamblor21, kattni, KeithTheEE, tannewt
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MAX7219/pull/37 (Days open: 65)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/116 (Days open: 54)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/57 (Days open: 19)
    * https://github.com/adafruit/Adafruit_CircuitPython_BluefruitConnect/pull/33 (Days open: 13)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/357 (Days open: 13)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/pull/54 (Days open: 8)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/60 (Days open: 6)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/87 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/pull/22 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_PYOA/pull/29 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/147 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PYOA/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/pull/56 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BoardTest/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_CursorControl/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/pull/23 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/67 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/65 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FRAM/pull/31 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_asyncio/pull/11 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/359 (Days open: 1)
  * 49 open pull requests (Oldest: 731, Newest: 1)
* 27 closed issues by 9 people, 19 opened by 13 people
  * 643 open issues
  * 250 good first issues
* https://circuitpython.org/contributing

Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_TinyLoRa](https://github.com/adafruit/Adafruit_CircuitPython_TinyLoRa)
 * [Adafruit_CircuitPython_Display_Shapes](https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes)
 * [Adafruit_CircuitPython_GPS](https://github.com/adafruit/Adafruit_CircuitPython_GPS)
 * [Adafruit_CircuitPython_seesaw](https://github.com/adafruit/Adafruit_CircuitPython_seesaw)
 * [Adafruit_CircuitPython_PyPortal](https://github.com/adafruit/Adafruit_CircuitPython_PyPortal)
 * [Adafruit_CircuitPython_RTTTL](https://github.com/adafruit/Adafruit_CircuitPython_RTTTL)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_PyBadger](https://github.com/adafruit/Adafruit_CircuitPython_PyBadger)
 * [Adafruit_CircuitPython_MAX7219](https://github.com/adafruit/Adafruit_CircuitPython_MAX7219)
 * [Adafruit_CircuitPython_DisplayIO_Layout](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout)
 * [Adafruit_CircuitPython_FRAM](https://github.com/adafruit/Adafruit_CircuitPython_FRAM)
 * [Adafruit_CircuitPython_asyncio](https://github.com/adafruit/Adafruit_CircuitPython_asyncio)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [Adafruit_Blinka_Displayio](https://github.com/adafruit/Adafruit_Blinka_Displayio)
 * [Adafruit_Python_PlatformDetect](https://github.com/adafruit/Adafruit_Python_PlatformDetect)


### 14:31 Blinka
* 5 pull requests merged
  * 5 authors - makermelissa, FoamyGuy, CesarChavezRico, tekktrik, vpothukuchi
  * 2 reviewers - makermelissa, FoamyGuy
* 6 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 313 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 147 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 73 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 13 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/531 (Open 5 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/76 (Open 0 days)
* 0 closed issues by 0 people, 3 opened by 3 people
* 68 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 14704
Number of supported boards: 85


## 15:28 Hug reports


@jepler (host)
* @danh for talking through the cascadetoml stuff & quick reviews
* @tannewt for running the meeting while I was on vacation
* Group holiday hug


16:13 @charlesburnaford (lurking)
* Group Hug and a Happy Holidays


16:22 @danh
* @tekktrik for taking on a number of type annotations for libraries
* @timhawes and @microdev for fixing exception issues
* @rick.james for patience on the internal pullups PR


17:17 @david.glaude (lurking)
* @PaintYourDragon (Phillip Burgess) for updating New Year matrix portal demo to 2022.
* @foamyguy for the stream and library that make eeprom more accessible from CP: https://github.com/FoamyGuy/Adafruit_CircuitPython_24LC32
* @tekktrik for solving issue I totally forgot about, and more importantly for contributing to FoamyGuy eeprom library
* @AnneB for the learn guide on WebNFC: https://learn.adafruit.com/using-webnfc
* @JP for the Product Pick of the Week 11/24/20 on ST25DV16 NFC Tag: https://www.youtube.com/watch?v=Jn-yGtRi_gs


17:57 @foamyguy (Probably won’t be able to attend today)
* @tekktrik for submitting many typing PRs and other various fixes across several libraries
* @makermelissa for updating blinka_displayio to match the latest API for core displayio and adding typing information to it.
* @warriorofwire for updating vectorio Rectangle to have mutable size.
* @dglaude for testing out the EEPROM library on some different devices including the NFC breakout
* @Group hug 


18:32 @kattni
* All the supportive thoughts from folks regarding my move
* Sam’s Moving for coming in at the last minute and doing an amazing job
* Everyone for keeping up with things while I was out last week.
* More I’m sure I’m missing
* Group hug!


19:00 @MakerMelissa
* @foamyguy for reviewing my Blinka Displayio update PR so quickly
* @lesamouraipoupre for the Blinka Displayio rewrite which I have been referencing while updating Blinka Displayio
* Group Hug


19:37 @mark(gamblor) [lurking]
* Group holiday hug


19:44 @tannewt
* @rick.james for diving into the core
* Thank you all for a great year of CircuitPython. I look forward to next year.
## 20:13 Status Updates


20:31 @jepler (host)
* Last week: short week, worked on some minor bugs
* This week: 
   * finishing my 3d printed led lamp project. 
   * Work on image filtering (“separable filter”) for blur/sharpen/edge detect. Will go in bitmaptools, operating on 16-bit RGB images and MAYBE grayscale images.
* Out Friday, maybe part of Thursday


21:37 @danh
* Fixed bundle issues with asyncio and circup updates.
* Update circuitpython.org library page to remove 6.x bundles and update other things.
* Other infrastructure updates.
* Continuing to verify and fix remaining 7.x.x issues. Working on wakeup alarm issue right now.


23:04 @david.glaude (lurking)
* Use Arduino (almost totally new for me) to:
   * Write some NDEF data into ST25DV16K from a QT-Py
   * Compile and upload the 2022 Matrix Portal update from @PaintYourDragon 
* CP:
   * Writing URI in NDEF format into an ST25DV16 NFC Tag using a modified version of FoamyGuy “eeprom” library: https://gist.github.com/dglaude/6e1fbe1e2c2d1222f99872a506a48a2b
* Searching (and finding) all the Adafruit products I have with “eeprom” and currently not supported in CP.


23:44 @foamyguy(Probably won’t be able to attend today)
* Last week
   * More PR reviews. One cool one was MAX7219 chained matrix support.
   * Testing and small fixes in circup related to removing support for 6.x bundle
   * Worked on driver library for 24LC32 - I2C EEPROM breakout
* This week
   * Keep going on open PRs
   * Resolve issues in TileGrid properties PR
   * Look into generalizing the NVM Helper library recently created to work on EEPROM and other storage that gets treated like bytearrays


24:23 @kattni
* Last week:
   * A bunch of misc. 
   * Moved from Canada back to the US.
   * Started unpacking
* This week:
   * Get caught up
   * Start guide for QT Py ESP32-S2
   * Start guide for another new product
   * More misc
   * Off at least Thursday-Friday


25:54 @MakerMelissa
* Last Week:
   * Worked on updating Blinka Displayio to the latest CircuitPython 7 in terms of the API
      * Took me a bit to refamiliarize myself with the code since it had been  a while since I had worked on it.
      * I was able to fix some of the APIs I had deviated on originally so they are more consistent to the original code.
      * Added Typing information to everything
   * Reviewed a bunch of PRs
* Next 2 Weeks:
   * Short week and out next week. Will be gone from the 24th and back on the 3rd.
   * Working on splitting common blinka displayio functions into a displaycore module like in the official displayio.
   * Will try adding more features that were missing after that.


27:19 @mark(gamblor) [lurking]
* Completing some performance test to validate if PR #5726 is worthwhile. Will post the results in the PR for discussion (or for discussion in the weeds at some point).


27:22 @tannewt
* Short week this week and next. I’m out the next two Fridays and Mondays.
* I want to work on Raspberry Pi Zero support this week.
* I’ll go through email and reviews this week too.
* May work on KB2040 keyboard too.
* Talking about KB2040 keyboard on Tom’s Hardware tomorrow.
* CircuitPython2022 starting in 
## 30:52 In The Weeds
31:22 @foamyguy (May not be able to attend for this discussion. Will listen to replay if I don’t make it back, or we can hold off and discuss next week.)
Driver library for I2C EEPROM - https://www.adafruit.com/product/5146
        
Should this get it’s own library or be included in the existing FRAM library.


If it gets its own new library should it be specific like Adafruit_CircuitPython_24LC32? or more general like Adafruit_CircuitPython_EEPROM and eventually it could support other devices as well. I’m leaning toward more general because it has been discovered to work successfully with other EEPROM devices.


List (by @David.Glaude) of interesting product with “eeprom” that need CP love:
   * Adafruit ATtiny817 Breakout with seesaw (https://www.adafruit.com/product/5233)
   * Adafruit ATSAMD09 Breakout with seesaw (https://www.adafruit.com/product/3657)
   * Adafruit ST25DV16K I2C RFID EEPROM Breakout (https://www.adafruit.com/product/4701)
   * Adafruit 24LC32 I2C EEPROM Breakout (https://www.adafruit.com/product/5146)




32:35 @danh
* Python version to specify in CI jobs. 3.6 is too old in a number of cases now. Could update to 3.9 or 3.10, but how about just “3”?


36:22 @tannewt
* 7.1.0 stable soon?
   * One more issue to fix. Added a 7.2 milestone for the next stable release.
   * Once 7.1.0 is stable, we can then do a 7.2 beta as well.


## 40:47 Wrap-Up
The last meeting of the year will be on Monday, December 27 at the usual time.
