# CircuitPython Weekly for June 1st, 2020


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


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 or you can view the calendar rendered in your web browser at https://open-web-calendar.herokuapp.com/calendar.html?url=https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical&tab=agenda&tabs=month&tabs=agenda


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:13 Community News
Summer of Making Hack Club - Free hardware! GitHub is sponsoring $50k worth of hardware grants for student makers, alongside support from Adafruit & Arduino for gear!! - Adafruit Blog and Hack Club signups


Microsoft and GitHub announce that they are making online integrated development environments (IDEs) such that students can get right to work in a web browser, avoiding software conflicts that might happen with code installs on their local machines. Code on a laptop or with a tablet—students won’t be slowed down by their devices. Students can get started quickly in the same coding environment, so educators may teach instead of troubleshooting. Currently integration includes MakeCode Arcade which will likely receive Python programmability later this year as it is rolled out across the MakeCode family - GitHub.
The Python Software Foundation has announced the first beta of Python 3.9, scheduled for production release in October. With the release of the beta, all of the major changes of Python 3.9 are set. Python has been previously developed and released every eighteen-months. PEP 602 was accepted with the Python development team adopting an annual release cycle. The new timeline means Python 3.9 will ship in October 2020. Python 3.10 officially started pre-alpha development on May 19, 2020, will enter the alpha development phase when Python 3.9 ships, and will ship in October 2021. Future Python releases will follow the same pattern - InfoWorld and the Python Blog.
The Raspberry Pi Foundation has a weekly newsletter where you can the latest news on the Pi platform. Some items of note this week: 8GB Raspberry Pi 4 on sale now, Latest Raspberry Pi OS update – May 2020, A virtual tour of Raspberry Pi OS. Newsletter.
A work-from-home "on air" light using CircuitPython and an Adafruit Circuit Playground Express - Blog, Video, GitHub and Twitter.
Programming with the CircuitPython PewPew M4 Kit - Tindie and Twitter.
How to Make a Discord Bot in Python - Real Python and Twitter.


Want more community news? Have a project or other Python on Hardware related content to share? Check out the Python for Microcontrollers newsletter. Submit your content or view a preview here: https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2020-06-02-draft.md


## 8:00 State of CircuitPython, Libraries and Blinka


### 8:32 Overall
* 28 pull requests merged
  * 20 authors - vooralfred, Flameeyes, jimbobbennett, kattni, kmatch98, weblate, dherrada, BradChan, caternuson, rhooper, siddacious, bergdahl, dhalbert, makermelissa, dnssoftware, DavePutz, hierophect, jepler, tannewt, dunkmann00
  * 11 reviewers - kattni, dherrada, caternuson, siddacious, dhalbert, jepler, makermelissa, ladyada, FoamyGuy, tannewt, brentru
* 22 closed issues by 14 people, 15 opened by 12 people


Overall: The latest unstable version is 5.4.0-beta.0 and things have been going really well with it. If you haven’t tried it yet, please download it from circuitpython.org/downloads and try it with your projects. Let us know if you run into any issues or problems, or if it’s working for you. We’re looking at releasing 5.4.0-beta.1 this week which will have a number of updates. We’re always looking for more testing and feedback. Please give it a try once it’s released.


We’re continuing to see new libraries. We’ve got plans to keep up with the issues list over the summer and get some of the bugs fixed and enhancements implemented. If you’re looking to contribute to the CircuitPython project, the libraries are a great place to start. Check out the open PRs and issues on circuitpython.org/contributing. For PRs, take a look at it, test it if you can, and either way leave a comment to let us know what you’ve done. For issues, find one that interests you and work on it. If you need assistance with Git and GitHub, we have a guide for that and we’re happy to help you out there.


Blinka continues to grow and see updates. Melissa is currently working on displayio for Blinka. The number of supported boards continues to increase which brings CircuitPython libraries to more single board computers for the ease of CP on Linux.


### 11:30 Core


* 10 pull requests merged
  * 10 authors - vooralfred, weblate, BradChan, bergdahl, dhalbert, jepler, hierophect, DavePutz, tannewt, dunkmann00
  * 4 reviewers - dhalbert, jepler, tannewt, ladyada
* 14 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2675 (Open 90 days)
  * https://github.com/adafruit/circuitpython/pull/2780 (Open 44 days)
  * https://github.com/adafruit/circuitpython/pull/2863 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/2879 (Open 20 days)
  * https://github.com/adafruit/circuitpython/pull/2890 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/2918 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/2914 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/2933 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/2966 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/2980 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/2979 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/2981 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/2985 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/2983 (Open 0 days)
