# CircuitPython Weekly for September 14, 2020
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!

Video is available here [on YouTube](https://youtu.be/OZRr-B-1nUE).

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 using the following link: https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical for use with standard calendar applications or 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.

## 5:39 Community News

### CircuitPython Milestones this week
This past week, the CircuitPython community reached 150 microcontroller boards capable of running CircuitPython! - CircuitPython.org

In addition, over 50 single board computers (SBC) now run CircuitPython like the Raspberry Pi, Onion Omega, nVidia Jetson and many more. With the Blinka library, users may use Python3 and make calls to CircuitPython functionality - CircuitPython.org.

The number of supported microcontrollers and Single Board Computers (SBC) grows every week and you can get your board added to the list!

### The 100th Newsletter and Python on Hardware Video this week

This issue, following CircuitPython Day, is the 100th issue of both this newsletter and the accompanying Python on Hardware Video produced from newsletter content. Thank you to our readers for making this newsletter the best read synopsis of Python on Hardware 100 issues running.

### 7:15 Thank you for making CircuitPython Day a huge success

CircuitPython Day on September 9, 2020 (9/9/2020) came last Wednesday with projects, events and CircuitPython livestreams highlighting all things Python and Python on Hardware.

If you're interested in creating CircuitPython Day 2021 projects or hosting events, videos, or livestreams, start planning now and watch around July for announcements.

### Adafruit Update

Adafruit is stocked and shipping orders!

Now is the best time to get orders in for your favorite products, including items for students.

Science is fun and educational when using Adafruit parts and free, easy to follow tutorials in the Adafruit Learning System.

Shop Adafruit now - https://adafruit.com

## 9:05 State of CircuitPython, Libraries and Blinka
### 9:19 Overall
* 37 pull requests merged
  * 19 authors - cjsieh, michaellass, jepler, fgervais, jerryneedell, jsharper, caternuson, Wmyers559, dhalbert, wtuemura, weblate, kmatch98, Andon-A, CarlFK, greg-elmi, ladyada, kattni, microDev1, makermelissa
  * 11 reviewers - tannewt, FoamyGuy, dhalbert, jepler, brentru, siddacious, jerryneedell, ladyada, caternuson, kattni, makermelissa
* 15 closed issues by 13 people, 16 opened by 14 people


Overall: Everything’s going well.  CIrcuitPython Day went well, and we’re on the brink of getting 6.0 stable and out the door.  That’s a brief overview :)
### 11:28 Core
* 11 pull requests merged
  * 6 authors - wtuemura, weblate, ladyada, jepler, CarlFK, microDev1
  * 4 reviewers - jepler, tannewt, dhalbert, ladyada
* 14 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2966 (Open 109 days)
  * https://github.com/adafruit/circuitpython/pull/3044 (Open 89 days)
  * https://github.com/adafruit/circuitpython/pull/3144 (Open 65 days)
  * https://github.com/adafruit/circuitpython/pull/3192 (Open 52 days)
  * https://github.com/adafruit/circuitpython/pull/3237 (Open 43 days)
  * https://github.com/adafruit/circuitpython/pull/3291 (Open 27 days)
  * https://github.com/adafruit/circuitpython/pull/3349 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/3369 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/3384 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/3393 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/3392 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/3397 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/3398 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/3413 (Open 0 days)
* 3 closed issues by 2 people, 8 opened by 8 people
* 329 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 6.0.0: 11 open issues
  * 6.x.0 - Features: 3 open issues
  * 6.x.x - Bug Fixes: 14 open issues
  * 7.0.0: 3 open issues
  * Libraries: 12 open issues
  * Long term: 284 open issues
  * Support: 4 open issues
  * -2 issues not assigned a milestone


