# CircuitPython Weekly for April 20th, 2020


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


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.


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.
## 4:43 Community News
Ladyada did two Desk of Ladyada broadcasts this week: the [first one](https://youtu.be/7SzhAdJV_Ss) with CircuitPython connecting through a cellular modem to a data source and displaying on an OLED screen, and [second one](https://youtu.be/x8MAx_PMnN4) testing out the new RGB_Matrix support.


Microsoft Garage announces Device Simulator Express upgrade with Adafruit CLUE and Python - the simulator in this VSCode extension now supports Adafruit CLUE and the BBC micro:bit. https://www.microsoft.com/en-us/garage/blog/2020/04/device-simulator-express-expands-to-the-bbc-microbit-and-adafruit-clue/


This week’s Real Python Podcast is Exploring CircuitPython with Thea Flowers - https://realpython.com/podcasts/rpp/5/


Conway’s Game of Life has been ported to the PewPew M4 with CircuitPython - https://github.com/dobra-dobra/CircuitPython-Game-of-Life


Adafruit is still submitting hardware to OSHWA, and is currently at 46 certified Open Source hardware projects - https://certification.oshwa.org/list.html?q=adafruit


Do you have any CircuitPython or Python on hardware news? Please submit it to the weekly newsletter: https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2020-04-21-draft.md


## 6:45 State of CircuitPython, Libraries and Blinka


### 7:15 Overall


* 27 pull requests merged
  * 17 authors - xobs, tannewt, dhalbert, Ferroin, larsks, brentru, sanderch, jimbobbennett, johalun, sommersoft, hierophect, fgervais, dherrada, jerryneedell, kattni, tgs, makermelissa
  * 9 reviewers - FoamyGuy, tannewt, dhalbert, ladyada, hierophect, jepler, brentru, kattni, makermelissa
* 11 closed issues by 8 people, 19 opened by 15 people


Overall: We currently have only a stable release of CircuitPython.  We haven’t had any major issues that I’m aware of.  We are working towards a beta release of the next version very soon.  There are new features and new board support that have been added.  We’re looking to get that out soon so people can start testing.


### 9:36 Core
* 2 pull requests merged
  * 2 authors - xobs, hierophect
  * 2 reviewers - tannewt, hierophect
* 9 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2366 (Open 132 days)
  * https://github.com/adafruit/circuitpython/pull/2598 (Open 73 days)
  * https://github.com/adafruit/circuitpython/pull/2675 (Open 48 days)
  * https://github.com/adafruit/circuitpython/pull/2685 (Open 44 days)
  * https://github.com/adafruit/circuitpython/pull/2754 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/2777 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/2775 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/2780 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/2785 (Open 1 days)
* 4 closed issues by 2 people, 9 opened by 7 people
* 280 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 5.x.0 - Features: 7 open issues
  * 5.x.x - Bug Fixes: 27 open issues
  * 6.0.0: 25 open issues
  * Libraries: 11 open issues
  * Long term: 198 open issues
  * Support: 4 open issues
  * 8 issues not assigned a milestone


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


### 10:38 Libraries
* 23 pull requests merged
  * 14 authors - tannewt, dhalbert, Ferroin, larsks, brentru, sanderch, jimbobbennett, sommersoft, fgervais, dherrada, jerryneedell, kattni, tgs, makermelissa
  * 8 reviewers - FoamyGuy, tannewt, dhalbert, ladyada, jepler, brentru, kattni, makermelissa
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/10 (Days open: 247)
    * https://github.com/adafruit/Adafruit_CircuitPython_AM2320/pull/9 (Days open: 84)
    * https://github.com/adafruit/Adafruit_CircuitPython_RFM69/pull/24 (Days open: 31)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_iBBQ/pull/1 (Days open: 15)
    * https://github.com/adafruit/Adafruit_CircuitPython_AMG88xx/pull/26 (Days open: 8)
    * https://github.com/adafruit/Adafruit_CircuitPython_MLX90640/pull/14 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_CPython/pull/11 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_HID/pull/51 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_Logging/pull/15 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/81 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_CLUE/pull/29 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_APDS9500/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DS1841/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/14 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_miniesptool/pull/20 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/4 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FONA/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Adafruit/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/244 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/243 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/242 (Days open: 1)
* 6 closed issues by 5 people, 9 opened by 8 people
* https://circuitpython.org/contributing
  * 178 open issues
  * 27 open pull requests (Oldest: 469, Newest: 1)
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_BitbangIO](https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO)
**Updated Libraries**
 * [Adafruit_CircuitPython_BLE_Magic_Light](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Magic_Light)
 * [Adafruit_CircuitPython_Nunchuk](https://github.com/adafruit/Adafruit_CircuitPython_Nunchuk)
 * [Adafruit_CircuitPython_SSD1322](https://github.com/adafruit/Adafruit_CircuitPython_SSD1322)
 * [Adafruit_CircuitPython_SSD1608](https://github.com/adafruit/Adafruit_CircuitPython_SSD1608)
 * [Adafruit_CircuitPython_Debug_I2C](https://github.com/adafruit/Adafruit_CircuitPython_Debug_I2C)
 * [Adafruit_CircuitPython_SSD1327](https://github.com/adafruit/Adafruit_CircuitPython_SSD1327)
 * [Adafruit_CircuitPython_NeoPixel](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel)
 * [Adafruit_CircuitPython_CPython](https://github.com/adafruit/Adafruit_CircuitPython_CPython)
 * [Adafruit_CircuitPython_AMG88xx](https://github.com/adafruit/Adafruit_CircuitPython_AMG88xx)
 * [Adafruit_CircuitPython_HID](https://github.com/adafruit/Adafruit_CircuitPython_HID)
 * [Adafruit_CircuitPython_Logging](https://github.com/adafruit/Adafruit_CircuitPython_Logging)
 * [Adafruit_CircuitPython_RFM69](https://github.com/adafruit/Adafruit_CircuitPython_RFM69)
 * [Adafruit_CircuitPython_CLUE](https://github.com/adafruit/Adafruit_CircuitPython_CLUE)
 * [Adafruit_CircuitPython_Wiznet5k](https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k)
 * [Adafruit_CircuitPython_miniesptool](https://github.com/adafruit/Adafruit_CircuitPython_miniesptool)
 * [Adafruit_CircuitPython_LSM6DS](https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS)
 * [Adafruit_CircuitPython_BLE_iBBQ](https://github.com/adafruit/Adafruit_CircuitPython_BLE_iBBQ)
 * [Adafruit_CircuitPython_MLX90640](https://github.com/adafruit/Adafruit_CircuitPython_MLX90640)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)


### 12:23 Blinka
* 2 pull requests merged
  * 2 authors - johalun, makermelissa
  * 2 reviewers - makermelissa, ladyada
* 0 open pull requests
* 1 closed issues by 1 people, 1 opened by 1 people
* 38 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 2196
Number of supported boards: 44




## 13:21 Hug reports
14:30 @kattni
* @sommersoft for getting the circuitpython.org/contributing Library Infrastructure Issues list much more useful
* @cater for adding UART support to AS726x
* @jepler for a lovely chat
* Everyone assisting others on Discord - thank you for continuing to make this a supportive, positive community.


@kingernorth (lurking)


15:00 @MakerMelissa
* @kattni for your help with getting Github Actions added on a couple of repos
* @yeyeto2788 for help with testing bitbangio library
* @caternuson for your help with figuring out my Microphone situation with testing your PR
* Group Hug


@mrcertainly (lurking)


15:43 @MarkOlsson (text only)
* Circuitpython for keeping me occupied during this insane world


15:58 @sommersoft
* @adafruit for the uptick in Desk Of LadyAda, and @tannewt for the last couple weeks of streams. Watching dev iteration is awesome!
* @kattni, again, for pushing on the library infrastructure issues. And pushing me to fix some of the misses/malformations adabot had in regards to this. That list is super short now!
* Everyone who has been helping out in Discord (and elsewhere I don't look). Anecdotally there's been an increase in questions, and you all have risen to the occasion to provide assistance.


16:49 @tannewt
* Mariatta and Lucasz for organizing the Python Language Summit
* MarkOlsson and all of the folks who watched my stream and helped out
* Anecdata, foamyguy, geekguy and AnonEngineering for helping folks out on Discord




18:01 @AndrewTribble
* Group hug to all!


@anecdata (lurking)


@cater (lurking)


@cgrover (lurking)


18:18 @charlesburnaford
* @tannewt for those very interesting streams the last couple of go-rounds.  I really found it interested to see.
* Group hug to everybody at adafruit and in this community.  Without you guys I would have gone totally stir crazy
* Reminder: Today is earth day


19:08 @danh
* @hierophect for STM32F7/H7 ports.
* @jepler for RGBMatrix, and for being willing to change the name :).
* @kattni for the weekly CircuitPython video.


@davep (lurking)


@deshipu (lurking)


20:16 @Duewester (lurking)
* Everyone here making time for the rest of us.


20:28 @foamyguy (text only having connection trouble)
* @siddacious for helping me understand low level bit and byte operations better.
* @deshipu for submitting a PR to fix RGB/BGR colors used on PewPew m4 with displayio instead of stage
* @Geekguy and @AnonEngineering for assisting people in the #help-with-circuitpython channel


21:02 @geekguy (text only)
* The Circuitpython Core Team for all the hard work they put in to make Circuitpython as awesome as it is. I am always amazed at how fast they bring new stuff online.
* @tannewt for another great deep dive.


21:23 @heirophect
* To @tannewt for help on reviewing and submitting the F7 H7 PR
* To @danh for help with some questions
* To Mark Olsson for submitting the F746 Nucleo board and catching a bug on the F767


22:17 @jepler
* @kattni for running the meeting
* Group hug
* @ladyada for highlighting my work in a video this weekend
* @anneb for helping with guide
* @tannewt for sticking with me through the review process
* @kattni for taking the time to chat


22:46 @jerryn
* Group hug
## 23:00 Status Updates
23:10 @jepler
* Last week: RGBMatrix (formerly known as Protomatter) code & guide
* This week: Cleanups and at least one more example on RGBMatrix guide
* Fun stuff: Picking up some work on LinuxCNC, an open source control for CNC mills and lathes


24:16 @jerryn
* Finally merged/released rfm69 PR -- rfm9x in review
* Did a bit of troubleshooting with respect or am2320 library 
   * Currently broken on CP Hardware -- works on RPi
   * Recent changes use CPython code not compatible with CP
   * Good example of why testing on hardware is necessary!
* Spent much of the week helping diagnose and hopefully fix an issue with one of our experiments on a satellite about 100,000 miles away -- pretty cool stuff! All that “fault tolerant” hardware and software really works!!
* Next week -- building a woodshed -- probably no CP involved.


26:50 @kattni
* Last week:
   * Completed working through most of the Library Infrastructure Issues
   * Worked with sommersoft to get the Lib infrastructure issues list tightened up into a far more useful set of information.
   * Tested and merged a few PRs.
   * Started going through the GitHub issues list across the libraries
      * Closing if possible.
      * Poking where necessary.
      * If you have an open issue on a library, you may see some activity on that soon
   * Submitted a PR to update the sound_meter code on the Circuit Playground library
      * Received feedback and will be doing it differently.
* This week:
   * Incorporate feedback into Circuit Playground PR and finish that up
   * Test the AS726x PR - if I can find hardware.
   * Continue through library GitHub issues.
   * Check GitHub assignments.
   * Test any other tagged PRs.


@kingernorth (lurking)


@Kjw (lurking)


28:28 @MakerMelissa
* Last Week
   * Wrote a Bitbang SPI module in Python for boards that need bitbang SPI but don’t have the built-in bitbangio modules such as SBCs, but could be run on CircuitPython boards too
   * Finished up adding the Onion Omega2+ to Blinka
   * Added Github Actions to the Adafruit Python PureIO and CircUp libraries.
   * Tested an I2S PR that @caternuson wrote
   * Tested a PR for the Capacitive Touch display that he wrote as well
   * Added a few more boards to circuitpython.org
* This Week
   * Adding Github Actions to the PlatformDetect and Blinka libraries
   * Work on adding the Rock Pi S to Blinka
* Fun Stuff
   * Started editing videos for my YouTube Channel about a 3D printer build
   * Playing some new games on my Switch


29:59 @MarkOlsson (mic broken, lurking)
* Last Week
   * Started to learn what this project is about
   * Nucleo_f746g port, works fine...in PR review
   * Disco_f746zg port, usb CDC/MSC works fine, I2C tested fine. Touch works fine. Not ready for PR
* This Week
   * Ordered esp32s2 board, will start helping @tannewt when it arrives.
   * Disco_f746zg port, external SDRAM, LTDC (graphics controller)
   * Open to being assigned some issues
* Fun Stuff
   * Designed a PCB, my first ever...sent it off to get made in China. I plan to make another one this week that will support CPY.
                
@mr. Certainly (lurking)


30:59 @sommersoft
* Last Week:
   * Adabot:
      * Incorporated `setup.py.disabled` standard into associated validators for PyPI, requirements.txt/Blinka. Updated circuitpython-org/contributing with these changes.
   * RosiePi:
      * Finished RosiePi node -> physaCI dataflow. GitHub checks are now updated with results, with full log/info stored in physaCI. Demo: https://www.youtube.com/watch?v=nN3rocc4dSQ (I need to improve my OBS and post-prod skills)
      * Worked through some re-configurations for `gcc-arm-embedded` installation to get firmware building again. Still hitting snags during the build when triggered from physaCI; builds fine when directly called in a terminal.
   * Core:
      * Tried to dig into `FrequencyIn` returning only zero values on 5.x. Couldn't replicate using a Metro M4 (but did verify `lower_power` changes work). Reported issue is on a Grand Central, which I don't have, so I ordered one from DigiKey to dig deeper.
* This Week:
   * adabot: 
      * Look into allowing example files to include an underscore in the name. @kattni brought this up, with an example of `adafruitio_simpletest.py` vs `adafruit_io_simpletest.py` (repo is `AdafruitIO`). The latter being easier to read, which I agree with. I mocked up a way to do it, I just need to work it into adabot and review any potential problems with `circuitpython_build_tools`.
   * FrequencyIn: hopefully my DigiKey order arrives, and I can verify if the issue is Grand Central-specific or if it's something else.
   * RosiePi:
      * Keep pushing on getting firmware to build when triggered by physaCI.
      * Keep looking into using pytest/unittest to write and run tests on boards. pytest looks promising so far...


34:34 @tannewt
* Huge reviews and tests last week
* Python language summit
* Tested both Protomatter and STM32H7/F7 PRs
* Back into ESP32-S2 on Friday. Streamed it: https://www.youtube.com/watch?v=DjC53UXKN7k
* This week is as much ESP32-S2 as I can muster. Just gotta merge STM changes into lower_power branch today.
* Handed off USB fever sensor to Limor.
* PCB layout and Age of Empires this weekend.
* PCB design files on https://github.com/chickadee-tech/ 
* 5.3.0 ?




39:20 @AndrewTribble
* Last week:
   * Continued development of ws2811 based led strip breakout. 
* This week:
   * With us headed toward tornado season, I’m going to try to pair one of my previous projects involving consuming the NWS “Alerts” API and make a small PyPortal based Weather radio!
* Fun Stuff:
   * Kind of related (not really) to the hexagon light project from last week, I ended up spending some time working on reengineering my 3D printer’s hot-end to accommodate a 2-in-1-out print nozzle 


@anecdata (lurking)


@cater (lurking)


@cgrover (lurking)


40:52 @charlesburnaford
* I finally got my keyboard matrix working - it’s from an old MIDI Oxygen8 keyboard - really is nice.
* Haven’t figured out how to take advantage of velocity sensitivity 
* Continue working on it to see if I can get velocity working


42:09 @danh
* Implementing many Adafruit services for Bluefruit Playground app. Sensor services work well; I’m working on control services like Tone and RGB pixels. This pointed out some issues in a low-level ring buffer we use, and I need to fix that first.
* Next, I’ll look at using `bleak` for `_bleio` on host computers, Linux first.


@davep (lurking)


@deshipu (lurking)


@duewester (lurking)


43:57 @foamyguy (text only having connection trouble)
* Working on testing SPI bit / bits PR for register library
* Converted raspi neopixel animation example to allow animations on subsets of the strip, and playing multiple animations simultaneously 
* Made progress on the Tile Game guide over the weekend. Indexed BMP graphics page is nearly completed. 


44:25 @geekguy (text only)
* Helping people on Discord as much as I can.
* Absorbing as much new information as I can as fast as I can so I can help people better.


44:39 @hierophect
* Last week:
   * Implemented Busio across the F7 and H7 port, with testing
   * Implemented some fixes related to F7 and H7 build systems
   * Submitted the F7 and H7 port PR
   * Reviewed the F746 Nucleo pr this morning
   * Finished an early version of Expression Engine, a persona project that makes cute faces for robots. 
* This week:
   * Some minor revisits in the F7 and H7 port, particularly for RAM support (ITCM and DTCM) on the F7
   * Add support to the OpenMV board for the H743
   * Documentation changes to support STM32 in some of the PY files and condensing some old build flags that I added somewhat sloppily in the very early stages of the port. 
   * Getting started with the i.MX libraries and existing port structure. A lot of the port was based off the STM32 structure so I’ll be working on bringing in structural changes that were added more recently. 
   * Fun stuff - organize my Dyanmixel servo code to run HermieBot, so I can stick my eyeballs on a little walking robot dude


## 48:57 In The Weeds
49:07 @danh
* FIxing internal ring buffer used by UART and BLE UART, and _bleio.PacketBuffer. Currently it drops oldest bytes on overflow. Any objection to dropping the newest?
   * No objections.


52:25 @jepler / @tannewt
* 5.3.0-beta / hold low power for 5.4?
   * Low power will break things - don’t want to go stable with it, hold on 5.4.0
   * Good to get RGB_Matrix out - so do 5.3.0RC
      * Today/tomorrow for RC


Discussion of github Actions problems (@tannewt / @jepler / @danh / @heirophect / @sommersoft)
* We’re having trouble
* We’d like them to fix it
* @sommersoft may be able to help with API access to force jobs to a particular state


## 59:45 Wrap-Up
