# CircuitPython Weekly for 20 September 2021

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


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:15 Community News
### 3:24 CircuitPython 7.0.0 Now Available


CircuitPython 7.0.0 is now available as the new stable release!


Notable additions to 7.0.0 since 6.3.0 include:


* Support for the CircuitPython development workflow over BLE.
* Camera support on ESP32-S2.
* `qrio`: QR code decoding.
* The keypad key-scanning module.
* Run-time customization of USB devices.
* Merging in of MicroPython fixes and enhancements as of MicroPython 1.16.
* `_pixelbuf` is now `adafruit_pixelbuf`.
* `colorwheel()` routine moved to `rainbowio`.
* `supervisor.ticks_ms()` to allow easier time-keeping.
* Simplifications to the RGB status LED codes.
* A clocking fix for a few samples of RP2040 boards.
* Rework of `vectorio` and some of its API. `VectorShape` is no longer needed for user code.
* `atexit` module.
* `getpass` module.
* `traceback` module.
* `supervisor.get_previous_traceback()`.
* board.LED now consistently present on all boards that have such an LED.
* `PulseOut` no longer needs a `PWMOut`.
* Unicode filename support.
* Board ID is now in boot_out.txt and available as board.board_id.
* `aesio` on for full builds by default.


**Port status**


CircuitPython has a number of “ports” that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, `atmel-samd`, `cxd56` (Spresense), `esp32s2`, `nrf`, `raspberrypi`, `stm` for the F4 family are stable. `stm` for other STM chip families is being actively improved but may be missing functionality and have bugs. `litex` and `mimxrt10xx` are in an alpha state and will have bugs and missing functionality.