* 6 closed issues by 2 people, 6 opened by 6 people
* 303 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 5.x.0 - Features: 12 open issues
  * 5.x.x - Bug Fixes: 33 open issues
  * 6.0.0: 16 open issues
  * Libraries: 11 open issues
  * Long term: 219 open issues
  * Support: 5 open issues
  * 7 issues not assigned a milestone


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


### 13:08 Libraries


* 15 pull requests merged
  * 8 authors - Flameeyes, jimbobbennett, kattni, kmatch98, dherrada, rhooper, siddacious, dhalbert
  * 8 reviewers - kattni, dherrada, siddacious, dhalbert, ladyada, FoamyGuy, tannewt, brentru
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT/pull/12 (Days open: 17)
    * https://github.com/adafruit/Adafruit_CircuitPython_TestRepo/pull/34 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_IRRemote/pull/38 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/43 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/81 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ICM20X/pull/7 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PM25/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/47 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/46 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/35 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/33 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/31 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/29 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/249 (Days open: 1)
* 13 closed issues by 12 people, 8 opened by 6 people
* https://circuitpython.org/contributing
  * 162 open issues
  * 25 open pull requests (Oldest: 511, Newest: 1)
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_PM25](https://github.com/adafruit/Adafruit_CircuitPython_PM25)
**Updated Libraries**
 * [Adafruit_CircuitPython_AzureIoT](https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT)
 * [Adafruit_CircuitPython_IRRemote](https://github.com/adafruit/Adafruit_CircuitPython_IRRemote)
 * [Adafruit_CircuitPython_ICM20X](https://github.com/adafruit/Adafruit_CircuitPython_ICM20X)
 * [Adafruit_CircuitPython_Display_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Text)
 * [Adafruit_CircuitPython_LED_Animation](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)


### 15:03 Blinka


* 3 pull requests merged
  * 3 authors - dnssoftware, caternuson, makermelissa
  * 3 reviewers - caternuson, makermelissa, ladyada
* 0 open pull requests
* 3 closed issues by 3 people, 1 opened by 1 people
* 22 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 2604
Number of supported boards: 50




## 16:00 Hug reports


16:10 @jepler
* Translation contributors.  
* Group hug


@jordan (assumed lurking)


16:40 @kattni
* @siddacious for helping me get started with a driver
* @krayola for continuing with the LED animation library
* Group hug


17:52 @kingernorth (text only)
* Hug to Adafruit for having some time to ship orders, I now have a few new items
* Group hug to all of people helping in Discord and having the patients to answer all of the questions with good decorum


@kjw (“lurking some of the time”)


18:21 @kmatch98 (lurking)
* Hi I’m Kevin from Round Rock (Austin TX) the cyberDuck guy, have been watching y’all for a couple of years now and now “learning the ropes” and trying to contribute something back to the community.
* Thanks everyone for the help and patience and helping me feel welcome!
* Special thanks to foamyguy for work on the “label” library.  Thanks to @jepler for sanity check on “label” memory usage  


18:53 @MakerMelissa
* @BlitzCityDIY for your TinkerBoard PlatformDetect PR
* @Foamyguy for making requested changes right away to Learn Guide PR
* Group Hug


@Mark (Gamblor) (lurking)


@markolsson (lurking)


19:15 @Mr. Certainly [text only]
* Thank you to all of the Community Moderators for their hard work keeping the community a friendly and safe place for everyone.


19:30 @sommersoft
* Group Hug! (because I'm late in preparing this week, and brain not helping.)


19:50 @tannewt
* K0d for insisting I try the example code to fix I2C during my stream.
* Mr Certainly for being a constant positive presence in the Adafruit community.
* Jerryn for helping hathach build CircuitPython ESP32S2


20:42 @v923z
* @kevinjwalters for finding and reporting a bad bug in ulab
* @jepler for sending the bug my way, and for bringing the latest ulab changes in line with circuitpython
* @danh for his insights on micropython/circuitpython compatibility (for diligently reading all micropython git notifications)


21:43 @Andrew Tribble 
* @TammyMakesThings: getting me added as a contributor to the Max30102 circuitpython repo and helping drive support for getting a CircuitPython library created for that.
* Group Hug to All


@anecdata (lurking)


@anneb (lurking)


22:25 @brentru
* @jimbobobbennet for work on enhancing my Azure IoT guide
* @tannewt for ESP32-S2 work, excited to use it
* @jerryn for updated RFM9x guide
* Group hug to the circuitpython community




@cater (lurking)


@cgrover (lurking)


23:20 @charlesburnaford
* Tannewt - find it interesting to watch deep dives, hoping you’ll get to the busio UART soon so we can bring up a MIDI lib.
* Group hug to everyone else


24:02 @danh
* @kjw for continuing to find bugs and documentation issues, and making good suggestions
* @rhooper for _pixelbuf and related library fixes
* @xobs for all sorts of nrf work
* @v923z for continuing to work on an extraordinarily useful library (ulab)
* @kamtom480 for checking on the spresense port and fixing things


@dave p (lurking)


25:22 @DavidGlaude (lurking)
* Group hug


25:26 @Duewester (lurking)
* Massive hug in hopes that all our peeps are safe in these times


25:35 @foamyguy 
* @jimbobbennett for finding and fixing an issue with a recent update of the display_text library
* @kmatch98 for working on textmap to help make text labels that don’t use as much memory
* @MakerMelissa for reviewing my Tilemap Game code, catching a few bugs and offering suggestions for improvements
* Group hug for everyone


26:26 @geekguy (Text Only)
* Group hug


26:33 @hierophect
* @markolsson for reviews and testing help
* @tannewt & @arturo for reviews
* Group hug to everyone


@jasonp  (lurking)


## 27:11 Status Updates




27:48 @Jeff E.
* Last week:
   * Got SDIO on stm32f405 Feather working (not in a PR yet)
   * Lots of little things
* This week:
   * Figure out or hand off the trouble with STM32 HAL_Delay and HAL_GetTick
   * Get a start on SDIO on samd51
   * Some delayed work on ulab
   * Would be nice if I could get back to the background tasks linked list PR
* Extra fun stuff:
   * Modeled and 3D printed replacement valance clips for some blinds
   * Will they hold up for 20 years like the original injection molded parts?


30:27 @kattni
* Last week:
   * Finished up LED animations guide and blogged it.
   * Bug fixes for LED Animation lib.
   * Recorded tutorial for Microsoft.
   * Started AHTx0 driver for AHT20 sensor.
* This week:
   * Library Monday.
   * AHT20 guide.
   * Handed over driver to Ladyada to finish more quickly.
   * Newsletter Video Tuesday.
   * Whatever Wednesday.


33:04 @kingernorth (text only)
* Last week did another live stream this time on I2C using CircuitPython and Arduino on my YouTube channel, kingernorth
* This week getting a new show ready, topic to be determined, as well as trying out and testing the boards I just got, the Clue, Feather nrf52840 Sense and the Teensy 4.1




@kjw (“lurking some of the time”)


33:33 @kmatch98 (text only)
* Created a “textMap” library to reduce the memory usage to display text on LCD displays versus the current “label” library.  Uses a bitmap buffer to draw the text rather than the collection of tileGrids.  Works with BDF loaded fonts, but no builtin FONT right now.
* Now: Markdown parser/renderer in CP:  The work on label and textMap has been a rabbit hole when developing this.  It’s working now but I want to add `code` blocks before sharing version 0.0001
* Also supporting D Glaude for feature request for BLE keyboard input (issue in place).  Maybe in the weeds?


* Other: Exploring how to design print-in-place features for 3D printing  


34:25 @MakerMelissa
* Last Week:
   * Wrote a couple of eInk Bonnet Demos
   * Added a couple more boards to circuitpython.org
   * Reviewed a few Pull Requests
* This Week:
   * Write an arduino sketch so the BNO055 can work with the webserial 3D Model Viewer
   * Whatever else comes up


@Mark (Gamblor) (lurking)


35:20 @markolsson (lurking)
* Last Week
   * Nothing to say really, had a slow week.
* This Week
   * Will get DAPIO finished I think
        


35:31 @Mr. Certainly [text only]
* Non-CircuitPython: Had an ESXi server crash last night on me, and spent some time restoring & rebuilding a handful of virtual machines. Having timely backups helped a lot -- it makes the process much less frustrating. 


35:49 @sommersoft
* Last Week:
   * RosiePi:
      * https://www.physaci.com lives. Its quite barren, as it really only exists for seeing test results. Here is a mocked version if you'd like to see that, rather than a slap-dash index.html (with typos). https://www.physaci.com/job?node=dev-mocked-node-1&job-id=11111111
      * soft-reset-into-bootloader seems to be working again without faults (at least on the RPi4). Must've been a kernel/driver bug that has been fixed. Just happy it's over…
   * Core:
      * Spun up a quick duplicate USB VID/PID checker for the CI.
   * Cookiecutter-adafruit-circuitpython:
      * Started reviewing Flameeyes PR for REUSE licensing. Started attempting to figure out how multiple copyrights work in SPDX format. Couldn’t find anything, then got distracted on other things and forgot to revisit.
* This Week:
   * RosiePi:
      * Back to moving forward! This week will be finalizing the repo cleanup, and moving the rest of them to the physaCI org account.
      * Keep researching a transition to using pytest as a test framework, versus my hand-rolled framework.
   * Cookiecutter REUSE PR review


38:26 @tannewt
* Multiple ESP32S2 fixes checked in.
* Got I2C working on ESP32S2. - not yet checked in.
* Assembled my Saola Feather and USB works! Will be using it for feather testing. https://oshpark.com/shared_projects/z8Tvg3NQ
* Working on completing busio this week.
* Releasing beta.1 this week.


@admiralkhier (assumed lurking)


41:10 @andrew Tribble
* Last Week
   * Continued development of the PyAlert weather radio project. Nothing new to report on the circuitpython side as I develop some back-end things for the project.
   * Picked up a MAX30102 Pulse/Oxygen meter from amazon and have been playing around with the arduino library.
* This Week
   * Plan to help develop and test a circuitpython port of the library for that MAX30102 sensor.
* Fun Stuff:
   *  3D printer is now fully converted to dual-filament/single-nozzle.


@anecdata (lurking)


@anneb (lurking)


43:14 @brentru
* Added FONA3G to the CircuitPython FONA library. There were some differences between the simcom modules and I feel I handled them well. Spent time refactoring behind the scenes to make sure writing CircuitPython cellular code is also easy to read.
* I do want to add voice, it should not take me a long time, but I am taking a break to let this work soak for a while and will hack on other tasks. 


@cater (lurking)


@cgrover (lurking)


44:16 @charlesburnaford
* Didn’t get to much, waiting on ESP32S2, and tannewt mentioned the UART so I can play around with MIDI on it.


45:02 @danh
* Continued to re-implement _bleio for host computers using bleak. Scanning is working except on MacOS; I have an issue open about it. I hope to have a simple example working in a few days
* Finally resolved (I think) a J-Link issue after a dialogue with Segger. The software caches writes to flash for efficiency, and so you may think a write has been performed, but if you disconnect before doing some operation that flushes the cache, the write will be lost. This was especially troublesome when trying to reset fuses.


@dave p. (lurking)


47:25 @DavidGlaude
* Last week:
   * CLUE+Bit:2:Pi+Keybow mini = Mini custom USB keyboard: https://twitter.com/DavidGlaude/status/1266867691782049797?s=20
   * BLE Keybow mini (same as above but wireless): https://twitter.com/DavidGlaude/status/1267082302003314689?s=20


49:10 @Duewester (Lurking)
* New Pi4B+ 8GB with 64 bit OS. - Yay.
* Tried out on Pi4B 4GB and 8gb. SNAPPY!
* Tried out Ninjaflex on Ender 3 Pro - So so results.
* General question - Any issues or expected issues with Blinka and 64 bit OS for Raspberry Pis?
        
50:15 @foamyguy
* Last Week
   * Lots of testing display_text including PRs and fixes for the existing. And looking at the new Bitmap style text labels created by @Kmatch98
   * RFID Badge scanning mock up for work
   * 16x8 LED Matrix Eyes with animations
   * Working on a few suggested improvements for Tilemap Game
* Next Week
   * Work on making some more examples for @kmatch98’s Textmap
   * Make some different eyes and more animations for the 16x8 matrix
   * Look into using external Mic for Tensor Flow lite yes/no word listening
   * Planning for custom 3D Printed Desktop Clock
   * Verify and document potential issue with ugame buttons on pybadge


52:44 @geekguy (Text Only)
* Last week - closed my PR to add the UDOO Bolt to Blinka because I think sysfs is not enabled in the kernel.
* This week - working on multi-display support for the HT16K33 library.


53:02 @hierophect
* Last week:
   * Testing on the mimxrt10xx for Busio, DigitalIO, AnalogIO, I2C Pullups, etc. 
   * Bugfixes and low power testing on the STM32 port
* This week:
   * Moving back to Boston this week
   * Low power fixes for STM32
   * Timer allocator for STM32
   * RGB Matrix for STM32
   * PulseIO for mimxrt if I get to it


@jasonp  (lurking)


## 55:22 In The Weeds
55:42 @v923z
* copyright/branding once more: circuitpython exposes only a handful of pins of the nrf52840. What if a new board exposes all pins? Can that still be called circuitpython? Something similar to https://www.crowdsupply.com/null-byte-labs/circuitbrains-deluxe
   * Yes as long as it is possible to use it with USB in its final form.


1:14:11 @DavidGlaude (with @kmatch98) 
* Feature to make a better cyberDÛCK (self-contain computer running CircuitPython, similar to Lisp Computer): https://hackaday.io/project/171269-cyberdck-a-circuitpython-anatidae#menu-description
   * BLE HID inputs (https://github.com/adafruit/Adafruit_CircuitPython_BLE/issues/84)
   * USB Host for keyboard connecting (@stargirl with Hostess FeatherWing [WIP] or gdsports/usbhostcopro Trinked CoPro)
   * Alternative to USB Serial only for the REPL (Serial UART? Keyboard?)


## 1:28:40 Wrap-Up
