# CircuitPython Weekly for May 4th, 2020

Video is available here [on YouTube](https://youtu.be/QJuB6OY1B-w) and [on diode.zone](https://diode.zone/videos/watch/3acfdbc8-0fdd-4461-808c-99a37decfb3e).

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

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:16 Community News
HackChat this week is ESP32-S2 with Limor and Scott. https://hackaday.io/event/170992-esp32-s2-hack-chat-with-adafruit


5:55 5.3.0 is released! https://blog.adafruit.com/2020/04/22/circuitpython-5-3-0-rc-0-released/


6:40 An MQTT-based CircuitPython Library for Azure IoT https://techcommunity.microsoft.com/t5/internet-of-things/use-circuitpython-with-iot-central/ba-p/1276986#


7:04 The Adafruit Internet of Things Monthly Newsletter https://blog.adafruit.com/2020/05/01/icymi-adafruit-iot-monthly-quarantine-clock-smarter-than-your-speaker-and-more-adafruit-iot-newsletter-icymi-adafruit-adafruitio-circuitpython/


7:23 The Melbourne MicroPython Meetup presents their March-April News Roundup, discussing the latest MicroPython news. This issue has a shout out to Adafruit and Scott Shawcroft on CircuitPython: "Especially loving the inspiring way that you folks are running the business in such a difficult time. Stay safe and keep up the amazing work!" - Twitter and GitHub.io.


8:39 MIT CSAIL posts that "Springer just made 400+ textbooks free to download, including CS books on Python, deep learning, data science & AI."
Great timing! If you are looking for some programing books in general and Python programming in specific, this is great! - Twitter and Springer.
9:02 The Evo M51 Module is a Feather-sized board feauturing both a Microchip SAMD51 microcontroller and a MAX 10 FPGA. The board is designed to support CircuitPython and is also programmable with the Arduino IDE - Alorium Technology and YouTube.
9:30 Adafruit has always been an open source hardware company, predating the Open Source Hardware Association (OSHWA) certification process. We have begun submitting all of our hardware to OSHWA for certification as Open Source.


10:29 Adafruit Industries continues to run with 100% of employees being paid and continuing to work. Most are working remotely, with some working in the Manhattan, New York factory as an essential service and business under NYC Executive Order 202.6 Capabilities. Adafruit was deemed an essential service to distribute/make some PPE (Personal Protection Equipment) such as face shields, and manufacturer electronics for essential life-saving/preserving equipment and development which is needed in New York and beyond. - Blog
## 11:41 State of CircuitPython, Libraries and Blinka
### 11:57 Overall
* 23 pull requests merged
  * 16 authors - tannewt, BiffoBear, dhalbert, makermelissa, xobs, rhooper, FoamyGuy, dunkmann00, JoeBakalor, caternuson, jimbobbennett, jerryneedell, geekguy-wy, spkuehl, kattni, hierophect
  * 11 reviewers - brentru, tannewt, makermelissa, dhalbert, FoamyGuy, ladyada, jepler, caternuson, jerryneedell, kattni, hierophect
* 39 closed issues by 13 people, 13 opened by 13 people


Overall: 5.3 is stable and I expect 5.3 to be our stable release for a little while.  Lower power was checked into master which will make it more unstable.  Expect to see an unstable release for 5.4 this week, and possibly more unstable releases before this is final.  On the libraries side, Kattni has been doing a lot of housekeeping.  Taking care of these older PRs shows the health of the project.  Kudos to Kattni for keeping all of those repos healthy and up to date.  On the Blinka side, I continue to see lots of people using blinka.  Lots of good stuff there.
### 14:37 Core
* 6 pull requests merged
  * 5 authors - tannewt, xobs, JoeBakalor, spkuehl, hierophect
  * 5 reviewers - tannewt, dhalbert, ladyada, jepler, hierophect
* 17 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2366 (Open 146 days)
  * https://github.com/adafruit/circuitpython/pull/2675 (Open 62 days)
  * https://github.com/adafruit/circuitpython/pull/2754 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/2780 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/2799 (Open 12 days)
  * https://github.com/adafruit/circuitpython/pull/2810 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/2827 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/2823 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/2831 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/2837 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/2835 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/2833 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/2842 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/2841 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/2845 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/2844 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/2847 (Open 0 days)
* 4 closed issues by 4 people, 4 opened by 4 people
* 284 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 5.x.0 - Features: 6 open issues
  * 5.x.x - Bug Fixes: 25 open issues
  * 6.0.0: 25 open issues
  * Libraries: 11 open issues
  * Long term: 198 open issues
  * Support: 4 open issues
  * 15 issues not assigned a milestone


* Core download stats available at https://circuitpython.org/stats
### 15:50 Libraries
* 15 pull requests merged
  * 11 authors - tannewt, BiffoBear, dhalbert, rhooper, FoamyGuy, dunkmann00, caternuson, jimbobbennett, jerryneedell, geekguy-wy, kattni
  * 9 reviewers - brentru, tannewt, dhalbert, FoamyGuy, ladyada, jepler, caternuson, jerryneedell, kattni
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MSA301/pull/4 (Days open: 81)
    * https://github.com/adafruit/Adafruit_CircuitPython_MSA301/pull/5 (Days open: 80)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/74 (Days open: 68)
    * https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT/pull/11 (Days open: 17)
    * https://github.com/adafruit/Adafruit_CircuitPython_RFM9x/pull/42 (Days open: 17)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/82 (Days open: 6)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/36 (Days open: 6)
    * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/76 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_Pypixelbuf/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel_SPI/pull/15 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DS2413/pull/21 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/83 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MLX90640/pull/17 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/245 (Days open: 1)
* 29 closed issues by 9 people, 7 opened by 7 people
* https://circuitpython.org/contributing
  * 157 open issues
  * 26 open pull requests (Oldest: 483, Newest: 1)
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter](https://github.com/adafruit/Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter)
**Updated Libraries**
 * [Adafruit_CircuitPython_ADXL34x](https://github.com/adafruit/Adafruit_CircuitPython_ADXL34x)
 * [Adafruit_CircuitPython_CCS811](https://github.com/adafruit/Adafruit_CircuitPython_CCS811)
 * [Adafruit_CircuitPython_Pypixelbuf](https://github.com/adafruit/Adafruit_CircuitPython_Pypixelbuf)
 * [Adafruit_CircuitPython_PyPortal](https://github.com/adafruit/Adafruit_CircuitPython_PyPortal)
 * [Adafruit_CircuitPython_NeoPixel_SPI](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel_SPI)
 * [Adafruit_CircuitPython_DS2413](https://github.com/adafruit/Adafruit_CircuitPython_DS2413)
 * [Adafruit_CircuitPython_AzureIoT](https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT)
 * [Adafruit_CircuitPython_NeoPixel](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel)
 * [Adafruit_CircuitPython_RFM9x](https://github.com/adafruit/Adafruit_CircuitPython_RFM9x)
 * [Adafruit_CircuitPython_MLX90640](https://github.com/adafruit/Adafruit_CircuitPython_MLX90640)
 * [circuitpython](https://github.com/adafruit/circuitpython)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)
### 18:04 Blinka
* 2 pull requests merged
  * 1 authors - makermelissa
  * 2 reviewers - makermelissa, ladyada
* 1 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/282 (Open 1 days)
* 6 closed issues by 2 people, 2 opened by 2 people
* 27 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 2174
Number of supported boards: 46
## 19:08 Hug reports
20:00 @tannewt
* @xobs for leading the way on the nRF52833. Happy to see a PR for the dev kit
* Paul from PJRC for getting me a beta Teensy 4.1. Will do a board def soon.
* @WarriorOfWire for starting to add native rectangles to displayio.
* @hathach for helping fix the SAMD21 USB issue in lower power.
* @LearnWeaver for countio
* @danh for sticking with me on the lower power reviews
* @rhooper and @dunkman00 for pypixelbuf


22:48 @TG-Techie: not present due to finals
* @community for being an awesome place to hangout / learn and for lowering the bar for all incoming makers
* @jerryn for pointing out an error
* @danh and @sommersoft for answering questions about the inner workings of circuitpython at un-goshly hours of the night
* A retro active hug to @tannewt and @makermelissa for all their display work


23:23 @v923z (most probably can’t make meeting)
* @jepler for his valiant efforts with my PR to Adafruit Learning Guide
* @hierophect for digging out the micropython PRs for a discussion on user modules
* @95Fox, @tannewt, and @danh for suggesting the inclusion of the interp method in ulab.


@anecdata (lurking)


@anneb (lurking)


23:58 @brentru
* @kattni for hosting s&t
* @xobs for work adding cryptography functions to CircuitPython
* @tannewt for cont’d work on low power modes and for ESP32-S2 work
* @jim bennet (Microsoft) for making the CircuitPython Azure IoT library more robust and adding useful helper libs (Parse, HMAC) to the community bundle.  


@cater (lurking)


24:58 @charlesburnaford
* This week still working on the keyboard.  Basic functionality, but still working on it.  Appreciate the help from several people in other parts of the project.
* General hug report to everybody.


25:55 @danh
* @kattni for going through all the library issues
* @hathach for fixing a TinyUSB issue in an instant
* @tannewt for lower_power merge
* @xobs for nRF52833 and other nRF work, comments, and issues


@dave P (lurking)


27:00 @David Glaude (lurking):
* @burtyb for the Commander board and the USB Power Switch 2 on 8086.net
* @stargirl in advance for the USB host feather, and double hug if this can be done with a Feather M0 Express just by cutting a few pins
* @Kevin Walters for the great clue sensor plotter learn guide


27:28 @foamyguy (Text Only today)
* Group hug
* Belated hug for @deshipu for work on PewPew / ugame RGB color fix
* @jerryn for work on RFM9x LoRa library


27:46 @geekguy (Text only)
* @tannewt for his work on the low power and ESP2-S2 stuff.
* @kattni for her amazing work behind the scenes.
* @makermelissa for her work on Blinka
* @jerryn for his work on the RFM69 and RFM9x libraries


28:12 @hierophect
* @MarkOlsson for more great STM32 PRs 
* @Arturo for his review of my i.MX PR as I just get started on it
* @Arturo again with a belated thank you for his advice about building the Serpente, I’m trying to create my own hardware project and his advice was really great
* @Tannewt for PR reviews
* Group hug for being a great, respectful community.  I saw a lot of great discussions this week and I’m grateful to be in a community where people can handle differences in a respectful way.


@jasonp (lurking)

29:46 @jepler
* To @kattni for hosting her first Show & Tell
* To @krayola for pixelbuf doubling the speed of my NeoPIxels, and for giving RGBMatrix a try
* To @tannewt for finally landing the Lower Power patches
* To @hierophect in advance for working on adding RGBMatrix to other stm microcontrollers, I’m happy to help you get going with that code.
* To @v923z for contributing an improvement for the ulab guide
* Group hug


31:50 @jerryn
* @foamyguy for testing the rfm9x PR
* Group hug

32:25 @kattni
* @krayola for the epic work that went into pixelbuf. Started just over two years ago at PyCon and had an amazing amount of effort go into getting it ready to release.
* @JohnPark, @MakerMelissa, @Jepler and @krayola for dropping by my first Show and Tell - I didn’t expect to have anyone, and ended up with the four of you and 1 community member!
* @FoamyGuy for taking on whatever comes his way
* Continued group hug to the community for remaining positive and supportive through everything happening, and being amazing to all the new folks joining us


@kingernorth (lurking)


33:57 @makermelissa
* @kattni for hosting the Show and Tell on Thursday
* @geekguy for your dedication to the Segmented Displays
* Group Hug


@manelms2000 (lurking)


34:24 @markolsson (Text-only) (May the 4th be with you)
* @hierophect: for adding this STM32: Add port readme, make flash #2819
* Emma, my wife for letting me spend all week coding on CircuitPython


@Mr Certainly (lurking)


34:53 @sommersoft
* Group hug!


35:13 @stargirl (text only)
* @danh for helping me understand SPI
* The USB hackers discord for helping me figure out USB host.
## 35:38 Status Updates
36:02 @tannewt
* Lower power is checked in! Want to release a beta this week so more people try it. We’ll likely want to optimize background calls before releasing stable because they currently hamper performance.
* Heads down on ESP32-S2. Have one more linker error but it certainly won’t run yet. “warning: pthread_setcancelstate is not implemented and will always fail” Once it links, will be integrating into FreeRTOS.
* ESP32-S2 hack chat on Wednesday at noon pacific!
* May take a peek at ‘833 to see if I can’t spot the USB issue.
* Streaming Friday again. Here is last week’s: https://www.youtube.com/watch?v=emvVydYoGxw


38:16 @kattni
* Last week:
   * Completed library GitHub issue sweep.
      * Involved fixing a number of issues, closing many that are no longer a problem, poking original authors for input or resolution, and adding a few labels.
   * Newsletter video.
   * Hosted JP’s Show and Tell on Thursday.
   * Misc.
* This week:
   * Going back through the library GitHub issues, add labels to as many of the rest as possible, and catch anything I missed.
   * Find or order motor hardware
   * Newsletter video.
   * Hosting JP’s Show and Tell on Thursday - I’ve exhausted my ringers, if you’re interested in stopping by, it’s at 5:30pmET on Thursday, please do!
   * Possibly misc.
   * Next up is mystery - will be pinging Ladyada for what’s next


41:20 @TG-Techie: not present due to finals
* Last Week:
   * Worked on the circuitpython “not dumb”-watch stability and error handling; The “only” issue left is to stop the device from booting into safemode once the battery dies and it is plugged back in. might use the onboard attiny10 to reset on power up but an all circuitpython solution would, of course, be prefered.
   * Performed a cost analysis for ordering multiples of the watch in small batches with PCBA, looks like it my be (kind of) reasonable if ordering 10 or more at a time
* Next Week:
   * On-line finals
   * Finish the pull for adding timeouts to adafruit_busdevice
   * Look into freertos and zephyr as a backbone for the watch mush later ?



42:15 @v923z (most probably can’t make meeting)
   * Added the interp method to ulab (this was a circuitpython community suggestion, again, thanks for it!).
   * Implemented configurable pretty printing of ndarrays.
   * Have been/am still working on an exciting new ulab feature. Almost done, more on this next week.


@anecdata (lurking)


@anneb (lurking)


43:07 @brentru
   * Done with sem., will be in CPY Weekly meetings now instead of listening on my walk
   * Wrapping up FONA/Cellular for CPY, guide later this week.
   * Spent some extra time last week on increasing the module’s reliability
   * If you have a FONA808 lying around - I would appreciate feedback, 
   * Looking at refactoring it after the mtg to be more coherent and python-y


@cater (lurking)


45:58 @charlesburnaford
   * I’m now working on implementing “after touch” in the keyboard.  I got it basically function as an organ-style keyboard, meaning no velocity sensitivity.  It’s got a very curious way of implementing velocity sensitivity.  There are two switches, and it times between the two switch closures.  I may have to resort to going back to Arduino to get that to work, but right now I do have a keyboard that works like an organ.  I assign it an arbitrary velocity.
   * Happy Cinco de Mayo to everybody
47:51 @danh
   * Still more work on PacketBuffer to figure out permitted packet sizes. Need to fix MIDI issues.
   * Adafruit web dev gave me infrastructure permissions to do CircuitPython download log processing. Now I just have to write the script (adapting from @tannewt’s).
   * Checked out BLE body-weight scale and blood-pressure monitor. BPM is just measurement history over BLE: not so interesting.
   * To do:
   * Finish PacketBuffer work.
   * Look at background task scheduling now that lower_power is merged.
   * Start on bleak for _bleio on host computers.
   * Automate download count processing.


@dave P (lurking)


50:33 @David Glaude (lurking):
   * Using the “Commander” as mouse wiggling to simulate user activity
   * Controlling a USB powered disco light from Bluetooth: https://twitter.com/DavidGlaude/status/1256612823251267586?s=20


51:00 @foamyguy (Text Only today)
This week
   * Testing the RFM9x reliable datagram PR
   * Testing the TFT Gizmo used in conjunction with I2C based sensors
   * Created a very basic command line messaging system with the new RFM9x library updates
   * Outside CP: First time playing Terraria 
Next week        
   * Working to finish up the Tile Game guide. Testing compatibility with Pew Pew M4 in addition to PyGamer and PyBadge.
   * Adding rotation support in the APDS9960 Gesture Sensor Library


52:05 @geekguy (Text only)
   * This week
   * Setting my new UDOO Bolt board up so I can run x86 software. It is arriving today!
   * Learning how to build Circuitpython
   * Getting back into working with my Jetson Nano to learn more about Machine Learning and Deep Learning.


52:28 @hierophect
   * Last week
   * Wrote a proper readme for the STM32 port, with instructions on flashing
   * Added a make-flash option to the stm32 port so you don’t have to look up the syntax for DFU-util every time you want to flash a new build
   * Added the OpenMV board to Circuitpython
   * Added DisplayIO to the H7, which should allow some beefy screen sizes
   * Got started on my i.MX PRs, with support for one-directional SPI in the Busio module
   * This week:
   * Working on the LED matrix code, apparently! And I’ve already been thanked for it and everything so I’d better hop to it. 
   * Keep working on the i.MX with new pin features like resetting, claiming, etc
   * If I get my Toasty in I’ll probably add that real quick
   * Still have to revisit the F7 to get ITCM support working so I’ll make a pit stop on that when I have a sec. 
   * Personal
   * Made a trip into Boston to get a bunch of my breakouts, including an e-paper one, so I’ll be working more on my e-paper flashcards app. 


@jasonp (lurking)

56:55 @jepler
   * Last week: STM32F4xx support for protomatter
   * Still need to check that nRF, samd51 were not adversely affected
   * This week:
   * Weblate
   * SD card library in C, rather than Python
   * Some requested ulab PR reviews
   * Getting back to MP3 player project at some point, maybe next week


58:13 @jerryn
   * Released rfm9x updates
   * Not much CP time again this week
   * That should improve soon.
   * Done with woodshed
   * Next week -- move wood into woodshed ...


@kingernorth (lurking)


@manelms2000 (lurking)


59:24 @makermelissa
   * Last Week
   * Finished adding Rock Pi S to Blinka
   * Learned how to setup PWM for Blinka
   * Created Generic AnalogIn and AnalogOut classes for Blinka
   * Created an Extended Bus library to allow directly specifying an I2C bus number without breaking compatibility
   * Worked on external bitbangio I2C library
   * Closed a bunch of Blinka issues
   * This Week
   * Finish bitbangio I2C library
   * Add missing pack_into function to Blinka_bleio
   * Start looking into adding Blinka Support for the GreatFET one
   * Whatever else comes up


1:00:59 @markolsson (Text-only)
   * Last Week
   * Working on VCP, ready to get the PR reviewed
   * ESP32S2 linker issues investigation
   * Testing various things in CircuitPython to familiarize myself with how it works. (Improving my python knowledge)
   * Next Week
   * Finish VCP
   * SWDIO (flash bootloader from one working device to another)
   * Look into adding openocd/gdb Makefile targets


@Mr Certainly (lurking)


1:01:55 @sommersoft
   * Last Week:
   * RosiePi:
   * Mostly just debugging OS lockups when putting a board into bootloader on Linux. Still no definitive answer.
   * Code cleanup and linting.
   * Adabot:
   * Started implementing changes to the example filename checks, to ignore underscores in example where it makes filenames more legible. I have two approaches working; will submit draft/RFC today.
   * This Week:
   * adabot: finish example_file_with_underscores.
   * RosiePi:
   * Keep looking into OS/bootloader lockups.
   * Start working on webpage display of full test results, to link into GitHub checks page.


1:05:03 @stargirl (text only)
   * Eagerly awaiting the assembled boards for Big Honking Button & Sol from MacroFab.
   * Working on a Featherwing that acts as a SPI controlled USB host. 


## 1:05:37 In The Weeds
   * @tannewt: Trademark discussion. Thoughts on making builds default to a different name? That way forks and their builds (including dev builds) are not branded as CircuitPython. We’d have an environment variable to specify it and set it in our CI. No one else should set it to CircuitPython (but other names are totally cool.) Name ideas (bonus points for it being a Monty Python reference):
   * VoltageEel
   * ElectricEel
   * ElectricSnake
   * PhysicEel
   * EelTronics
   * EmbeddedEel
   * Eels on a PCB
   * Lumberjack
   * Blancmange
   * CircuitShrubbery
   * FlyingCircusPython
   * NiPython
   * 1:20:49 @jepler: I have been working on setting up a self-hosted Weblate for translating CircuitPython into other languages.  What additional steps should we take before a “soft launch” where we invite interested people via discord to try the website?
   * 1:31:10 @jepler Can we highlight open source hardware on circuitpython.org?  Make it a search criterion, show a symbol, etc?
   * 1:39:04 @markolsson: The issue “is not implemented and will always fail” is likely just a cryptic way of saying the lib is not included.@tannewt
   * -Wl,--trace-symbol=SYMBOL


## 1:40:24 Wrap-Up
