# CircuitPython Weekly for August 30, 2021

Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates early. During the meeting, we go through them as a round robin sorted by username. If you can’t make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and we’ll read them off for you. 

Add any longer-form discussion topics or general questions you have to the “In the weeds” section. 

Thanks! We hope to see you in the meeting!

Scott is hosting

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


## NEXT WEEK IS ON TUESDAY, 7 September 2021!


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](https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical) for use with standard calendar applications and can also be viewed [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.
## 3:21 Community News
### 3:30 Building With CircuitPython Podcast


The Real Python Podcast presents *Building With CircuitPython & Constraints of Python for Microcontrollers with the lead developer of CircuitPython* with Scott Shawcroft at Adafruit - [Real Python Podcast](https://realpython.com/podcasts/rpp/75/).  

> Can you make a version of Python that fits within the memory constraints of a microcontroller and have it still feel like Python? That is the intention behind CircuitPython. This week on the show, we have Scott Shawcroft, who is the project lead for CircuitPython.  <br><br>

We talk about all things CircuitPython. While working with the language on several projects I have developed many of my own questions to ask Scott. Scott answers my questions about boot loaders, packages, the bundle, and bluetooth low energy (BLE).  <br><br>

He also talks about the struggle of fitting the language and board specific libraries within tiny memory constraints. We discuss projects and boards for beginners, and many resources to learn more.

### 4:37 Linux Turns 30

On August 25th, Linux, the ubiquitous operating system, turned thirty years old, dated from a post graduate student Linus Torvalds posted on the comp.os.minix newsgroup.  - [Adafruit Blog](https://blog.adafruit.com/2021/08/25/linux-is-30-years-old-today-linux-opensource-linus__torvalds/).

Linux turns 30: Linus Torvalds on his "just a hobby" operating system, an interview with Linus Torvalds - [ZDNet](https://www.zdnet.com/article/linus-torvalds-on-linuxs-30th-birthday/).

### 5:12 Arduino Embraces Python

Power of Python for Arduino Nano RP2040 Connect and Nano 33 BLE - [Arduino Blog](https://blog.arduino.cc/2021/08/24/power-of-python-for-arduino-nano-rp2040-connect-and-nano-33-ble/) and the [Adafruit Blog](https://blog.adafruit.com/2021/08/24/python-snakes-its-way-to-the-arduino-nano-rp2040-connect-and-nano-33-ble/).


> Python support for three of the hottest Arduino boards out there is now yours. Through our partnership with OpenMV, the Nano RP2040 Connect, Nano 33 BLE and Nano 33 BLE Sense can now be programmed with the popular MicroPython language.

### 5:50 Halloween Hackfest

Join Hackaday, Digi-Key, and Adafruit for a Halloween-themed contest! They want to see your crazy, creepy, ghostly, spooky, and awesome projects.

If costumes are your favorite part of Halloween, then why not dress up your outfit with some hacked upgrades? You could even design a ghoulish prop to add to your home’s Halloween decor or light up a Jack-o-lantern with LEDs. Whether it’s technical, artistic, or just plain terrifying, Hackaday wants to see your projects!

Check out the Halloween Show & Tell with Hackaday, Friday, October 29th at 1pm PT, to show off your awesome projects entered in the contest. Don't forget to also share your projects on social media and use the #HalloweenHackfest!

Hackaday and Digi-Key have partnered on this Halloween-themed contest to offer three winners an online shopping spree to the Digi-Key warehouse! - [Hackaday](https://hackaday.com/2021/08/10/new-contest-halloween-hackfest/) and [hackaday.io](https://hackaday.io/contest/180664-halloween-hackfest).

### 6:48 Ten beginning CircuitPython education courses
Professor John Gallaugher has released 10 new CircuitPython School videos for his Fall course. They are tutorials for beginners. The first videos use the Adafruit Circuit Playground Bluefruit/Express. He states the videos are free to share with educators and newbies.
Check out the [first video](https://www.youtube.com/watch?v=eU1e6xPvZEU&list=PL9VJ9OpT-IPSsQUWqQcNrVJqy4LhBjPX2&index=1) which describes the series and see the [whole playlist](https://www.youtube.com/playlist?list=PL9VJ9OpT-IPSsQUWqQcNrVJqy4LhBjPX2).
### 7:30 Newsletter Details
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 a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.
## 8:19 State of CircuitPython, Libraries and Blinka
### 8:32 Overall
* 54 pull requests merged
  * 19 authors - FoamyGuy, capellini, caternuson, dhalbert, warmbit, bergdahl, DavePutz, Neradoc, enosh, tannewt, jepler, kattni, weblate, ladyada, wtuemura, lesamouraipourpre, amit-sides, jpconstantineau, microDev1
  * 12 reviewers - FoamyGuy, jepler, kattni, caternuson, deshipu, KeithTheEE, gamblor21, dhalbert, ladyada, microDev1, hathach, tannewt
* 42 closed issues by 11 people, 21 opened by 16 people


### 9:25 Core
* 41 pull requests merged
  * 16 authors - FoamyGuy, capellini, dhalbert, warmbit, bergdahl, DavePutz, Neradoc, tannewt, jepler, weblate, ladyada, wtuemura, lesamouraipourpre, amit-sides, jpconstantineau, microDev1
  * 8 reviewers - jepler, deshipu, gamblor21, dhalbert, ladyada, microDev1, hathach, tannewt
* 8 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5048 (Open 37 days)
  * https://github.com/adafruit/circuitpython/pull/5106 (Open 23 days)
  * https://github.com/adafruit/circuitpython/pull/5239 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/5237 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/5253 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/5264 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/5263 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/5260 (Open 0 days)
* 29 closed issues by 6 people, 14 opened by 9 people
* 415 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 7.0.0: 4 open issues
  * 7.x.x: 5 open issues
  * 8.0.0: 3 open issues
  * Libraries: 15 open issues
  * Long term: 377 open issues
  * Support: 6 open issues
  * 5 issues not assigned a milestone


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


Overall: Very close to a release candidate! Will do it this week barring any catastrophic bugs.
### 10:55 Libraries
* 13 pull requests merged
  * 8 authors - FoamyGuy, kattni, caternuson, dhalbert, Neradoc, lesamouraipourpre, enosh, tannewt
  * 8 reviewers - FoamyGuy, jepler, kattni, caternuson, KeithTheEE, dhalbert, ladyada, tannewt
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_SCD4X/pull/6 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/47 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/pull/23 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1305/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SSD1322/pull/12 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107/pull/8 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SSD1325/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1106/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/132 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_HID/pull/79 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MacroPad/pull/28 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MacroPad/pull/27 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SGP40/pull/8 (Days open: 1)
* 12 closed issues by 7 people, 5 opened by 5 people
* https://circuitpython.org/contributing
  * 340 open issues
  * 3 good first issues
  * 54 open pull requests (Oldest: 619, Newest: 1)
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_ST7565](https://github.com/adafruit/Adafruit_CircuitPython_ST7565)
**Updated Libraries**
 * [Adafruit_CircuitPython_OV2640](https://github.com/adafruit/Adafruit_CircuitPython_OV2640)
 * [Adafruit_CircuitPython_DisplayIO_Layout](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout)
 * [Adafruit_CircuitPython_DisplayIO_SSD1306](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306)
 * [Adafruit_CircuitPython_DisplayIO_SSD1305](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1305)
 * [Adafruit_CircuitPython_SSD1322](https://github.com/adafruit/Adafruit_CircuitPython_SSD1322)
 * [Adafruit_CircuitPython_DisplayIO_SH1107](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107)
 * [Adafruit_CircuitPython_SSD1325](https://github.com/adafruit/Adafruit_CircuitPython_SSD1325)
 * [Adafruit_CircuitPython_DisplayIO_SH1106](https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1106)
 * [Adafruit_CircuitPython_SCD4X](https://github.com/adafruit/Adafruit_CircuitPython_SCD4X)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_HID](https://github.com/adafruit/Adafruit_CircuitPython_HID)
 * [Adafruit_CircuitPython_MacroPad](https://github.com/adafruit/Adafruit_CircuitPython_MacroPad)
 * [Adafruit_Blinka_Displayio](https://github.com/adafruit/Adafruit_Blinka_Displayio)


Overall: We’re continuing to see new libraries and updates to libraries being added every week. With Hacktoberfest being imminent, I’d like to put a call out to folks who are interested in helping us go through the library issues list and labeling Good First Issues as such as we head into October, when Adabot automatically adds the HacktoberFest tag to Good First Issue labeled issues. As stated earlier, as of this meeting, there are 340 issues to go through. Three are currently labeled as Good First Issue, but if I remember correctly, they’re not really well labeled, so we should consider updating those as well. Further, for those that are familiar with the libraries, it would be greatly appreciated if we could identify issues that haven’t been filed that fit the Good First Issue label (docs updates, etc). While this is ostensibly being done under the blanket of Hacktoberfest, it’s something that I’ve been trying to get to for a long time, so it’s worth doing regardless of the reason.


### 14:38 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 201 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 35 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/501 (Open 14 days)
* 1 closed issues by 1 people, 2 opened by 2 people
* 62 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 9598
Number of supported boards: 76
## 16:19 Hug reports

16:40 @tannewt
* @jepler for co-debugging with me last week.
* @igrr for letting us snag ‘em to talk about a hanging read

17:21 @AnneB (lurking)
* Group Hug


@DaveP (lurking)


17:30 @foamyguy
* Jeff and Scott for collaborating to debug a particularly obscure bug
* Github user @rsbohn for creating a test script that tries various sizes of the gauge widget to find which if any suffer from a bug with the way that they fill in
* Group hug


18:08 @jerryn
* @brentru and anyone else involved for all the work on whippersnapper.


18:30 @kattni
* @jepler for a lovely chat last week
* @davep for helping me with cleaning up an image in Photoshop
* @foamyguy for adding divider lines to GridLayout in DisplayIO_Layout
* @Neradoc for helping me improve my audio pin script (and therefore, once I update the rest of them, all of my pin-finding scripts) to better exclude unexposed pin names
* @KeithTheEE for joining the CircuitPython Helpers, and working towards joining the CircuitPythonLibrarians review team


19:25 @KeithTheEE (text only)
* @Kattni for helping me figure out the CircuitPython Helpers role, as well as the other helpers for answering my questions
* Jeff and Scott for figuring out the esp32-s2 bug, the fix works on my metro esp32-s2
* Everyone for being awesome and helping me with random questions


19:50 @MakerMelissa
* Group Hug


20:04 @Neradoc (no mic)
* @askpatrickw for digging into and merging circup PRs.
* @dgriswo on github for circup PRs.
* Everyone fixing bugs as 7.0 is approaching.

## 20:27 Status Updates

20:50 @tannewt
* Spent most of last week bug hunting including the MagTag WDT crash.
* Also tweaked BLE API to recursively delete and not reload immediately after a write.
* Bug hunting if anything came up over the weekend.
* Release candidate this week hopefully.
* Looking at BLE UART examples/code that break with the NUS for CP
* BLE stuff w/Antonio
* Maybe RPi TinyUSB support

22:14 @AnneB (lurking)
* Besides the Python on Microcontrollers newsletter, I’m using the new Adafruit MacroPad to make a random digit generator keypad, similar to the Hirsch Scramblepad high security system. I demonstrated the project on Show & Tell and I should have a guide finished by Wednesday.


22:38 @foamyguy
* Last week
   * Updated the relevant learn guide project code to use the new API for PulseOut
   * Made a repo in the circuitpython org for the new Gauge widget and started debugging an issue related to filling it
   * Finished implementing divider lines feature for the GridLayout
* This week
   * Keep working on the Gauge fill issue
   * Work on an update for cookiecutter to add a 3rd bundle option for the circuitpython org bundle


23:45 @jerryn
* Found a crude workaround for an issue I’ve been having with ov2640 captures on the esp32s2 saola. The webcam is working very well now. Still trying to determine root cause of the issue (extra byte at the start of the capture … sometimes)
* Experimenting with Braincraft Hat and Raspberry Pi Kernels. Found that it works with 20210527-1 but not after that.
* A forum post  https://github.com/adafruit/circuitpython/issues/5233 found a strange issue with using an  RFM9x on an nrf52840 under battery power.  The default SPIM fails, but forcing it to bypass it  by creating a dummy SPI instance works….Should we discuss this “in the weeds?”


26:04 @kattni
* Last week:
   * Published SCD-4x guide, tested SCD-41 thoroughly on CircuitPython and Pi
   * Tested SCD-30 on Raspberry Pi - stopped it after 60 hours of running smoothly
   * Put MP3 Playback on RP2040 guide in moderation - much noise was made in the process
   * CircuitPython Essentials MP3 template completed as part of this guide
   * Wrote a script to return a list of audio-capable pins, now with improved pin exclusion
   * Tested the IS31FL3741 LED Matrix breakout - happy rainbows abound.
* This week:
   * Provide any reviews needed for getting 7.0 into RC and stable.
   * Test GridLayout PR with the project that sparked the feature request in the first place
   * Get video for MP3 guide
   * INA219 STEMMA QT rev guide update
   * Guide for IS31FL3741
   * Find out what might be required to port the OBS timestamp code from Linux to MacOS/Windows, to decide whether it’s worth it
   * Fritzing object requested for PID3309
   * Once MP3 guide is published, put together quickie guide for PAM8302 breakout (mirroring in Pico example from MP3 guide)
* This past weekend:
   * Avoiding working on something I should have been doing (secret project, will explain when I can) led me to begin organising parts. I stopped after a bit because it’s work and I should be doing it during work, but still it was nice to get it started. I’ve decided on an “If I touch it, it gets organised” approach to it in general, which if that’s all I do, will take almost literally forever to get everything organised, but at the rate I’ve been going, which is none, this approach will at least be a start. (It’s also leading to slowly filling up my desk because if I don’t have time to put it somewhere labeled, it stays on my desk… I swear I’ll get to it soon!)
   * That said, for those of you who organise your microcontrollers and components, how do you organise them? Not so much what kind of containers you use, as much as how you categorise them. 


30:50 @MakerMelissa
* Last Week:
   * Worked on new CircuitPython Code Editor Interface
* This Week:
   * Work on wrapping up the CP Code Editor
   * Look at Raspberry Pi Kernel pinning at some point
   * Afterwards start new TFT Product Guide


31:29 @Neradoc (no mic)
* Last week(s)
   * PR to have the Board ID available in code and in boot_out.txt.
   * Progress made on generating keyboard layouts for adafruit_hid from platform layouts (windows using kbdlayout.info). Make your layout with https://www.neradoc.me/layouts/ and test it.
   * Discovered last week's @NetworkChuck video on "bad USBs" which explains why at least 5 people came asking for layouts for the "pico ducky" this week.
* This week
   * PR circup to use the Board ID to link to the board's download page to update CP.
   * Add some of the generated layouts to the layout repo. For now I prefer adding them as they are requested, to have a minimum of testing for each.
   * Look into a way to somewhat automate the tests to layouts.
   * Looking for a good source of mac layout data and implement the generator.

## 32:47 In The Weeds
32:58 @jerryn - nRF52840 issue with RFM9x under battery power...something to do with SPIM...


## 39:41 Wrap-Up

## Next week’s meeting is on Tuesday, 7 September 2021!
