# CircuitPython Weekly for November 30, 2020

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

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:55 Community News

5:05 Deep Sleep support coming to ESP32-S2 CircuitPython

Deep Sleep support coming to ESP32-S2 CircuitPython - Adafruit Blog
The Adafruit MagTag was made for “deep sleep”, thanks to the always-on eInk display. Thanks to a new pull request, we’re getting the beginnings of light and deep sleep support. We can get down to 250uA on the MagTag when in deep sleep which will let the board run for weeks at a time. Check it out and subscribe to the PR to get notifications when it gets merged into main! We are testing it with data from https://covidtracking.com.
Hackster.io also has a current article summarizing the latest on CircuitPython's deep sleep support on the ESP32-S2 - Hackster.io.

5:47 guizero and circuitpyui - a lightweight graphical user interface libraries for Python and CircuitPython

guizero is a Python 3 library for creating simple graphical user interfaces (GUIs) on Linux/Windows/Mac/Raspberry Pi - GitHub.io

If you are looking for a similar concept framework for microcontrollers, see circuitpyui - GitHub.

6:16 Developing the NAU7802 24-bit ADC FeatherWing

Testing with a custom NAU7802 24-bit ADC FeatherWing and Stemma-QT connected Clue. Using a device library developed in CircuitPython, it measures up to two load cells connected to the custom FeatherWing. - Twitter.
Developing a CircuitPython 6.0.0 library for the NAU7802 24-bit ADC FeatherWing was a worthwhile educational experience.

6:48 A Stock Ticker with CircuitPython
 Stock ticker 

A stock ticker with an Adafruit MatrixPortal. A possible Christmas gift idea in a beautiful wooden case - Twitter and code - Adafruit Forums.
7:09 CircuitPython Monday: Big sale today on CircuitPython Hardware
TODAY, Nov 30: It's CIRCUITPYTHON MONDAY at Adafruit! Use the code ADATHX to get 20% off CircuitPython boards and 15% off items storewide! 
  



7:28 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.
## 8:37 State of CircuitPython, Libraries and Blinka


### 9:01 Overall


* 28 pull requests merged
  * 27 authors - begeistert, dhalbert, DougBurke, tannewt, jepler, aoyamaprod, siddacious, ehershey, Anton-2, SaintGimp, arturo182, hierophect, makermelissa, anecdata, danybd, sporeball, FoamyGuy, weblate, wtuemura, sgzmd, kattni, ladyada, skerr92, hathach, jerryneedell, jamesbowman, Gadgetoid
  * 9 reviewers - gamblor21, dhalbert, tannewt, jepler, siddacious, kattni, ladyada, brentru, makermelissa
* 14 closed issues by 8 people, 13 opened by 13 people


### 10:28 Core
* 10 pull requests merged
  * 17 authors - begeistert, dhalbert, tannewt, jepler, aoyamaprod, ehershey, Anton-2, arturo182, hierophect, danybd, sporeball, weblate, wtuemura, ladyada, skerr92, hathach, jamesbowman
  * 4 reviewers - ladyada, jepler, dhalbert, tannewt
* 24 open pull requests
  * https://github.com/adafruit/circuitpython/pull/3044 (Open 166 days)
  * https://github.com/adafruit/circuitpython/pull/3144 (Open 142 days)
  * https://github.com/adafruit/circuitpython/pull/3291 (Open 104 days)
  * https://github.com/adafruit/circuitpython/pull/3349 (Open 93 days)
  * https://github.com/adafruit/circuitpython/pull/3454 (Open 68 days)
  * https://github.com/adafruit/circuitpython/pull/3493 (Open 60 days)
  * https://github.com/adafruit/circuitpython/pull/3513 (Open 54 days)
  * https://github.com/adafruit/circuitpython/pull/3612 (Open 33 days)
  * https://github.com/adafruit/circuitpython/pull/3619 (Open 31 days)
  * https://github.com/adafruit/circuitpython/pull/3643 (Open 26 days)
  * https://github.com/adafruit/circuitpython/pull/3659 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/3662 (Open 20 days)
  * https://github.com/adafruit/circuitpython/pull/3677 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/3696 (Open 14 days)
  * https://github.com/adafruit/circuitpython/pull/3695 (Open 14 days)
  * https://github.com/adafruit/circuitpython/pull/3730 (Open 10 days)
  * https://github.com/adafruit/circuitpython/pull/3733 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/3738 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/3752 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/3767 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/3771 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/3770 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/3768 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/3773 (Open 0 days)