* Core download stats available at https://circuitpython.org/stats
### 13:08 Libraries
* 23 pull requests merged
  * 15 authors - cjsieh, dhalbert, michaellass, jepler, fgervais, kmatch98, Andon-A, jerryneedell, jsharper, greg-elmi, ladyada, caternuson, Wmyers559, kattni, makermelissa
  * 11 reviewers - tannewt, FoamyGuy, dhalbert, jepler, brentru, siddacious, jerryneedell, ladyada, caternuson, kattni, makermelissa
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MLX90640/pull/18 (Days open: 119)
    * https://github.com/adafruit/Adafruit_CircuitPython_DHT/pull/47 (Days open: 19)
    * https://github.com/adafruit/Adafruit_CircuitPython_RFM69/pull/33 (Days open: 18)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/83 (Days open: 10)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/103 (Days open: 9)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/15 (Days open: 8)
    * https://github.com/adafruit/Adafruit_CircuitPython_Thermal_Printer/pull/20 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_BNO08x/pull/3 (Days open: 4)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/87 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/33 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel_SPI/pull/22 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MLX90640/pull/21 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes/pull/24 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter/pull/4 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/35 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/34 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/pull/51 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LC709203F/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/17 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/16 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_VC0706/pull/17 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/41 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/42 (Days open: 1)
