# CircuitPython Weekly for December 7th, 2020


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


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:32 Community News
### Low Power Support Available on ESP32-S2
 ESP32-S2 Low Power 

Low power capability in CircuitPython has come in the form of low power modes for the ESP32-S2 chip. Other chips will be following shortly, if they are hardware capable. The details are in Pull Request #3767 merged last week into the nightly builds of CircuitPython for the ESP32-S2. While normally the recommendation would be to use CircuitPython 6.1.0-beta.2, the "Absolute Newest" on S3, an available option, is recommended for ESP32-S2 boards.
 ESP32-S2 Low Power 

Sunday, the DESK OF LADYADA went over Deep Sleep testing for ESP32-S2 and the new ESP32-S2FH4 chip! See how the new Nordic Power Profiler Kit II helps determine the power draw on sleeping boards - YouTube
### Another Adafruit Discord milestone: 26,000+ members
 26,000 THANKS 

 Adafruit Discord 

A new milestone: the Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 26,000 humans, thank you! Adafruit believes Discord offers a unique way for CircuitPython folks to connect. Join today at https://adafru.it/discord.
### PyCon US 2021 Announced
 PyCon US 2021 Announced 

PyCon US, the annual official annual Python gathering, has been announced to be held online, virtually, in 2021.
Planning PyCon US has taken us to a whole new world of virtual options. Our staff and volunteers are working hard to bring you a great event for you to enjoy. As well as multiple days of informative talks and tutorials and exciting news from our sponsors, you’ll have ways to join in on open space conversations or a hallway track, and maybe even a virtual 5K run. This can all be done from the comfort of your favorite chair – with the exception of the 5K!
The conference will be held on the same dates originally scheduled, May 12-15, 2021. Sprints will be held May 16-18, 2021
More information and signups may be done at https://us.pycon.org/2021/ - PyCon Blog
### Ladyada to Keynote linux.conf.au 2021
 linux.conf.au 2021 

Australia’s grassroots Free and Open Source technologies conference, linux.conf.au announced that Limor "Ladyada" Fried, electrical engineer and founder of Adafruit, will be one of their keynote speakers at linux.conf.au 2021, scheduled for January 23-25 2021 online/worldwide.
In her keynote, Limor will discuss how Python is snaking its way into hardware, Linux single board computers and more.
The schedule and tickets are available at lca2021.linux.org.au - Announcement.
### The 2020 State of the Octoverse (GitHub) Released
 State of the Octoverse 

 State of the Octoverse 

 State of the Octoverse 

The three 2020 State of the Octoverse reports have been released, detailing information gleaned from GitHub.
2020 has been a year of extraordinary change. Yet with 60M+ new repositories created this past year, one thing has remained true — developers came together from all corners of the world to innovate, find connection, and solve problems.
Some highlights:
* Python has grown to the #2 spot in languages used, uip from 4th in 2014.
* Typescript surged to #4, having been #10 in 2017.
* Developers have worked significantly more on Open Source projects since COVID-19 lockdowns in March, 2020.
* Open Source development jumps up during weekends.
* 35% more repositories created in 2020 than 2019
* 25% more contributions to open source projects.
See all three detailed reports - GitHub.
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:14 State of CircuitPython, Libraries and Blinka
### 8:42 Overall
* 22 pull requests merged
  * 15 authors - WizardTim, ladyada, dhalbert, siddacious, tannewt, microDev1, makermelissa, slootsky, scottamain, adamcandy, kattni, FoamyGuy, gamblor21, mpechner, anecdata
  * 9 reviewers - ladyada, tannewt, dhalbert, makermelissa, kattni, jepler, brentru, FoamyGuy, gamblor21
* 16 closed issues by 10 people, 20 opened by 17 people


We are progressing quickly, deep sleep  is a big important thing that just went in.  There’s been a lot of development on libraries and blinka as well.
### 9:57 Core
* 3 pull requests merged
  * 4 authors - tannewt, dhalbert, gamblor21, microDev1
  * 2 reviewers - tannewt, jepler