* 4 closed issues by 3 people, 4 opened by 4 people
* 340 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
  * 6.0.x: 3 open issues
  * 6.1.0: 7 open issues
  * 6.x.0 - Features: 6 open issues
  * 6.x.x - Bug Fixes: 23 open issues
  * 7.0.0: 3 open issues
  * Libraries: 12 open issues
  * Long term: 283 open issues
  * Support: 5 open issues
  * -2 issues not assigned a milestone


Overall: Doing pretty good at addressing issues.  We have 6.1 beta 1 out which is good and I expect to do beta 2 with deep sleep soon.  After that we’ll see a lot of related pieces come in to the picture too.  The 6.0 stable release is pretty good but there are a few issues that have come in.  We should recommend people to use 6.0 or 6.1 beta, and anyone on esp32s2 should use the 6.1 releases, not 6.0.
### 13:49 Libraries
* 18 pull requests merged
  * 12 authors - FoamyGuy, DougBurke, tannewt, Gadgetoid, sgzmd, siddacious, kattni, ladyada, SaintGimp, makermelissa, jerryneedell, anecdata
  * 7 reviewers - gamblor21, ladyada, brentru, tannewt, siddacious, makermelissa, kattni
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_INA260/pull/14 (Days open: 22)
    * https://github.com/adafruit/Adafruit_CircuitPython_Slideshow/pull/27 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/55 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/25 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_WS2801/pull/18 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/pull/42 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_EMC2101/pull/1 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ProgressBar/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BME680/pull/34 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BME280/pull/41 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/54 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/25 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/24 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/19 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/48 (Days open: 1)
