# CircuitPython Weekly for November 16th, 2020


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


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.
________________
## 4:47 Community News
### The Adafruit MagTag CircuitPython eInk Display
 Adafruit MagTag 
 Adafruit MagTag 

MagTag is the latest bit of low-power, magnetic magic from Adafruit! With an 2.9" EPD (ePaper) panel, with a whopping 296 x 128 pixels, capable of 4-bit grayscale and ESP32-S2 processor - Adafruit and Adafruit Learning System Guide.
 PyPortal Adventure 

5:20 Choose your own Adventure, touchscreen control on an Adafruit PyPortal board - Twitter.
 Greyscale party parrots 

5:33 Greyscale party parrots - Twitter.
 Nuevo Workshop Corrosion Monitor 

5:50 Instagram's cedargrove20 posts "Putting the final touches on the Nuevo Workshop Corrosion Monitor. Using CircuitPython and Adafruit IO this time around instead of Arduino and LoRa packet radio. Big thanks to Dave Astels for the groovy LCARS display design!" - Instagram.
 CircuitPython DC Motor Control 

6:10 CircuitPython DC Motor Control - How to Using PulseIO and the L289N Driver Board with an Adafruit Metro M4 Express board - YouTube.
 PyPortal Christmas Countdown 

6:20 Added a "Days 'til Christmas" screen to an Adabox PyPortal information device - Reddit.








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 @anne_engineer on Twitter, or email anneb@adafruit.com.
## 7:50 State of CircuitPython, Libraries and Blinka


### 8:25 Overall
* 30 pull requests merged
  * 17 authors - FoamyGuy, microDev1, dhalbert, weblate, ladyada, kmatch98, Breefield, sporeball, brentru, siddacious, tannewt, jepler, chadkuester, lastcoolnameleft, dglaude, taotien, makermelissa
  * 13 reviewers - FoamyGuy, dhalbert, kattni, ladyada, gamblor21, dherrada, brentru, tannewt, theacodes, jepler, hierophect, siddacious, makermelissa
* 27 closed issues by 14 people, 13 opened by 11 people


### 9:23 Core
* 4 pull requests merged
  * 4 authors - microDev1, tannewt, weblate, sporeball
  * 4 reviewers - hierophect, tannewt, jepler, ladyada
* 25 open pull requests
  * https://github.com/adafruit/circuitpython/pull/3044 (Open 152 days)
  * https://github.com/adafruit/circuitpython/pull/3144 (Open 128 days)
  * https://github.com/adafruit/circuitpython/pull/3192 (Open 115 days)
  * https://github.com/adafruit/circuitpython/pull/3291 (Open 90 days)
  * https://github.com/adafruit/circuitpython/pull/3349 (Open 79 days)
  * https://github.com/adafruit/circuitpython/pull/3454 (Open 54 days)
  * https://github.com/adafruit/circuitpython/pull/3467 (Open 52 days)
  * https://github.com/adafruit/circuitpython/pull/3493 (Open 46 days)
  * https://github.com/adafruit/circuitpython/pull/3513 (Open 40 days)
  * https://github.com/adafruit/circuitpython/pull/3612 (Open 19 days)
  * https://github.com/adafruit/circuitpython/pull/3619 (Open 17 days)
  * https://github.com/adafruit/circuitpython/pull/3643 (Open 12 days)
  * https://github.com/adafruit/circuitpython/pull/3659 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/3662 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/3667 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/3678 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/3677 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/3676 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/3689 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/3691 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/3698 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/3696 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/3695 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/3694 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/3692 (Open 0 days)
* 3 closed issues by 2 people, 5 opened by 4 people
* 329 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 6.0.0: 0 open issues
  * 6.x.0 - Features: 5 open issues
  * 6.x.x - Bug Fixes: 23 open issues
  * 7.0.0: 3 open issues
  * Libraries: 12 open issues
  * Long term: 282 open issues
  * Support: 3 open issues
  * 1 issues not assigned a milestone


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