More on the [Adafruit Blog](https://blog.adafruit.com/2021/09/20/circuitpython-7-0-0-released/) and [GitHub](https://github.com/adafruit/circuitpython/releases).


### 6:38 An Upgraded Astro Pi Deployed to the International Space Station with a New European Astro Pi Challenge


To the ISS & beyond! Upgraded Raspberry Pi computers are heading to space for the Astro Pi challenge. New sensors, cameras & machine learning technology — young people can take advantage of all these features & more! The Astro Pi units, in their space-ready cases of machined aluminium, will travel to the ISS in December on the SpaceX Dragon Cargo rocket, launching from Kennedy Space Center. Once the resupply vehicle docks with the ISS, the units will be unpacked and set up ready to run Astro Pi participants’ code in 2022 - [Raspberry Pi Blog](https://www.raspberrypi.org/blog/astro-pi-2021-news-rocket-launch-hardware/) and [Twitter](https://twitter.com/Raspberry_Pi/status/1437356639087206406).


**New European Astro Pi Challenge**


There are two Astro Pi missions for young people to choose from: Mission Zero and Mission Space Lab. Young people can participate in one or both of the missions! Participation is free and open for young people up to age 19 in ESA member states, Slovenia, Canada, Latvia, Lithuania, and Malta - [YouTube](https://youtu.be/uCg6DZ5YRLc) and [Astro Pi Website](https://astro-pi.org/).


### 7:55 GitHub Starts to Embed Thanks to People as Contributors to Releases


GitHub will now automate making a Release Notes contributors section based on the GitHub @ handles found within the release notes - [GitHub Documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) (see 7th point) and [Twitter](https://twitter.com/IAmTrySound/status/1438238193460076548).


### 8:17 Playable Quotes for the Game Boy


[Playable Quotes for Game Boy](https://tenmile.quote.games/) allows creation and sharing of tiny interactive slices of existing games. Simply load a game into the Playable Quotes emulator, play towards the part of the game you want to demonstrate, click the “Record New Quote” button, continue playing, then eventually click the “Stop recording” button to complete the demo.


Under the hood, the software uses a Python emulator of the Game Boy. A description of how this is done is on [joel.franusic](https://joel.franusic.com/playable_quotes_for_game_boy). You can see more about the PyBoy emulator on [GitHub](https://github.com/Baekalfen/PyBoy).


### 8:55 IEEE Top Programming Languages 2021 Ranks Python #1


Which programming language is on top in 2021? It's Python, says the IEEE. The annual ranking of programming languages is led by Python, thanks to a "vast number of libraries" that make it incredibly versatile - [TechRepublic](https://www.techrepublic.com/article/which-language-is-on-top-in-2021-its-python-says-the-ieee/) and [IEEE Spectrum](https://spectrum.ieee.org/top-programming-languages/).


### 9:23 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).
### 10:16 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.
## 11:10 State of CircuitPython, Libraries and Blinka
### 11:27 Overall
* 29 pull requests merged
  * 17 authors - bergdahl, dhalbert, microDev1, makermelissa, kamtom480, kattni, skieast, jepler, jpconstantineau, weblate, rdoursenaud, Neradoc, urish, tannewt, osresearch, hathach, lesamouraipourpre
  * 9 reviewers - dhalbert, microDev1, makermelissa, kattni, tannewt, ladyada, antonio-openroad, FoamyGuy, TheKitty
* 19 closed issues by 14 people, 13 opened by 10 people


### 12:06 Core
* 21 pull requests merged
  * 14 authors - bergdahl, dhalbert, microDev1, urish, kamtom480, skieast, tannewt, osresearch, hathach, jepler, lesamouraipourpre, jpconstantineau, weblate, Neradoc
  * 4 reviewers - ladyada, tannewt, microDev1, dhalbert
* 8 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5298 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/5302 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/5350 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/5360 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/5368 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/5367 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/5372 (Open 0 days)
* 10 closed issues by 7 people, 8 opened by 6 people
* 414 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 7.0.0: 0 open issues
  * 7.x.x: 9 open issues
  * 8.0.0: 4 open issues
  * Libraries: 16 open issues
  * Long term: 379 open issues
  * Support: 4 open issues
  * 2 issues not assigned a milestone


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


Overall: 7.0.0 is out.  Please help out anybody who runs into trouble & file issues on github.  We’re starting to think about what the next big things are.
### 13:33 Libraries
* 8 pull requests merged
  * 6 authors - tannewt, makermelissa, lesamouraipourpre, rdoursenaud, kattni, Neradoc
  * 8 reviewers - dhalbert, makermelissa, kattni, tannewt, ladyada, antonio-openroad, FoamyGuy, TheKitty
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MIDI/pull/41 (Days open: 36)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/135 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer/pull/13 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/49 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SH1107/pull/9 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741/pull/2 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_TLC59711/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/343 (Days open: 1)
* 8 closed issues by 8 people, 3 opened by 3 people
* https://circuitpython.org/contributing
  * 345 open issues
  * 4 good first issues
  * 58 open pull requests (Oldest: 640, Newest: 1)
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_GPS](https://github.com/adafruit/Adafruit_CircuitPython_GPS)
 * [Adafruit_CircuitPython_ImageLoad](https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad)
 * [Adafruit_CircuitPython_SSD1306](https://github.com/adafruit/Adafruit_CircuitPython_SSD1306)
 * [Adafruit_CircuitPython_IS31FL3741](https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741)
 * [Adafruit_CircuitPython_TLC59711](https://github.com/adafruit/Adafruit_CircuitPython_TLC59711)


### 15:12 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 222 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 56 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/501 (Open 35 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/506 (Open 9 days)
* 1 closed issues by 1 people, 2 opened by 2 people
* 60 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 9502
Number of supported boards: 76
## 15:56 Hug reports


16:28 @tannewt
* @danh for doing the bulk of 7.0.0 releases.
* Deep divers for sticking with me through audio setup issues. (It was an OBS misconfig on my part.)


17:22 @anecdata (lurking)
* @tannewt for the heavy lifting fixing a quirky memory issue
* @everyone for all of the thought and effort that has gone into CP 7


17:42 @askpatrickw
* Belated hugs to @foamyguy and @neradoc for their super helpful contributions to Circup, cookiecutter and the whole library management ecosystem.
* Hug to the person who designed the artwork on the Macropad. I wish I could see both sides of the board at once.


18:05 @danh
* Thanks to everyone who contributed to and tested 7.0.0 through its development!
* @Neradoc for finding a last-minute RP2040 issue
* @anecdata for lots of testing on the GC memory bug; @tannewt for fixing it


@DaveP (lurking)


18:39 @foamyguy
* @durapensa for working on some additional improvements to the circuitpython.org pages and data files
* @dexter starboard @lesamouripourpre and @neradoc who all helped me with various things during my stream over the weekend
* @Neradoc for fixing some variable scope issues in TLC59711 library. Also for patiently helping lots of folks with HID keyboard layouts / Pi ducky project
* @danh and everyone who contributed or tested for the 7.0.0 release


19:39 @jepler
* @anecdata & @scott for tackling round 2 of the weird garbage collection memory bug
* Group hug to everyone who contributed to 7.0 through issues, pull requests, comments & reviews! (& people helping on Discord & the forum)
* @danh for actually putting 7.0 out the door
* @kattni for covering for me unexpectedly last Monday


20:27 @jerryn
* Congratulations to all for the release of 7.0.0!!
* @microdev and @danh for quickly fixing an issue with sdioio on the stm32 build - pre 7.0.0


20:51 @kattni (missing meeting)
* Group hug to everyone for getting 7.0.0 stable out!
* @foamyguy for looking into creating some Good First Issues on the libraries
* @tannewt for covering for me in the meeting today


21:15 @le samourai pourpre [Listening later]
* @tannewt, @foamyguy for the regular streams
* @tannewt, @danh, @jepler and everybody else for getting CP7 final out.
* Group Hug to everyone making CircuitPython such a great community.


21:38 @MakerMelissa
* Everyone involved who got the new CircuitPython 7.0.0 release
* @lesamouraipoupre for working on a major update to the Blinka Displayio library
* Group Hug


22:26 @Neradoc (no mic)
* @mscreations for first noticing the RP2040 issue with RC2
* @Hem joining the helpers team
* @danh and everyone for the release of 7.0.0 !


## 22:51 Status Updates
23:14 @tannewt
* Got BLE workflow changes checked in.
* Started on TinyUSB on BCM (Raspberry Pi chips). Lots of learning to do about Cortex-A.
* Continuing BCM work this week and also checking in on BLE workflow clients.
* Taking Thursday off to spend with my sister and her kiddos.


24:35 @danh
* Released 7.0.0-rc.3 and then 7.0.0 final.
* Post 7.0.0, will be working on undone HID things and many other postponed issues.


26:16 @foamyguy
* Learned about using mypy to check for missing typing information in python packages
* Made some improvements to camera and cursor handling in Tiled game map helper
* Created some automated scripts that will eventually find and create issues for all libraries that have missing typing information


27:04 @jepler
* Last week: Worked on esp32-s2 parallel display 
   * It’s already working with a bit-bang approach thanks to code by kmatch and mark (gamblor)
   * By using the esp32-s2’s i2s controller in LCD interface mode, we can enable
      * Arbitrary pins for the data pins, instead of only D0..7, D8..15, etc.
      * 16 bit parallel mode
      * Faster I/O, maybe
   * Had some weird glitches, a problem with my scope and a problem with the hardware led me astray for a few hours (two different problems looked sort of like the same problem)
   * This morning, got it actually re-painting the display on the adafruit 2.8” breakout
   * But it breaks (like a memory overwrite error) if I remove my debug prints
* Put in a PR to add timestamps to key events which record the timestamp when CircuitPython detected the key was pressed, not the time the event was retrieved.
* Worked on an upstream (to micropython) version of the gc memory bug, hopefully it’ll be acceptable to them now.
* This week: Continuing work on esp32-s2 parallel display
   * Will PR when it’s working as well as the current code
   * Will continue and try to get a 16-bit parallel display going (ESP32-S2 HMI Dev Kit)


@jerryn (skip me- nothing to report - retirement is exhausting :- )


30:05 @kattni (missing meeting)
* Last week:
   * Nearly finished the IS31FL3741 guide - there were issues with the Arduino libraries getting merged into the IDE (on Arduino’s end) that resulted in “unknown delays”. So everything but the Arduino page is completed.
   * Started the Proximity Trinkey guide
* This week:
   * Arduino lib was merged into IDE, so I can finish the IS31 guide now.
   * Finish Proximity Trinkey guide
   * A huge list of misc or more guides.
* Saturday:
   * Got a flu shot, pneumonia vaccine, and TDAP (tetanus) booster, and am now feeling terrible (which is why I’m missing the meeting). Worth it though!


31:14 @lesamouraipourpre 
* [Last Week / This Week] Working on a full retranslation of Blinka DisplayIO from the core. Currently, pure Python, but speed-ups like NumPy to be investigated. 
Tracking at https://github.com/adafruit/Adafruit_Blinka_Displayio/issues/71


31:42 @MakerMelissa
   * Last Week:
   * Worked on writing up a 2.9” eInk Display guide
   * Started working on a new Animated Gif player guide
   * Out sick for a couple of days
   * Finally tested new Flexible eInk this morning only to discover I needed to write a new driver for it
   * Wrote the driver this morning and will be uploading soon
   * This Week:
   * Update guide to use new driver for newer eInk
   * Likely update Raspberry Pi EPD library and guide page in the same manner
   * Test out a potential 3.5” PiTFT touch screen issue
   * Finish up Animated Gif Player Guide
## 32:47 In The Weeds
33:14 @foamyguy - Making “good first issue”s for missing typing information in libraries:


Helpful for IDEs that support it but will add size to the libraries and provides no direct benefit when running on a microcontroller.


Libraries that should be excluded due to typical use on devices without as much space:
   * CircuitPlayground
   * HID?
   * Any others?


After the bulk of the typing information is added should we try to add an actions task that will run mypy to enforce it moving forward?


yes


Should I add “hacktoberfest” tag to the issues when they are created? Or just “good first issue” and something else will take care of hacktoberfest?


Just good first issue, something else will add hacktoberfest from there.


39:09 @jerryn  Where is the best place to learn about getting started with the BLE workflow? 


47:54 @jepler -- close 7.0.0 milestone?  Create a 7.0.x milestone?


54:20 CI changes & selective building
If you run into trouble with actions in your fork of circuitpython, try updating your main branch to be equal with the main branch in adafruit
## 1:09:24 Wrap-Up