* 9 closed issues by 7 people, 9 opened by 9 people
* https://circuitpython.org/contributing
  * 238 open issues
  * 9 good first issues
  * 34 open pull requests (Oldest: 693, Newest: 1)
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_RPLIDAR](https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR)
 * [Adafruit_CircuitPython_MatrixPortal](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal)
 * [Adafruit_CircuitPython_Display_Shapes](https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes)
 * [Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)
 * [Adafruit_CircuitPython_INA260](https://github.com/adafruit/Adafruit_CircuitPython_INA260)
 * [Adafruit_CircuitPython_Slideshow](https://github.com/adafruit/Adafruit_CircuitPython_Slideshow)
 * [Adafruit_CircuitPython_LIS3DH](https://github.com/adafruit/Adafruit_CircuitPython_LIS3DH)
 * [Adafruit_CircuitPython_Fingerprint](https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint)
 * [Adafruit_CircuitPython_Bitmap_Font](https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font)
 * [Adafruit_CircuitPython_ImageLoad](https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad)
 * [Adafruit_CircuitPython_ProgressBar](https://github.com/adafruit/Adafruit_CircuitPython_ProgressBar)
 * [Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
 * [Adafruit_CircuitPython_MagTag](https://github.com/adafruit/Adafruit_CircuitPython_MagTag)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


### 17:06 Blinka


* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 6 open pull requests
  * https://github.com/adafruit/Adafruit_Python_PureIO/pull/1 (Open 1640 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/20 (Open 67 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/41 (Open 43 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/363 (Open 24 days)
  * https://github.com/adafruit/Adafruit_Blinka_PyPortal/pull/17 (Open 23 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/120 (Open 5 days)
* 1 closed issues by 1 people, 0 opened by 0 people
* 47 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 2355
Number of supported boards: 60


## 17:49 Hug reports


@anecdata (lurking)


@anneb (lurking)


18:59 @brentru. 
* Group hug
* @danh deep sleep API work, will be useful for lots of iot projects


@cater (lurking)


19:17 @danh
* @hathach for quick work on a new status API call and for continuing work on ESP32-S2 USB disconnect support.
* @tannewt and @ladyada for continuing sleep API discussions, and @Mark (Gamblor) for comments.
* @jepler for continued size pruning and for trying out gcc10 with the previous release. 


@DaveP (lurking)


21:00 @David.Glaude (lurking)
* @fivesixzero (Erik Hess) completely rewritten PM25 UART
* @n0mn0m (Alexander Hagerman) for CircuitRoomba library
* @foamyguy for the MagTag progress displays


@dherrada (lurking)


21:28 @foamyguy
* @krittick for figuring out and sharing how to set up circuitpython stubs in PyCharm
* Github user @lila work making a PR adding a mask parameter for the sparkle led_animation
* @KevinThomas teaming up on the IoT Trivia app and publishing it over this past weekend.


22:21 @hierophect
* Group hug


@jasonp (lurking)


22:34 @jepler
* Group hug


22:50 @jerryn
* Group Hug


22:57 @kattni
* Thanks to all of the *helpers on the Adafruit Discord for all the assistance and positivity they provide to any member of the server - new and current alike. 
* @foamyguy for more library work.
* @LewsTherinTelemon on Discord for helping out all over the server, including the CircuitPython channels
* @danh for all the work on deep sleep in CircuitPython
* New folks who are putting in library PRs and reviewing PRs.


24:05 @Kevin Thomas - lurking - text only
* Group hugs
* Hugs to FoamyGuy for working with me to release the ESP32-S2 IoT Trivia App yesterday.


24:20 @MakerMelissa:
* Hugs to the folks who submitted boards on circuitpython.org
* Group Hug


24:30 @Mark(Gamblor) [lurking]
* Group hug
* @danh for the deep sleep API that I got to test on the weekend


24:44 @microDev (lurking)
* @hathatch for TinyUF2         
* @danh for continued work on deep sleep api
* @tannewt and @heirophect for PR reviews


@Mr. Certainly [lurking]


18:24 @tannewt
* Dan for the hard work and thought on deep sleep. PR!!
* New folks: Krittick, and Dondo Yonderboy for helping on Discord
## 25:08 Status Updates
@anecdata (lurking)


@anneb (lurking)


27:12 @brentru.
* MiniMQTT
   * Still in-progress
      * What’s left: bug with esp32s2 ping, esp32s2 timeout bug, test ethernet socket, fully test everything again oh hardware, unit tests
      * I’ll be off for a week to wrap up my semester, will release when I get it back
* Non-CP:
   * Got a new lorawan hotspot in the mail and want to test it out.
      * Need a way to organize my networking hardware at this point. If anyone has any small server rack suggestions, let me know!




@cater (lurking)


28:30 @danh
* Submitted PR for initial deep sleep implementation on ESP32-S2 port. API evolved further. Pin alarms not yet implemented. Tested by me and @ladyada: deep sleep current is about 250-300uA, as expected. A lot of this is quiescent board current, not the ESP32-S2 itself.
* Submitted PR to make SAMD21 builds fit by turning off complex arithmetic.


31:19 @David.Glaude (lurking)
* PM25: 
Pretending to help a Pimoroni user (in reality double checking that Enviro+ works with CP 6.0.0) https://github.com/pimoroni/EnviroPlus-FeatherWing/issues/17 
   * Testing and review of a new version of PM25 UART (need official reviewer to have a look): https://github.com/adafruit/Adafruit_CircuitPython_PM25/pull/13
* Future (non binding):
   * Porting Tetris Clock => https://github.com/toblum/TetrisAnimation
   * Mod my Roomba => https://git.burningdaylight.io/archive.git/tree/
* Non CP:
   * Setup PiVPN + PiHole to help my tennis player daughter feel at home (watch TV) when abroad in tournaments.


@dherrada (lurking)


32:02 @foamyguy
* Last week
   * Getting used to Kinesis Advantage: an ortho linear keyboard, very different from what I’m used to.
   * Test led_animation PR
   * Learned the basics of boto3 for fetching data from S3, used it to add --commit-hash arg to blinka-cli. Hope to finish up this week.
   * Made MagTag tag progress displays example scripts and project guide
   * Learned about weblate API for pulling stats down to MagTag
   * Finished up the IoT Trivia app that Kevin Thomas and I created.
* Next week
   * Come up with some “scheduling” system that gives an easy way to set up MatrixPortal to loop through a list of things to show, some static, and others dynamic. It will follow a schedule for the day and week.
   * Attempt to package the stubs for PyPi so they can be easily integrated with PyCharm.


34:39 @hierophect
* Last week
   * Fixed some pin claiming bugs on ESP32S2
   * Reviewed PRs and a new board, the Thunderpack
   * Replicated the I2C no repeated start issue
   * Closed the F1 port
   * All the PCBs I got back from fab don’t work :(
* This week:
   * Lots of reading: 
   * figuring out the best solution for ESP32S2 pin resets
   * exploring better solutions for the I2C and SPI IT and DMA APIs on STM32
   * Implementing new modules on the i.MX
   * ESP32S2 TCP Server API


@jasonp (lurking)


41:10 @jepler
* Last week:
   * Blinka BLE “Pedal for youtube” guide, went to moderation this morning
   * Signs of the ssl verification bug fix being incorporated upstream at esp-idf
   * Many smaller items not listed here
* This week:
   * Another Blinka project
   * Taking another look at crashes with I2C (+wifi) on esp32s2
* Fun stuff: building a usb footswitch (3d printed enclosure, trinket circuitpython), either as a mute button or as a youtube play-pause button not sure yet


42:38 @jerryn
* Nothing CP related to report...sigh


42:58 @kattni
* Last week:
   * Published the Beginner Boards page in the Which CP Board? Guide
   * Tested some PR code, merged a PR.
   * Started a holiday-themed MagTag LED guide
   * Dismantled a turkey and successfully cooked half of the important bits for dinner!
* Today:
   * Created and shared a calendar to keep track of whom is running the CircuitPython Weekly meeting.
* This week:
   * Finish up MagTag LED guide
      * Mostly photographing the build and videoing usage
   * Guide for Cheerlights on MagTag with an LED strip - except with LED Animations based on the Cheerlights colors
      * Code is mostly done.
   * Update SGP30 guide with STEMMA QT rev
   * Write guide for SGP40


46:52 @Kevin Thomas - lurking - text only
* Last Week
   * FoamyGuy and I completed our CircuitPython IoT Trivia App which is an ESP32-S2 REST app which provides a number of helper libraries with attached Unittests to work with an OLED display and interact with an online open-source trivia API.  This repo is designed to help others to use these libs to build their own extensive IoT apps with CircuitPython and the ESP32-S2.
* This Week
   * I am presenting a talk at the micro:bit LIVE conference on Friday where I demo the Study Buddy framework which builds out a step-by-step instruction set for Educators to create talking educational databases and quizzes to build into their curriculum with the V2 micro:bit.




47:40 @microDev (lurking)
* Last week: 
   * Submitted draft PR for i2c-peripheral support on the esp32s2.
   * Updated microS2 GitHub repo. Added examples and guide.
* This week:
   * Start tests on the new deep sleep api.
   * Figuring out OTA updates for esp32s2.  
   * I will continue my work on i2c-peripheral.
   * Adding a guide for UF2 bootloader on microS2.


48:08 @MakerMelissa:
* Last Week:
   * Worked on the Web Serial ESPTool and now have it communicating with the ESP32 and ESP32-S2 chipsets successfully.
   * Fixed some BrainCraft HAT issues by rolling back to older driver.
   * Fixed a few bugs that I discovered in the MagTag library
   * Fixed a sorting issue on the CircuitPython.org website
* This Week:
   * Finish getting ESPTool download functionality working
   * Get started on Portal library unification


Mr. Certainly [lurking]


25:38 @tannewt
* Last week was a short week.
* Mainly did odds and ends around -S2 networking.
* This week I’ll get caught up on ESP32-S2 I2C issues and hopefully fix them.
* Also hope to test deep sleep and help Dan w/it.
* 2021 planning in January.
## 49:13 In The Weeds


49:32 @microDev


Support for OTA updates.


(Sorry I won't be available during the meeting today. Feel free to skip over this.)
@tannewt add an esp32s2 specific library that can write to the “other” OTA area and then switch to the alternate.  How to handle edge cases will require attention.  We should add a github issue to track this as well.


51:37 @foamyguy


This device seems to have two variants that would both have the same contents in their boot_out.txt file:


SparkFun Qwiic Micro with samd21e18


https://circuitpython.org/board/sparkfun_qwiic_micro_with_flash/ https://circuitpython.org/board/sparkfun_qwiic_micro_no_flash/
Each variant has it’s own folder in the ports folder so there are two different system image files, one for each variant.


I am interested in adding something to one or the other (or both) in the text that shows up in their boot_out file so that automated tools could theoretically tell them apart. Am interested to see if anyone has thoughts about or any opposition to this?


Suggestion: You can change MICROPY_HW_BOARD_NAME in mpconfigboard.h. 




## 58:40 Wrap-Up
