# CircuitPython Weekly for December 13, 2021

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


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.
## 2:57 Community News
### 3:22 PyLeap App Goes into Official Beta Test
PyLeap is an app for iOS and iPadOS. It allows you to collect complete projects from the Adafruit Learn System, and transfer them directly to your Circuit Playground Bluefruit without opening a code editor or connecting to a computer. Send files and libraries directly to your Bluefruit device without a desktop computer! - [Adafruit Blog](https://blog.adafruit.com/2021/12/10/adafruitlearningsystem-weekly-pyleap/).


You can read more in the official guide on the Adafruit Learning System: [PyLeap App](https://learn.adafruit.com/pyleap-app)
### 4:10 CircuitPython 7.1.0 Beta 3 is Available
CircuitPython 7.1.0-beta.3 is available, the fourth beta release for CircuitPython 7.1.0. It is relatively stable, but contains issues to address for 7.1.0. The main addition to this beta over the last is addition of Non-OS ("bare metal") versions of CircuitPython for some Broadcom-based Raspberry Pi single board computers - [GitHub](https://github.com/adafruit/circuitpython/releases).


Notable additions to 7.1.0 since 7.0.0:
* Initial port for Raspberry Pi Broadcom-based boards.
* `keypad.Events` now include timestamps.
* The Espressif port now provides I2CPeripheral, WiFi monitor mode, ESP32-C3 support, and ParallelImageCapture.
* bitmaptools: dithering and alphablend are new.
* Preliminary support for asyncio is included. Use the CircuitPython asyncio library.
* `gifio.GifWriter` is new.
* HID now provides boot device and feature report support.
* rotaryio now allows setting the divisor of counts per transition.
* The SAMD port now provides watchdog and alarm with sleep.
* The STM port now provides STM32L4R5 support.
* MicroPython 1.17 has been merged in.
* Russian translation.
* Preliminary support for `asyncio` is included. Use the [CircuitPython asyncio library](https://github.com/adafruit/Adafruit_CircuitPython_asyncio).


### 5:42 Boston College Students Demonstrate their Final Projects Using CircuitPython
Professor John Gallaugher teaches an excellent class on using microcontrollers to non-engineering students. For the students' final projects, they built a number of devices using CircuitPython in innovative ways. Here are some of the projects as [posted on Twitter](https://twitter.com/gallaugher).


A personal assistant robot named Popcorn - [Twitter](https://twitter.com/gallaugher/status/1469129837038215173).


A 3D printed, motorized Iron Man helmet with a heads-up display on a Raspberry Pi 4 plus Adafruit Crickit HAT running CircuitPython - [Twitter](https://twitter.com/gallaugher/status/1469133751628500993).


An electronic fish feeder with CircuitPython - [Twitter](https://twitter.com/gallaugher/status/1469035642529230857).


### 6:29 A deep dive into Raspberry Pi Zero 2 W power consumption
Raspberry Pi Zero 2 W power consumption is measures with various peripherals on and being used and some of those turned off. This is a great baseline for comparing with [Bare Metal (No OS) CircuitPython](https://circuitpython.org/board/raspberrypi_zero2w/) on the board - [CNX Software](https://www.cnx-software.com/2021/12/09/raspberry-pi-zero-2-w-power-consumption/) via [Twitter](https://twitter.com/adafruit/status/1469290818506788867).
### 6:59 GitHub Code Search Technology Preview
GitHub is rolling out a technology preview for substantial improvements to searching code on the platform. A survey must be filled out for access. if granted, it'll be located at https://cs.github.com/. The search index covers more than five million of the most popular public repositories; in addition, you can search private repositories you have access to - [GitHub Blog](https://github.blog/2021-12-08-improving-github-code-search/).
### 7:35 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.
## 8:23 State of CircuitPython, Libraries and Blinka
### 8:46 Overall
* 55 pull requests merged
  * 26 authors - dhalbert, tekktrik, jpconstantineau, tannewt, FoamyGuy, anecdata, garrettheath4, mrdalgaard, romilly, jposada202020, waiweng83, prplz, weblate, caternuson, jepler, lesamouraipourpre, RufusVS, hugodahl, skerr92, guyfawcus, todbot, ZodiusInfuser, keenanjohnson, kattni, jerryneedell, coloradocarlos
  * 13 reviewers - ladyada, dhalbert, makermelissa, tannewt, FoamyGuy, jerryneedell, KeithTheEE, anecdata, microDev1, caternuson, jepler, kattni, brentru
* 22 closed issues by 9 people, 20 opened by 17 people


### 10:00 Core
* 27 pull requests merged
  * 9 authors - dhalbert, skerr92, jpconstantineau, tannewt, waiweng83, prplz, weblate, ZodiusInfuser, jepler
  * 6 reviewers - dhalbert, ladyada, tannewt, jepler, anecdata, microDev1
* 11 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5298 (Open 100 days)
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 88 days)
  * https://github.com/adafruit/circuitpython/pull/5422 (Open 71 days)
  * https://github.com/adafruit/circuitpython/pull/5453 (Open 63 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 52 days)
  * https://github.com/adafruit/circuitpython/pull/5551 (Open 37 days)
  * https://github.com/adafruit/circuitpython/pull/5597 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/5613 (Open 19 days)
  * https://github.com/adafruit/circuitpython/pull/5699 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/5709 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/5708 (Open 0 days)
* 8 closed issues by 3 people, 11 opened by 10 people
* 463 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 7.1.0: 0 open issues
  * 7.x.x: 20 open issues
  * 8.0.0: 10 open issues
  * Libraries: 17 open issues
  * Long term: 405 open issues
  * Support: 6 open issues
  * 5 issues not assigned a milestone


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


### 12:10 Libraries
* 25 pull requests merged
  * 17 authors - dhalbert, tekktrik, FoamyGuy, anecdata, garrettheath4, mrdalgaard, romilly, jposada202020, caternuson, jepler, lesamouraipourpre, RufusVS, hugodahl, guyfawcus, todbot, kattni, jerryneedell
  * 10 reviewers - ladyada, makermelissa, tannewt, FoamyGuy, jerryneedell, KeithTheEE, caternuson, jepler, kattni, brentru
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver/pull/15 (Days open: 280)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/131 (Days open: 255)
    * https://github.com/adafruit/Adafruit_CircuitPython_JTAG/pull/1 (Days open: 225)
    * https://github.com/adafruit/Adafruit_CircuitPython_Gizmo/pull/17 (Days open: 218)
    * https://github.com/adafruit/Adafruit_CircuitPython_ADT7410/pull/17 (Days open: 203)
    * https://github.com/adafruit/Adafruit_CircuitPython_BME680/pull/43 (Days open: 138)
    * https://github.com/adafruit/Adafruit_CircuitPython_Logging/pull/19 (Days open: 123)
    * https://github.com/adafruit/Adafruit_CircuitPython_PYOA/pull/25 (Days open: 121)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/68 (Days open: 95)
    * https://github.com/adafruit/Adafruit_CircuitPython_FunHouse/pull/21 (Days open: 93)
    * https://github.com/adafruit/Adafruit_CircuitPython_ProgressBar/pull/36 (Days open: 25)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone/pull/15 (Days open: 22)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/58 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_RFM69/pull/41 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_LTR390/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Slideshow/pull/41 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OV5640/pull/10 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/81 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RTTTL/pull/29 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RTTTL/pull/27 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GPS/pull/76 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_seesaw/pull/90 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/pull/46 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/76 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MCP9808/pull/33 (Days open: 1)
  * 56 open pull requests (Oldest: 724, Newest: 1)
* 13 closed issues by 6 people, 8 opened by 7 people
  * 644 open issues
  * 258 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_asyncio](https://github.com/adafruit/Adafruit_CircuitPython_asyncio)
 * [Adafruit_CircuitPython_DS3231](https://github.com/adafruit/Adafruit_CircuitPython_DS3231)
 * [Adafruit_CircuitPython_MatrixPortal](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal)
 * [Adafruit_CircuitPython_CharLCD](https://github.com/adafruit/Adafruit_CircuitPython_CharLCD)
 * [Adafruit_CircuitPython_ESP_ATcontrol](https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol)
 * [Adafruit_CircuitPython_FRAM](https://github.com/adafruit/Adafruit_CircuitPython_FRAM)
 * [Adafruit_CircuitPython_RFM9x](https://github.com/adafruit/Adafruit_CircuitPython_RFM9x)
 * [Adafruit_CircuitPython_binascii](https://github.com/adafruit/Adafruit_CircuitPython_binascii)
 * [Adafruit_CircuitPython_DisplayIO_Layout](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout)
 * [Adafruit_CircuitPython_LTR390](https://github.com/adafruit/Adafruit_CircuitPython_LTR390)
 * [Adafruit_CircuitPython_ADT7410](https://github.com/adafruit/Adafruit_CircuitPython_ADT7410)
 * [Adafruit_CircuitPython_BitmapSaver](https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver)
 * [Adafruit_CircuitPython_BLE_Eddystone](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone)
 * [Adafruit_CircuitPython_Slideshow](https://github.com/adafruit/Adafruit_CircuitPython_Slideshow)
 * [Adafruit_CircuitPython_OV5640](https://github.com/adafruit/Adafruit_CircuitPython_OV5640)
 * [Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)
 * [Adafruit_CircuitPython_ESP32SPI](https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI)
 * [Adafruit_CircuitPython_BME680](https://github.com/adafruit/Adafruit_CircuitPython_BME680)
 * [Adafruit_CircuitPython_RFM69](https://github.com/adafruit/Adafruit_CircuitPython_RFM69)
 * [Adafruit_CircuitPython_Gizmo](https://github.com/adafruit/Adafruit_CircuitPython_Gizmo)
 * [Adafruit_CircuitPython_FunHouse](https://github.com/adafruit/Adafruit_CircuitPython_FunHouse)
 * [Adafruit_CircuitPython_RTTTL](https://github.com/adafruit/Adafruit_CircuitPython_RTTTL)
 * [Adafruit_CircuitPython_ProgressBar](https://github.com/adafruit/Adafruit_CircuitPython_ProgressBar)
 * [Adafruit_CircuitPython_LSM6DS](https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS)
 * [Adafruit_CircuitPython_PYOA](https://github.com/adafruit/Adafruit_CircuitPython_PYOA)
 * [Adafruit_CircuitPython_MagTag](https://github.com/adafruit/Adafruit_CircuitPython_MagTag)
 * [Adafruit_CircuitPython_Logging](https://github.com/adafruit/Adafruit_CircuitPython_Logging)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)


### 14:54 Blinka
* 3 pull requests merged
  * 3 authors - coloradocarlos, FoamyGuy, keenanjohnson
  * 1 reviewers - makermelissa
* 5 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 306 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 140 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 66 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 6 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/202 (Open 1 days)
* 1 closed issues by 1 people, 1 opened by 1 people
* 65 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 15630
Number of supported boards: 85
## 15:42 Hug reports
16:04 @tannewt (host)
* @foamyguy for working more hours with adafruit and streaming when I don’t
* @kattni and @danh for switching days with me for running the meeting. Double hug to kattni for orchestrating it
* @brhoff720 from SparkFun for getting us a PID for the STM32 Thing Plus


17:11 @CGrover (text only)
* Group hug.
* @foamyguy as an official member of the Adafruit CircuitPython team.


18:51 @danh
* @foamyguy for finding the 7.1.0-beta.2 regression and providing good examples for reproducing the problem
* @jepler for reviews and fixes even while on vacation


17:45 @foamyguy
* @kattni @Jeff @Scott @Danh and honestly the whole community for being so welcoming to me joining the CircuitPython team.
* @Dexter Starboard for testing out an issue noticed on SAMD51 devices and sharing their findings.
* @Danh for looking into the SAMD51 issue and implementing a solution 


19:18 @g3holliday - text chat only
* group hug and a hug to @tannewt for CP on Pi and Neopixel support work
* @foamyguy - glad to see you are officially a member of the Adafruit family


19:36 @jepler
* @danh for bug hunting assistance & testing


19:45 @jerryn
* @tannewt for the pi-developer PCB on OSH Park
* @foamyguy glad to see you taking on an official role with Adafruit. 
* Group Hug


20:08 @kattni
* @foamyguy for joining the Adafruit team!
* @cater for helping with sorting out a table of all available addresses on the various STEMMA seesaw breakouts
* @foamyguy for working through library PRs
* @tannewt for swapping running the meeting for me today
* @danh for being the third player in the game of meeting-swapsies 
* Limor and PT for being incredibly flexible and supportive 


22:32 @MakerMelissa
* @foamyguy for joining the team
* @cater for adding all the U2IF boards to Blinka
* Group Hug


22:59 @Mark(Gamblor) [ Lurking ] 
* @kattni for a quick discussion on where to put some IS31FL3741 changes
## 23:20 Status Updates
@tannewt (host)
* Out this friday so no stream (or the two Fridays after that.)
* SPI support is checked into the broadcom port.
* This week will be working on neopixel support and old Zero support. Both are started but not finished.


24:41 @CGrover (text only)
* Had a significant breakthrough in understanding Python namespaces and class inheritance. Started to see some significant performance, memory management, and class UI improvements as previous code was updated with the new knowledge.
* Released new versions of the Scale, MagicEye, and BubbleDisplay retro DisplayIO widgets. The newest, BubbleDisplay, is a multi-digit, stackable, bubble-lens LED 7-segment display similar to those used on the HP-35 calculator. Each stackable 12-pin DIP-sized unit can contain from 1 to 5 digits.
*   * Plans are to wrap up four more retro widgets over the next week (Bargraph, NeoPixelStrip, PanelMeters, and AnalogClock). Going to resist the urge to refactor every previously-coded CircuitPython project to improve performance, given my newfound coding “hammer.”
* Back in the studio to track three new songs. I’m performing all the MIDI and acoustic instruments.


25:58 @danh
* Was able to reproduce an SD card problem using the SD cards I had on hand. Did a `git bisect` to find the code causing it, enabling @jepler to fix it quickly.
* 7.1.0 fixes:
* Fixed _bleio HCI support.
* Fixed a PWMOut problem on RP2040.
* Lengthened clock-stretching timeout for zero-length I2C writes on RP2040, fixing an issue with NeoSlider.
* Released 7.1.0-beta.2 with a bunch of fixes, including enabling sleep on all SAMx5x boards.
* Quickly releasing 7.1.0-beta.3, which fixes a regression caused by the SAMx5x sleep, manifested by odd problems with `displayio` and other things.


28:14 @foamyguy
* Last Week
  * Joined the Adafruit team. Finalized the details with my current employer Tuesday last week, starting at the beginning of the year I’ll be dedicating Monday’s to work on CircuitPython
  * Implemented width, height, tile_width, and tile_height “getter” properties in the core on TileGrid object. PR coming this week.
  * Some fixes and PR’d a new proposed feature for the PYOA library for setting the background color of text labels.
  * Created a demo to show how to store config / application state information persistently in NVM storage and showed on Show & Tell.
* This Week
  * Keep working through open PRs. Generally aiming for older ones, but mixing in some newer ones when they interest me specifically or I have the equipment to test / review nearby.
  * Add “Alt Click” functionality to CursorControl library which I implemented for a “slider puzzle” type game, but could be more generally helpful as well.
  * Streaming Friday evening while Scott is away.

31:27 @g3holliday -text chat
* working on a Neopixel spiral Christmas Tree with a Feather RP2040 - I’ll change it to a Pi soon. I’m also taking a break for Christmas starting Wednesday all the way through my birthday on January 2nd.


31:48 @jepler - missing meeting
* With Dan’s help, fixed an SD card problem that was vexing users
* I can take the December 20 meeting if nobody else has volunteered to
* Hiking in the Sedona area, it’s beautiful. Back “at work” Thursday.  


32:34 @jerryn
* Not sure what I did this week, but it was fun…
* Looking forward to populating my new pi-developer board to simplify broadcom port testing. This is an adapter by @tannewt that provides easier  JTAG, I2C and UART access to the Pi.




33:19 @kattni
* Last week:
  * Finished up NeoSlider guide
  * Posted the RP2040 PrettyPins diagrams where they needed to be
  * Wrote two Arduino starter templates for RP2040.
  * Added `create_and_get_feed` function to CircuitPython Adafruit IO library
  * Finished the KB2040 guide.
* Today so far:
  * Various misc on my list
  * Tested a PR
  * Merged a few PRs
  * Guide feedback
  * Added another option to template for installing UF2 bootloader for ESP32-S2, updated guides with that template in it
* Today:
  * Add the KB2040 to the Philhower Arduino core
  * Finish up any open-ended misc on my list
* The rest of this week:
  * Packing
  * Moving


36:57 @MakerMelissa
* Last Week
  * Updated several WebSerial and Web Bluetooth apps to be more responsive
  * Fixed a WebSerial ESPTool Error that occurred when reconnecting without refreshing the page. It was having trouble detecting if the Stub code was running and needed a little assist.
  * Added a bunch of boards to circuitpython.org for Blinka and CircuitPython
  * Fixed the FunHouse Directions for adding the ESP32-S2 board to Arduino
  * Continued working on Displayio for Blinka to update to be CircuitPython 7 compatible
* This Week
  * Work more on Displayio for Blinka
 
## 38:08 In The Weeds
38:10 @jerry weekly broadcom question – stop me anytime
* Pi 4B is frequently corrupting the SD Card – any suggestions for avoiding.
* CIRCUITPY drive is not mounting so can’t eject – may be related


## 49:12 Wrap-Up