We’re really close to 6.0 stable.  Expect to see a 6.1 prerelease soon as well.  If you’re using the ESP32s2 use the 6.1 prereleases.  That’s where the work for that microcontroller is being done.
### 11:14  Libraries
* 25 pull requests merged
  * 13 authors - FoamyGuy, ladyada, kmatch98, Breefield, brentru, siddacious, tannewt, jepler, chadkuester, lastcoolnameleft, dglaude, taotien, makermelissa
  * 11 reviewers - FoamyGuy, kattni, ladyada, gamblor21, dherrada, brentru, tannewt, theacodes, jepler, siddacious, makermelissa
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_PM25/pull/8 (Days open: 86)
    * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/pull/51 (Days open: 75)
    * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/pull/52 (Days open: 14)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/46 (Days open: 10)
    * https://github.com/adafruit/Adafruit_CircuitPython_MONSTERM4SK/pull/5 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIS3MDL/pull/14 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/277 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/45 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_IL0373/pull/14 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/50 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/44 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/50 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/98 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/53 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Slideshow/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/8 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/7 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/6 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LC709203F/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/280 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/47 (Days open: 1)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/91 (Days open: 1)
* 22 closed issues by 12 people, 7 opened by 7 people
* https://circuitpython.org/contributing
  * 228 open issues
  * 9 good first issues
  * 31 open pull requests (Oldest: 679, Newest: 1)
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_MagTag](https://github.com/adafruit/Adafruit_CircuitPython_MagTag)
**Updated Libraries**
 * [Adafruit_CircuitPython_MONSTERM4SK](https://github.com/adafruit/Adafruit_CircuitPython_MONSTERM4SK)
 * [Adafruit_CircuitPython_PM25](https://github.com/adafruit/Adafruit_CircuitPython_PM25)
 * [Adafruit_CircuitPython_IL0373](https://github.com/adafruit/Adafruit_CircuitPython_IL0373)
 * [Adafruit_CircuitPython_MatrixPortal](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal)
 * [Adafruit_CircuitPython_LIS3MDL](https://github.com/adafruit/Adafruit_CircuitPython_LIS3MDL)
 * [Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)
 * [Adafruit_CircuitPython_Display_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Text)
 * [Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
 * [Adafruit_CircuitPython_Slideshow](https://github.com/adafruit/Adafruit_CircuitPython_Slideshow)
 * [Adafruit_CircuitPython_LC709203F](https://github.com/adafruit/Adafruit_CircuitPython_LC709203F)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)
We continue to see more libraries added.  I’m always excited to see the updates to the community bundle.  The community bundle is libraries that are not supported by adafruit but which work with circuitpython.  We want to make them available to everyone. Thanks to everyone who has been working on libraries.
### 14:59 Blinka
* 1 pull requests merged
  * 1 authors - dhalbert
  * 2 reviewers - dhalbert, ladyada
* 5 open pull requests
  * https://github.com/adafruit/Adafruit_Python_PureIO/pull/1 (Open 1626 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/20 (Open 53 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/41 (Open 29 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/363 (Open 10 days)
  * https://github.com/adafruit/Adafruit_Blinka_PyPortal/pull/17 (Open 9 days)
* 2 closed issues by 2 people, 1 opened by 1 people
* 46 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 1983
Number of supported boards: 60






## 15:54 Hug reports


17:00 @kattni
* @jepler for a much needed chat
* @foamyguy for always stepping up to take on any quests
* Community Moderators on Discord for handling a flurry of issues in the last couple of days
* @danh for doing the CircuitPython releases
* Group hug!


18:34 @Kevin Thomas - Lurking, Text-Only
* @FoamyGuy for partnering with me to get the CircuitPython IoT Trivia OLED Version tutorial started on the FeatherS2 that we are looking to complete this week or early next week and for helping me to build my FeatherWing Doubler Prototyping add-on for Feather boards.


18:54 @MakerMelissa
* Hug to those who are continuing to work on Requests and make it better
* @foamyguy for continuing to contribute with the display and eInk stuff
* Group Hug


19:19 @Mark(Gamblor) [lurking]
* @danh for a great link to github tags/branches he posted


19:33 @microDev (text only)
* Group hug to the community.
* @Jeff E. for working on consistent error checking of esp-idf calls.
* @danh and @tannewt for taking the deep sleep api even further.


19:52 @Mr. Certainly [text-only]
* Thanks to the entire mod team for an excellent job handling recent DM spam.
* Group hug to everyone for everything you do, making this a place that so many are happy to be a part of.


20:10 @tannewt
* All the discord mods who helped deal with DM spam increase.
* Cwalther for the supervisor level allocation changes.
* BennyE_HH and jepler for the immense help with the TLS issue.
* Foamyguy for helping folks on discord and releasing requests 1.8.1


21:05 @v923z
* @tannewt for helping me out with an embarrassing mistake
* @jepler for his suggestion on using function pointers in ulab


@anecdata (lurking)


@cater (lurking)


21:55 @CGrover (text only today)
* Group hug to the team and community.
* To David Beazley, author of “Python Essential Reference.” I’m wearing out the fourth edition. Dog-eared corners, highlights, and penciled-in CircuitPython specifics abound.
* To my brother for hours of discussions about coding practice and structure.


22:16 @charlesBurnaford (lurking)
* Group Hug to all


@Christian Walther (lurking)


22:27 @dakotah.redstone (lurking/but loving the entire Adafruit community  :) hugs to all )


22:35 @danh
* @tannewt for another conversation on sleep API
* @jepler for perseverance on TLS certificate issue
* @kattni for Learn Guides for idiosyncratic new products


23:35 @David.Glaude (lurking)
* PM25: @kattni and @foamyguy for pushing my PR and adapting the relevant guide
* MagTag: @MakerMelissa library and adding to CircuitPython.org and @kattni for learn guide and everyone else for the code sample.


24:03 @DaveP(lurking)
* Group hug for being a community that welcomes participation.


24:11 @dherrada (lurking)
* Group hug


24:18 @foamyguy
* Github user @iot49 for working on a PR adding msgpack encoding/decoding into the CircuitPython core. I hadn’t heard of msgpack before, but this looks like a really nice way to serialize data for the small microcontrollers we work on.
* @kmatch98 for fixing a bug with bitmap_label not being drawn when it was initialized empty
* Kattni for the guide, and Melissa for the library for Mag Tag. Also anyone else who has worked on esp32-s2 / magtag, tons of great work going on making it easier to get started with these devices.
* @LewsTherinTelamon for offering great help to folks in the #help-with-circuitpython channel
* Discord Moderators who had a few busy days dealing with a wave of DM spammers
* @cater for working on a great learn guide page covering various external display setups.


25:51 @hierophect
* @tannewt for catching me up on UDP stuff
* @me-no-dev for help on Arduino ESP32 stuff
* @jepler, @danh, @kattni, for some git tips this morning
* Thanks everyone who’s working on the low power stuff


@jasonp (lurking)


26:45 @jepler
* Mods for dealing with some bad actors over the weekend
* Scott for a sync-up conversation Friday about ssl
* Dan for continuing to take on the 6.0.0 release process
* @cwalther for continued work on the allocator improvements


27:39 @jerryn
* @BennyE and @jepler - and any others - for finding a fix for the TLS issue on esp32s2
   * Nice to have CheerLights access!
* @foamyguy, @siddacious  and all the other moderators for stepping in to take over with a nasty moderation issue last week. 


## 28:22 Status Updates
29:00 @kattni
* Last week:
   * MagTag guide published - still needs a GIF added
   * Updated the PCB repo cookiecutter to default to main branch when creating the new local copy of the repo with git.
   * Started the What CircuitPython Board is Right for You? Guide.
      * Bluetooth and WiFi pages are done.
      * Started Built In Display page
* Today so far:
   * Updated schematic on Circuit Playground Bluefruit guide Downloads page
   * Finished Built In Display page in board selector guide
   * Updated “3V” pin note for itsybitsy nrf52840 to be clearer (it’s 3.3v)
* The rest of today and this week:
   * Next up for board selector guide: “Little” boards. So…. tiny boards. smol boards. wee boards. Perhaps Lilliputian boards?
   * Add GIF of entering ROM bootloader on MagTag to ROM Bootloader page
   * Test MagTag PyBadger update
   * Fritzing object: BME280
   * Update BME280 guide with STEMMA QT version


33:27 @Kevin Thomas - Lurking, Text-Only
* Last week:
   * Created a micro:bit V2 promotional video, introducing the talking educational database feature.
   * Created a micro:bit V2 C library tutorial to build custom C libraries into the micro:bit V2 firmware.
   * Created a micro:bit V2 Python module tutorial to build custom Python modules into the micro:bit V2 firmware.
   * Worked with @foamyguy to start the CircuitPython IoT Trivia app for the Feather S2 that we are looking to complete this week or early next.
* This week:
   * Work with @foamyguy to continue development on our CircuitPython IoT Trivia app.




34:11 @MakerMelissa
* Last Week
   * Wrote the MagTag library
   * Started working on a WebSerial ESPTool
   * Fixed some board issues on circuitpython.org
* This Week:
   * Fix an issue with the 1.3” display on the Raspberry Pi
   * Make some improvements to the MagTag library
   * Work on fixing WebBluefruit Playground app
   * Take a look at the BNO055 not working with WebSerial
   * Work on WebSerial ESPTool some more


35:16 @Mark(Gamblor) [text-only probably]
* Last Week
   * Took adafruit_bus_device in the core out of draft
* This week:
   * Not sure yet!


35:35 @microDev (text only)
* Last week: 
   * Added default pin definitions for my microS2.
   * Added PCNT reset on user code reload.
   * Worked on implementing Watchdog, NVM, FrequencyIO and i2c-peripheral for the esp32s2.
* This week:
   * I plan to continue my work on i2c-peripheral.
   * Will be working on implementing more modules to further enhance the capabilities of the esp32s2 port.


@Mr. Certainly [lurking]


36:11 @tannewt
* Ran down Grayscale init problem for eink
* Found and fixed luma computation bug.
* Squeezed the metro m0 build down. Primarily done by disabling weak module links.
* Worked on TLS issue with io.adafruit.com and was surpassed by jepler who has proposed a fix.
* This week I’ll be bug hunting.
* Taking Friday off to have a long weekend.




38:00 @v923z
* Partially implemented @jepler’s idea of using function pointers in ulab (leads to massive savings in flash space)
* Added two new functions to ulab, exposed dtype
* Have been fixing smaller bugs, and plan on sorting out a couple of issues in the coming days


@anecdata (lurking)


@charlesBurnaford (lurking)


@cater (lurking)


39:01 @CGrover (text only today)
* Designed the dust-proof enclosure for the *finished* Nuevo Workshop Corrosion Monitor. Very stable with CircuitPython 6.0.0-rc.0. Adafruit IO is working nicely. Many trials and tribulations creating abstracted sensor classes and a robust automated display scheme while managing memory use. Wonderful learning opportunity.
* The DC motor characterization apparatus project will commence later this week with the construction of the 2020 frame and installation of torque-measuring load cells. The device is based on the Feather M4 Express, a TFT display, two Feather MotorWings, two INA260 breakouts (on a custom wing), and a custom dual 24-bit ADC wing for the load cells -- running CircuitPython of course. The project is an automated dynamometer that will be used to characterize small DC motors, particularly to test and verify some new ideas to increase low-speed torque.


40:06 @Christian Walther
* Pull requests for movable supervisor allocations are ready (#3695, #3454, #3696), apart from minor breakage in mimxrt10xx and xtensa boards, will fix that shortly. Features overflow flash on some smaller boards, is there a standard procedure for prioritizing features for those?


@dakotah.redstone (lurking)


41:51 @danh
* Released CircuitPython-6.0.0-rc.2. We hope this will turn into 6.0.0 final, maybe today (see In the Weeds).
* Updated Adafruit Windows drivers package for new boards. Next time I will automate it.
* Pondered light/deep sleep API, and now working on initial code base supplied by @tannewt and @microDev for ESP32-S2.


43:31 @David.Glaude (lurking)
* CircuitPython meeting timestamp encoder:
   * CLUE: https://gist.github.com/dglaude/75b90856b7fbab4632788a63f2694f82
   * QT-Py: https://github.com/dglaude/my_qtpy_trick/blob/main/meeting_timestamp_keyboard.py (use scroll lock key)
* Re-evaluating what is needed to make EnviroPlus-FeatherWing more CP standard
* PM25:
   * Re-tested the merged code (works but I have a lot of UART error => cable?)
   * Made a PR with the best improvement from @Gadgetoid
   * Tested the UART active mode
* Trying “ ‘close enough’ clock” to see if I can port that from MatrixPortal to “MagTagPortal”: https://forums.adafruit.com/viewtopic.php?t=171541
* New hardware for an ESP32S2 week:
   * Feather S2 arrived but no uf2 and no CircuitPython, troubleshooting right now.
   * MagTag is hostage from DHL despite paying import tax 7 days ago.


@dherrada (lurking)


44:49 @foamyguy
* Worked on IoT Trivia app with @Kevin Thomas using opentbd API and UM Feather S2 + OLED Featherwing.
* Added SPI, I2C, and UART aliases on the board module for UM Feather S2 inside CircuitPython core.
* Testing Mag Tag demos
* Adding Mag Tag support to PyBadger library
* Found a bug with esp32-s2 and gamepad get stuck at 0 value after resetting device
* Next week
   * Add support for text slides in the SlideShow library
   * Play with chained RGB matrices to make 64x64 display
   * Update displayio example scripts in library repos to use display variable and link to new guide page.
   * Look into moving wrap_nicely() into display_text library


48:02 @hierophect
* Last week:
   * UDP compiling work
   * SPI peripheral work
* This week
   * UDP 
   * Neopixel fixes
   * Figure out a better covid situation


@jasonp (lurking)


48:58 @jepler
* Last week:
   * Finally made some headway on esp32s2 i2s audio output
   * Tracked down & PR’d a fix for the esp32s2 io.adafruit.com / thingspeak
   * Broke and then fixed the requests library (but the tests passed!)
* This week
   * Looking into reported esp32s2 i2c problem -- I’m not reproducing as reliably as ladyada
   * Returning to esp32s2 audio next


50:03 @jerryn
* Mostly just trying to test fixes for the esp32s2 TLS and playing with my new MagTag
* Got a bit burned out by the moderation issues last week. Taking a break this week.
* Very little time available this week due to other demands. Just trying to keep up….




## 52:14 In The Weeds
52:57 @jerryn -- this should be brief
* Guidance for non-UF2 boards -- do we want to encourage upgrading the bootloader (can be done via Arduino w/o J-Link - https://learn.adafruit.com/installing-circuitpython-on-samd21-boards/installing-the-uf2-bootloader ) or mention it as an option along with bossac instructions. The warning on this page is a bit misleading https://learn.adafruit.com/adafruit-rfm69hcw-and-rfm96-rfm95-rfm98-lora-packet-padio-breakouts/circuitpython-for-rfm9x-lora#usage-with-all-in-one-feather-m0-2983365-7 It says “you must” replace the bootloader. Also needs a link to how to do it… OK do do some editing/updating of the rfm69/9x guides? 
* Are boards still shipped with non-uf2 bootloader?


57:16 @danh - Release 6.0.0 final today?


57:58 @Christian Walther
* How to prioritize features for boards with limited flash space?
## 1:02:50 Wrap-Up