* 18 open pull requests
  * https://github.com/adafruit/circuitpython/pull/3291 (Open 111 days)
  * https://github.com/adafruit/circuitpython/pull/3349 (Open 100 days)
  * https://github.com/adafruit/circuitpython/pull/3454 (Open 75 days)
  * https://github.com/adafruit/circuitpython/pull/3493 (Open 67 days)
  * https://github.com/adafruit/circuitpython/pull/3619 (Open 38 days)
  * https://github.com/adafruit/circuitpython/pull/3643 (Open 33 days)
  * https://github.com/adafruit/circuitpython/pull/3659 (Open 28 days)
  * https://github.com/adafruit/circuitpython/pull/3662 (Open 27 days)
  * https://github.com/adafruit/circuitpython/pull/3677 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/3696 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/3730 (Open 17 days)
  * https://github.com/adafruit/circuitpython/pull/3733 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/3752 (Open 12 days)
  * https://github.com/adafruit/circuitpython/pull/3771 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/3768 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/3783 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/3792 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/3797 (Open 0 days)
* 4 closed issues by 4 people, 13 opened by 10 people
* 350 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
  * 6.0.x: 5 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: 286 open issues
  * Support: 4 open issues
  * 4 issues not assigned a milestone


6.1beta2 was released over the weekend.  Expect to see more iteration on 6.1.  The main goal for 6.1 is to have esp32s2 stable
### 12:25 Libraries
* 16 pull requests merged
  * 11 authors - WizardTim, ladyada, dhalbert, siddacious, makermelissa, slootsky, adamcandy, kattni, FoamyGuy, mpechner, anecdata
  * 8 reviewers - ladyada, tannewt, dhalbert, makermelissa, kattni, brentru, FoamyGuy, gamblor21
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/99 (Days open: 17)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/53 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_FakeRequests/pull/1 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/29 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_FONA/pull/10 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AWS_IOT/pull/14 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/72 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/pull/61 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/pull/53 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SI7021/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/37 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/36 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/33 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/32 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MagTag/pull/31 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/281 (Days open: 1)
* 11 closed issues by 6 people, 6 opened by 6 people
* https://circuitpython.org/contributing
  * 241 open issues
  * 9 good first issues
  * 37 open pull requests (Oldest: 700, Newest: 1)
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_MLX90395](https://github.com/adafruit/Adafruit_CircuitPython_MLX90395)
 * [Adafruit_CircuitPython_FakeRequests](https://github.com/adafruit/Adafruit_CircuitPython_FakeRequests)
**Updated Libraries**
 * [Adafruit_CircuitPython_WS2801](https://github.com/adafruit/Adafruit_CircuitPython_WS2801)
 * [Adafruit_CircuitPython_EMC2101](https://github.com/adafruit/Adafruit_CircuitPython_EMC2101)
 * [Adafruit_CircuitPython_BME680](https://github.com/adafruit/Adafruit_CircuitPython_BME680)
 * [Adafruit_CircuitPython_BME280](https://github.com/adafruit/Adafruit_CircuitPython_BME280)
 * [Adafruit_CircuitPython_BMP3XX](https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX)
 * [Adafruit_CircuitPython_FONA](https://github.com/adafruit/Adafruit_CircuitPython_FONA)
 * [Adafruit_CircuitPython_AWS_IOT](https://github.com/adafruit/Adafruit_CircuitPython_AWS_IOT)
 * [Adafruit_CircuitPython_LED_Animation](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation)
 * [Adafruit_CircuitPython_MatrixPortal](https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal)
 * [Adafruit_CircuitPython_SSD1306](https://github.com/adafruit/Adafruit_CircuitPython_SSD1306)
 * [Adafruit_CircuitPython_Display_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Text)
 * [Adafruit_CircuitPython_SI7021](https://github.com/adafruit/Adafruit_CircuitPython_SI7021)
 * [Adafruit_CircuitPython_MagTag](https://github.com/adafruit/Adafruit_CircuitPython_MagTag)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [Adafruit_Python_PlatformDetect](https://github.com/adafruit/Adafruit_Python_PlatformDetect)
 * [Adafruit_Blinka_PyPortal](https://github.com/adafruit/Adafruit_Blinka_PyPortal)


### 15:19 Blinka
* 3 pull requests merged
  * 2 authors - FoamyGuy, scottamain
  * 1 reviewers - makermelissa
* 7 open pull requests
  * https://github.com/adafruit/Adafruit_Python_PureIO/pull/1 (Open 1647 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/20 (Open 74 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/41 (Open 50 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/363 (Open 31 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/374 (Open 0 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/373 (Open 0 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/121 (Open 0 days)
* 1 closed issues by 1 people, 1 opened by 1 people
* 47 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 1984
Number of supported boards: 60






## 16:17 Hug reports
@anecdata (lurking)


17:18 @kattni
* @danh and @jepler for a quick discussion about MagTag and a UF2 bootloader
* @jcooper for kicking the Learn system when needed
* Learn Dev for always being on top of fixing the issues I find
* @ladyada for a quick PR review
* @makermelissa for all her work on refactoring the MagTag and Portal libs.
* Group hug!


18:17 @Kevin Thomas - Lurking & Text Only
* Group Hugs


18:26 @MakerMelissa
* @gamlor21 (Mark) for quickly giving the FakeRequests a review when it was blocking me
* @foamyguy for testing several of my Portal Related PRs
* @scottamain for adding a bunch of improvements to Blinka
* @anecdata and @dhalbert for getting the battery voltage in the MagTag library more accurate
* Group Hug


19:25 @Mark(Gamblor21) (lurking may not even make it)
* Group hug


19:35 @microDev (text-only)
* A hug report to everyone who read my hug reports and status updates during the meeting.


@Mr. Certainly [lurking]


@paulsk


19:50 @tannewt
* BennyEE for all of the help with ESP32-S2
* Cwalther for the supervisor allocation move PR
* Prof Sparkles for the Metro form factor CM4 board


20:41 @Christian Walther (lurking)
* @danh and @jepler for finding ways to make space on flash-constrained boards to fit the new supervisor allocator in.


20:59 @danh
* @mcauser for finding a discord invite URL that is expired in a bunch of our repos, and submitting PR’s to fix them.
* @tannewt for continued sleep discussions and for volunteering to take over fixing up the semantics of simulated deep sleep when connected by USB.
* @BennyE_HH, @BruceS, @anecdata, and @jepler for looking at the mysterious ESP32-S2 wifi/I2C bug.


@DaveP (lurking)


22:07 @David.Glaude (lurking)
* @danh for deep sleep and 6.1-beta2 release
* @jepler for the Pi Pedal for YouTube learn guide


22:22 @foamyguy
* @danh, scott, and @microDev for all of their work on deep sleep
* @makermellissa for working on refactoring the portal libraries to share the code they can
* @ladyada for reviewing and making some improvements to the MagTag Progess Displays scripts
* @jepler for showing off Font Awesome icons working and making updates to display_text and bitmap_font for supporting them.


23:12 @hierophect
*  Group hug


@Jayguitar (lurking)


23:27 @jepler
* @BennyE_HH and @BruceS for putting fresh eyes on the ESP32S2 lockup bug, thanks! (even if there’s no resolution yet)
* @danh for deep sleep and the beta release
* Group hug


24:00 @jerryn (lurking)
* Group hug



## 24:13 Status Updates
@anecdata (lurking)


24:50 @kattni
* Last week:
   * Finished and published the MagTag Holiday LED Wreath guide
   * Modified basic Cheerlights code to display an animation on the LEDs for each color instead of simply lighting them up.
   * Started the Cheerlights LED Animations guide
   * Nearly finished Cheerlights Animations guide but Learn decided to be difficult
* Today so far:
   * Finish Cheerlights Animations guide
   * Fix code comments in ItsyBitsy BLE Infinity Cube code
   * Put Cheerlights Animations guide into moderation
* This week:
   * Update the SGP30 guide to include the STEMMA QT rev
   * New guide for SGP40 because, despite being “next gen”, they changed everything.


27:15 @Kevin Thomas - Lurking & Text Only
* Last Week
   * Presented the Study Buddy micro:bit Educational Framework at the micro:bit LIVE Global Conference - There will be a video rebroadcast of the entire event at the link below later this week.
      * https://www.youtube.com/channel/UCJRGTnzeb0esPmsE-mFkPGg
   * Created the Talking TextaBot for the micro:bit V2 to help students use the buttons and logo of the device as they would use a phone keyboard to text communicate with the bot in addition to instructions on how to build out a database of trigger words and responses.
* This Week
   * Work on some foundational work for additional IoT CircuitPython tutorials to work on with FoamyGuy in the coming weeks.


28:00 @MakerMelissa
* Last Week:
   * Finished getting the WebSerial ESPTool to successfully flash an image that is <= 2MB to the ESP32-S2 boards
   * Separated FakeRequests into its own Repo
   * Added DeepSleep and LightSleep functions to MagTag library.
   * Improved MagTag memory usage and speed by implementing Font Caching.
   * Wrote PortalBase, which is a base library for Portal-style libraries and used some of the latest stuff from the MagTag library.
   * Refactored the MagTag library to use PortalBase
   * Updated MagTag guide to reflect the additional MagTag dependencies
* This Week:
   * Work on the WebSerial ESPTool to add stub loading functionality so we can flash images > 2MB and do a full chip erase.
   * Possibly refactor some more libraries to use PortalBase
   * If there’s time, test out Blinka on MicroPython in its current state with the PyBoard


29:37 @microDev (text-only)
* Last Week
   * Got OTA (over-the-air) update working.
      * https://github.com/adafruit/circuitpython/issues/3777
* This Week
   * Get back to i2cperipheral.
   * Start work on ULP and touch alarms.
   * More OTA work… will probably make a PR soon.


@Mr. Certainly [lurking]


30:02 @tannewt
* Picked up sleep from Dan. Should make a PR later today (Monday)
* Also fixing some safe mode issues where it would reset but run the bad code again.
* Will be bug hunting after that.




31:11 @Christian Walther (lurking)
* Working on the feature PRs enabled by the new supervisor allocator, set_next_code_file() and get_previous_traceback(): Making them optional so they can be disabled on boards with too little flash, and examining their interactions with deep sleep.


31:31 @danh
* Deep sleep PR merged.
* Released 6.1.0-beta.2, which includes deep sleep and a bunch of ESP32-S2 fixes and improvements.
* Fixed MagTag library voltage monitor calculation.
* Did a lot of measuring and instrumentation trying to track down remaining voltage monitor inaccuracy. Mysterious 150mV offset disappeared under closer examination.
* To do:
   * Finish short deep-sleep guide. 
   * work adding backup RAM and/or registers module, to allow saving state during a deep sleep. May call it “sleep RAM”.


33:35 @David.Glaude (lurking)
* Testing Seeeduino CP capable board: XIAO and Wio Terminal
* PiHole:
   * Made a DHCP mess of my network => power cycling all of my IoT device.
   * Working on MagTag PiHole status display with MagTag library + Progress Bar: https://twitter.com/DavidGlaude/status/1336026165023215616?s=20
   * Found a way to make BMP file with mspaint that crash OnDiskBitmap: https://github.com/adafruit/Adafruit_CircuitPython_MagTag/issues/34


34:07 @foamyguy
* Last week:
   * Completed work on the --commit-hash arg for the blinka-cli tool
   * Dig into the deep sleep API and convert the MagTag Progress Display scripts to use it
   * Tinkering with the LC709203 Fuel gauge breakout. Considering using it in a MagTag fridge widget project
   * Gained a new kitty over the weekend!
* Next week
   * Working on MagTag weather and other pertinent data widget that will go on the fridge. Will use a sensor to show indoor temp and humidity. And use openweather API to show outdoor weather for my area. Possibly a few other pieces of info. Will also use my display_layouts library for the interface.
   * Keep working on basic “scheduling” system for MatrixPortal.
   * Try out the display_text and bitmap_font PRs


36:33 @hierophect
* Last week
   * Had my DMA work kind of fall apart.
   * Worked on setting the i.MX back up
   * Implementing PWMOut on the i.MX
   * Fixing the pin resets on the ESP32-S2
* This week
   * Wrap up PWMOut
   * Fix I2C repeated start issue
   * TCP Server


@Jayguitar (lurking)


37:49 @jepler
* Last week:
   * Worked on I2C on esp32s2 with no success
   * Recently published guide “pedal for youtube” (ble on raspberry pi with blinka)
* This week:
   * Working on speeding up font loading for magtag (hopefully!)
      * Optimizing the loading of the plain text font file format, got 40% speed improvement
      * Implementing a binary font format (benchmarking TODO)
   * Two (and a half?) other project guides in the works


39:49 @jerryn (lurking)
* Nothing to report :-(


## 40:13 In The Weeds  


40:38 @hierophect: Is it possible to free up space in the ESP32S2 flash? Enabling unicode with Joey’s Babel module would require 2MB of space. Could this be achieved by reducing the size of the filesystem, or potentially the size of the Circuitpython build itself?
## 48:58 Wrap-Up
