# CircuitPython Weekly for September 27th, 2021

Video is available [here](https://youtu.be/cDFCIJ2NMDE). There were technical difficulties in this recording resulting in intermittent audio.


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://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical)


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:39 Community News
### 31,000 thanks!
 31,000 THANKS 

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 31,000 humans, thank you! Adafruit believes Discord offers a unique way for CircuitPython folks to connect. Join today at https://adafru.it/discord.
### 3:02 Sound Reactive Glasses
 Sound Reactive Glasses 

A work in progress by That Dragon Guy on Twitter: sound-reactive blinky glasses. Werewolf for scale. Programmed in CircuitPython and ulab for Adafruit's LED Glasses - Twitter.
### 3:20 Emulate a vintage ROM or EPROM with a Raspberry Pi Pico
 Emulate a vintage ROM or EPROM with a Raspberry Pi Pico and CircuitPython 

The Apple IIe uses a custom microcontroller and ROM chip to put ASCII values from the keyboard into the computer’s memory. How can this function be emulated? The Bald Engineer tries an Arduino Mega 2560 and Teensy 4.0 before finding the inexpensive Raspberry Pi Pico up to the task. Programmed PIO handled the tight timing while CircuitPython controls the data flow and allows for quick programming and debug - Element14, YouTube and Adafruit Blog.


### 3:54 Python 3.10.0rc2 is Available with Helpful Error Text
 Python 3.10.0rc2 

Python 3.10 is scheduled to be released October 4th - Python Insider.
Luciano R on Twitter summarizes a great new feature:
“I love Python's new user-friendly error messages!!! In Python 3.10rc2:
`>>> NameError: name 'results_count' is not defined. Did you mean: 'result_count'?`
Thank you so much Pablo Galindo and everyone else who is contributing to make Python more and more friendly!”
Apparently the user friendly messages were inspired by Rust which was inspired by Elm.
### 4:33 Building battery-free electronic devices with CircuitPython
 BFree 

Computer engineers from Northwestern University and Delft University of Technology (TU Delft) introduces a new platform, BFree, that enables building battery-free electronic devices that run with intermittent, harvested energy.
BFree includes energy-harvesting hardware (the BFree Shield) and a power-failure-resistant version of CircuitPython, one of the most accessible and most used programming languages - Adafruit Blog, GitHub, and article.
### 5:05 EuroPython Talks - Edited Videos Coming Online
 EuroPython Talks 

EuroPython has released the first batch of edited videos of EuroPython 2021, currently all videos of the first day, Wednesday, July 28. More videos will follow in the coming weeks - EuroPython 2021 and YouTube Playlist.
### 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:00 State of CircuitPython, Libraries and Blinka
### 6:30 Overall
* 46 pull requests merged
  * 22 authors - wtuemura, skerr92, dherrada, lesamouraipourpre, michthom, kattni, PontusO, FoamyGuy, PaintYourDragon, maholli, Neradoc, microDev1, makermelissa, WarriorOfWire, caternuson, theendlessriver13, weblate, dhalbert, jepler, rhooper, leoli51, bergdahl
  * 14 reviewers - microDev1, tannewt, askpatrickw, dherrada, makermelissa, TheKitty, caternuson, kattni, dhalbert, jepler, gamblor21, ladyada, FoamyGuy, PaintYourDragon
* 9 closed issues by 8 people, 8 opened by 7 people


### 7:10 Core
* 17 pull requests merged
  * 13 authors - wtuemura, microDev1, skerr92, lesamouraipourpre, michthom, weblate, PontusO, dhalbert, jepler, leoli51, bergdahl, FoamyGuy, maholli
  * 6 reviewers - jepler, microDev1, tannewt, gamblor21, ladyada, dhalbert
* 6 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5298 (Open 23 days)
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/5395 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/5394 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/5392 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/5396 (Open 0 days)
* 3 closed issues by 3 people, 5 opened by 5 people
* 419 open issues
  * https://github.com/adafruit/circuitpython/issues
* 5 active milestones
  * 7.x.x: 11 open issues
  * 8.0.0: 5 open issues
  * Libraries: 16 open issues
  * Long term: 382 open issues
  * Support: 4 open issues
  * 1 issues not assigned a milestone


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


Overall: 7.0.0 is out and looks to be very stable. Dan followed up on some early issues but none were severe.


### 8:45 Libraries
* 24 pull requests merged
  * 12 authors - dherrada, makermelissa, WarriorOfWire, lesamouraipourpre, michthom, caternuson, kattni, theendlessriver13, rhooper, FoamyGuy, PaintYourDragon, Neradoc
  * 12 reviewers - tannewt, askpatrickw, dherrada, makermelissa, TheKitty, caternuson, kattni, dhalbert, gamblor21, ladyada, FoamyGuy, PaintYourDragon
  * Merged pull requests:
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/146 (Days open: 107)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/151 (Days open: 11)
    * https://github.com/adafruit/Adafruit_CircuitPython_DS18X20/pull/23 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_TrellisM4/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/82 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/pull/84 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/72 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741/pull/6 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741/pull/4 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107/pull/10 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_UC8151D/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_EPD/pull/55 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RGBLED/pull/16 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Magic_Light/pull/8 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Pixie/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/109 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoKey/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GPS/pull/67 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FakeRequests/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/345 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/86 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/85 (Days open: 1)
  * 55 open pull requests (Oldest: 647, Newest: 2)
* 5 closed issues by 5 people, 1 opened by 1 people
  * 344 open issues
  * 4 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_UC8151D](https://github.com/adafruit/Adafruit_CircuitPython_UC8151D)
**Updated Libraries**
 * [Adafruit_CircuitPython_DS18X20](https://github.com/adafruit/Adafruit_CircuitPython_DS18X20)
 * [Adafruit_CircuitPython_TrellisM4](https://github.com/adafruit/Adafruit_CircuitPython_TrellisM4)
 * [Adafruit_CircuitPython_LED_Animation](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation)
 * [Adafruit_CircuitPython_BusDevice](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice)
 * [Adafruit_CircuitPython_IS31FL3741](https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741)
 * [Adafruit_CircuitPython_AS7341](https://github.com/adafruit/Adafruit_CircuitPython_AS7341)
 * [Adafruit_CircuitPython_ESP_ATcontrol](https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol)
 * [Adafruit_CircuitPython_MIDI](https://github.com/adafruit/Adafruit_CircuitPython_MIDI)
 * [Adafruit_CircuitPython_DisplayIO_SH1107](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107)
 * [Adafruit_CircuitPython_EPD](https://github.com/adafruit/Adafruit_CircuitPython_EPD)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_PortalBase](https://github.com/adafruit/Adafruit_CircuitPython_PortalBase)
 * [Adafruit_CircuitPython_RGBLED](https://github.com/adafruit/Adafruit_CircuitPython_RGBLED)
 * [Adafruit_CircuitPython_BLE_Magic_Light](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Magic_Light)
 * [Adafruit_CircuitPython_Pixie](https://github.com/adafruit/Adafruit_CircuitPython_Pixie)
 * [Adafruit_CircuitPython_CircuitPlayground](https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground)
 * [Adafruit_CircuitPython_NeoKey](https://github.com/adafruit/Adafruit_CircuitPython_NeoKey)
 * [circuitpython](https://github.com/adafruit/circuitpython)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


### 11:33 Blinka
* 5 pull requests merged
  * 2 authors - makermelissa, lesamouraipourpre
  * 1 reviewers - makermelissa
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 229 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 63 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/501 (Open 42 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/506 (Open 16 days)
* 1 closed issues by 1 people, 2 opened by 1 people
* 62 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 9504
Number of supported boards: 76






## 12:21 Hug reports
13:11 @kattni
* Group hug to the community for continuing to be amazing.
* @jepler for a lovely chat
* @danh for some help with some guide feedback
* @foamyguy for putting together a bunch of Good First Issues for folks


13:40 @MakerMelissa
* Group Hug


13:53 @mark(gamblor) [lurking / may be late]
* @danh, @microdev, @neradoc, @cater and probably someone else I’m missing for helping me review a pair of busdevice PRs
* @michthom for their first PR for a feature addition in busdevice


14:14 @tannewt
* Neradoc, anecdata for helping folks on Discord
* Foamyguy for the type annotation love and @kattni for managing hacktoberfest


14:37 @danh
* @Neradoc for his non-US keyboard layout library, which is the answer to many questions on Discord.


@DaveP (lurking)


15:13 @foamyguy
* @danh for making a manual pypi release of circuitpython-stubs once we noticed the actions did not upload it.
* @lesamouraipourpre for working on a re-write of Blinka_Displayio to bring it inline with the core and implement the modules that were previously missing for Blinka
* Github user @mlupo for making their first contribution and following up with review suggestions
* @kattni and @askpatrickw for sharing the github CLI tool many months ago in the discord. This is where I first learned of this tool and it has made the type checking / issue making process so much easier.


16:28 @jepler
* @danh for helping out with my bluetooth troubles over the weekend
* @kmatch98 @mark (gamblor) for reviewing a PR


17:22 @jerryn
* Group Hug




## 17:35 Status Updates




18:05 @kattni
* Week before last week:
   * Finished the IS31FL3741 guide after learning how to add a library to the Arduino IDE (spoiler: it’s super simple, when they aren’t having backend issues)
   * Started Proximity Trinkey guide
* Last week:
   * Missed meeting.
   * With CP 7.0.0 released, it was time to remove all instances of `wheel()` and references to `_pixelbuf` or `adafruit_pypixelbuf` imports, and replace them with `rainbowio`! I put in a huge PR (72 files!) to the Learning System Guides repo, and then went through the bundle to find all the references in example code, and updated those repos individually. There are three files left in the Learn repo that have a `def wheel()` in them still because it was modified to work with RGBW NeoPixels, and `rainbowio` does not currently support RGBW. (Future plans!) So, moving forward, we can now suggest using `from rainbowio import colorwheel` instead of including `def colorwheel()` in the code.
   * Continued the Proximity Trinkey guide.
* This week:
   * Get through guide feedback, especially since I missed the last couple of weeks’ go at it.
   * Finish up Proximity Trinkey guide
   * ANO Rotary Encoder guide
   * Various misc.
   * More guide work.


21:17 @MakerMelissa
* Last Week:
   * Finished up creating UC8151D driver for newer flexible eInk displays
   * Added UC8151D support to the Adafruit_EPD library
   * Finished updating the 2.9” E-Ink guide with the new driver instructions
   * Created a Rotary Encoder powered Animated Gif Player
   * Wrote a guide for that and it’s in moderation
* This Week:
   * JavaScript-land starting with updating the JavaScript Bluetooth File Transfer library
   * After that, integrating new features from that library into the CircuitPython Code Editor


22:18 @tannewt
* Continuing to work through Raspberry Pi issues. Got printf working on actual hardware after getting the MMU setup correctly. Now onto getting TinyUSB going.
* Sent out a Pi “debug” hat to break out the JTAG pins: https://oshpark.com/shared_projects/fBq76nP9
* This week I need to ramp up Noe and Pedro on the Glider and PyLeap testflights.
* Out Friday and next Monday to visit a friend.


24:09 @danh
* Working on an HID “radial controller” example, which is what the Microsft Surface Dial is. I have it working well, except that scrolling is jumpy, for unknown reasons. Made the device visible as an “event” stream on Linux, though it is otherwise not supported.
* WIll be working on boot keyboard and some other HID things next.


25:44 @foamyguy
* Last week
   * Investigate an issue that caused the 7.0.0 stable release of circuitpython-stubs not to get uploaded to pypi by the actions
   * Finish creating scripts and utilities to run type checking across all libraries and create ‘good first issue’s for the ones that have missing type info.
   * Tried out @lesamouripourpre’s Blinka_Displayio rewrite
* This week
   * Run the type checking process (sorry for email / github inbox spam)
   * Try out some more of the Blinka_Displayio rewrite and test it on PC
   * Formulate a plan and proof of concept to refactor Blinka_Displayio example scripts to separate the display setup into its own file so that code is easier to share / run in environments with different types of displays.
   * Streaming Friday evening while Scott is away.


28:08 @jepler
* Last week:
   * Finished one part of the paralleldisplay improvements (support 8-bit displays on arbitrary pins, higher performance, esp32-s2)
   * Tabled the other part (support of 16-bit displays)
* This week:
   * Working with a BLE thermal printer for a SOON! guide
   * Learning about asyncio as we consider major direction for CP 8
* Would like to pick up the next micropython merge if somebody doesn’t beat me to it, but it’s not my tip-top priority


@jerryn (please skip me -- nothing to report)


## 29:06 In The Weeds


29:29 @danh
* What distinguishes the CircuitPython.org library bundle from the Community bundle?


33:34 @makermelissa
* Type Annotations and Blinka
   * We should test to make sure adding them doesn’t break the library on Blinka.


35:31 @jerryn  what is the story behind the need for the type checking mods to every library?


44:08 @kattni - The rp2040-pio channel on Discord. Rename to remove RP2040, or archive?


## 46:26 Wrap-Up