* 10 closed issues by 9 people, 8 opened by 7 people
* https://circuitpython.org/contributing
  * 191 open issues
  * 8 good first issues
  * 30 open pull requests (Oldest: 616, Newest: 1)
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_DS3502](https://github.com/adafruit/Adafruit_CircuitPython_DS3502)
 * [Adafruit_CircuitPython_FeatherWing](https://github.com/adafruit/Adafruit_CircuitPython_FeatherWing)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_NeoPixel_SPI](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel_SPI)
 * [Adafruit_CircuitPython_MLX90640](https://github.com/adafruit/Adafruit_CircuitPython_MLX90640)
 * [Adafruit_CircuitPython_RFM69](https://github.com/adafruit/Adafruit_CircuitPython_RFM69)
 * [Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter](https://github.com/adafruit/Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter)
 * [Adafruit_CircuitPython_PyPortal](https://github.com/adafruit/Adafruit_CircuitPython_PyPortal)
 * [Adafruit_CircuitPython_framebuf](https://github.com/adafruit/Adafruit_CircuitPython_framebuf)
 * [Adafruit_CircuitPython_MatrixPortal](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)
### 15:13 Blinka
* 3 pull requests merged
  * 1 authors - makermelissa
  * 3 reviewers - jepler, ladyada, makermelissa
* 2 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/304 (Open 98 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/322 (Open 52 days)
* 2 closed issues by 2 people, 0 opened by 0 people
* 25 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 2096
Number of supported boards: 52


## 16:16 Hug reports


@anecdata (lurking)


@anneb (lurking)


19:02 @CGrover (lurking)
* To @mzero for some timely TinyUSB fixes that will help with MIDI serial buffer issues.
* To Otto Schmitt for his fundamental work on the thermionic trigger circuit (Schmitt trigger). The original theory and subsequent op-amp implementation really cleared the air on RangeSlicer project code development.


19:32 @danh
* @ciscorn for message compression approach that saves considerable flash; @jepler for turning it into a PR.
* @jepler for adding compiler warnings for fallthrough cases in switch statements: caught several bugs.


@davep (lurking)


20:41 @David.Glaude (lurking)
* @Anne_Engineer and all the participant for the CircuitPython Day
* @Kattni (I guess) for the circular/comet mode in LED animation
* @xiongyihui for the USB_HID report (CAPS_LOCK, …)
* @jepler for helping with “debouncer” library on M0 and producing (over the week-end) the RFC: “routines for handling wrapped tick counts (#3410)” to be discussed “in the weeds”


@deshipu (lurking)

@dherrada (lurking)


21:21 @fede2
* To @Kattni, @Jeff E, N&P for helping out with Día CircuitPython events
* To @tannewt for adding PSRAM in a Deep Dive. I’m rewatching and learning.


21:58 @foamyguy (Text only today)
* @jepler for helping me work through and understand some SDCard / Display issues in the core
* @skerr for always helping folks out on Discord, generally being a great member of the community and recently releasing their first open source hardware device
* @Group hug again for all of the streams and other festivities last week for Circuit Python day


22:28 @hierophect
* @jepler and @2bndy5 for helping to diagnose the SPI issue on the STM32
* @jepler and @danh for their help getting a community bundle library submitted
* All the cool folks on pcb-design for helping each other out
* @tannewt for reviews on ESP32-S2 stuff
* @DavePutz for helping test the ESP32-S2 issues
* @MarkOllson for helping test the F1 port


@Jayguitar (lurking)


@jasonp (lurking)


23:40 @jepler
* Another group hug for everyone who made CircuitPython day a success
* @foamyguy for working on a problem with adafruit_sdcard and displayio
* @david.glaude for a patch to debounce library that improves compatibility
* @dhalbert for reviews and such over the weekend
* @ciscorn for another amazing advance in compression of messages in the core


24:45 @jerryn
* @tannewt for getting the esp32s2 wifi merged and for providing examples
* @2bndy5 for all the updates to the nrf24l01 library
* @anecdata for patient help while testing new esp32s2 wifi.


25:30 @kmatch98
* @tannewt for a patient and helpful PR review. 


25:47 @MakerMelissa: (missing meeting)
* Group Hug


@Mark (Gamblor) [lurking]


@microdev (lurking)


@Mr. Certainly [lurking]


17:01 @tannewt
* Everyone who participated in CircuitPython Day.
* @mzero for finding a TinyUSB bug with MIDI SysEx and sending a PR.
* @anecdata and @jerryn for testing native wifi after the merge.
* @microDev for adding ESP32S2 temp sensor support


18:20 @TG-Techie
* To @jerryn, @jeff e., and @dzervas for debugging issues with a custom nrf52840 board
## 26:01 Status Updates
@anecdata (lurking)


@anneb (lurking)


@CGrover(lurking)


28:55 @danh
* Preparing for a 6.0.0-beta.0 release.
* Reviewed bleak changes that will be helpful to us for Blinka _bleio.
* Released adafruit_ble with changes needed for HCI support; companion adafruit_airlift library is imminent.
* Reviewed a slew of CircuitPython PRs.
* Fixed BerryMed pulse oximeter library so that it deals properly with the flood of data it receives. There’s still another bug that causes failure after about half an hour, but it’s not a library issue.
* Investigated using LONGLONG longint implementation on small ports.
* Upcoming:
   * Finish getting Blinka _bleio working on MacOS.
   * Release beta.0.
   * Investigate several possibly storage-related bugs in nRF _bleio.


@davep (lurking)


32:25 @David.Glaude (lurking)
* CAPS/NUM/SCROLL LOCK indicator on PyRuler and Commander 8086: https://twitter.com/DavidGlaude/status/1304556043465351169
* Those two can communicate (3 bits) so now looking for ideas on how to use that: https://twitter.com/DavidGlaude/status/1305264345232879616
* Testing gamepad on the Commander 8086 (not convinced)
* PR for fixing debouncer on M0 with help from @jepler.


@deshipu (lurking)

@dherrada (lurking)


33:00 @fede2
* Done with CircuitPython local celebration
* Working in CPY guide translation
* Working on a translated version of circuitpython.org
* Testing esp32s2 native wifi




33:44 @foamyguy (text only today)
* Last week
   * Finished recording introduction and device setup videos for “Learn to Program with Circuit Playground” series
   * Testing a fix for SDCard and OnDiskBitmap, as well as an unrelated PyPortal PR that needed this fix. 
   * Created mutli-tasking example scripts with Feather nrf52840, LEDs and Servos.
   * Created a very rudimentary (but working!) InputText widget for displayio
* This week
   * Submit a PR with the SDcard patched code. 
   * Start recording “Learn to program” videos about basic variable types


34:22 @hierophect
* Last week
   * Debugged what turned out to be an entirely DisplayIO related crash, not an ESP32 related one
   * Worked on re-creating and resolving the STM32 SPI issue on SD cards and some sensors
   * Wrote a Readme for the ESP32-S2 this morning
   * Got my Dynamixel Featherwing in, and added the Dynamixel library to the community bundle over the weekend
   * Chatted with some folks out west making a tracker for SteamVR, gonna try to figure out how to make a Circuitpython interface for that happen
* This week
   * Wrap up pesky SPI problem
   * Set up for RGBMatrix testing again to squish the stretching issue on STM32
   * Maybe fill out ESP32-S2 Microcontroller, do RotaryIO, or whatever Scott wants really


@Jayguitar (lurking)


@jasonp (lurking)


37:22 @jepler
* Last week:
   * CircuitPython day
   * “Finished” jepler_udecimal and added it to the Community Bundle (my first Community Bundle library!)  jepler_udecimal lets you do arithmetic with lots of decimal digits on M4-based CircuitPython boards.
   * Found and fixed several “fallthrough” bugs, identified warning for all builds
   * Reviewed and merged various PRs
   * Implemented Ciscorn’s compression idea for localized strings
   * Had a chat with @foamyguy about adafruit_sdcard and displayio, offered a way forward
   * Drafted a document suggesting we add some new timing-related routines
* This week:
   * Feather M4 CAN support
   * _canio progress
   * I think my makerdiary keyboard PCB comes this week, looking forward to putting it together.  May try it as a BLE keyboard


38:55 @jerryn
* Finally released updated RFM69 lib with some size reductions and revised CP build for feather_m0_rfm69 to “freeze” the library into the build.
   * These updates to the rfm9x/69 have dragged on for a very long time… nice to have this phase completed and ready to move on to more significant upgrades
* Made a trivial fix to the adafruit_clue library to fix an issue with the clue.gesture property.
* Spent some time checking out the updates to the nrf24l01 library.
* Not sure why, but my Linux box (Ubuntu 20.04) has not been crashing lately when disconnecting CP devices. Migrating back to using it again for CP builds/testing.




41:20 @kmatch98
* Finished PR to add display.Shape dirty rectangle tracking.
* Based on @MakerMelissa’s comment on the Ask an Engineer show, initiated a (big!) feature request for touch responsive display elements. Objective: Write a GUI in 5 minutes or less. Please give comments and suggestions!  
This week:
* Review learn guides and other PyPortal examples with touch controls.


42:55 @MakerMelissa (missing meeting)
* Last Week:
   * Finished writing Pixel framebuf library
   * Wrote an AQI Demo for John Park by taking Purpleair data and converting it
   * Fixed a bug in PlatformDetect that was causing detections to happen multiple times on each call
* This Week:
   * On the road for a couple of days to get away from the poor air quality
   * Working on some Shell to Python Script conversions
   * Maybe getting some more Blinka displayio stuff done soon


@Mark (Gamblor) [lurking]


@microdev (lurking)


@Mr. Certainly [lurking]


26:30 @tannewt
* ESP32-S2 native wifi is merged!
* @anecdata found one bug with the new requests library for it which is being fixed.
* Requests library should be just about ready to go.
* Will be adding support for different partition layouts for different flash sizes. (Feather S2 has 16MB.)
* USB PID stuff
* UF2 ESP32 stuff


43:30 @tg-techie
* For several months I’ve been working on a circuitpython based watch.  The pcbs came in.  Assembling and working with those.  Two instances of it are running circuitpython - details in voice chat
* Ran into issues with outdated version of make on macos
## 45:00 In The Weeds


45:27 @jepler - Adding “wrapping milliseconds” time functions to microcontroller - see  https://github.com/adafruit/circuitpython/issues/3410
*  @tannewt: add it to a new module
* “Precise time” module
* 53:30 LONGLONG update from danh
* Cgrover:  a set of CircuitPython programmable nsec and msec timers would be handy.
   * Timer operations: stop, start, set, reset, read value, status
   * mode: up, down
* Outcome: this is a good start.  Continue discussion on the issue.  


1:03:07 @tannewt - How to communicate port state in release notes
Tannewt TODO - create issue to discuss how to do it. Also available on circuitpython.org.


1:11:17 @hierophect - low power testing
## 1;21:16 Wrap-Up
