# CircuitPython Weekly for April 18, 2022


Video is available [on YouTube](https://youtu.be/1MjeGGtKT4w).


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%3A%2F%2Fraw.githubusercontent.com%2Fadafruit%2Fadafruit-circuitpython-weekly-meeting%2Fmain%2Fmeeting.ical&title=CircuitPython%20Meeting%20Schedule&tab=agenda&tabs=month&tabs=agenda).


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.
________________
## 2:15 Community News
2:26 34,000 Members Reached on the Adafruit Discord Server
 34,000 THANKS 

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 34,000 humans - thank you! Adafruit believes Discord offers a unique way for Python on hardware folks to connect. Join today at https://adafru.it/discord.
You can see the history of the growth of the Discord - Adafruit Blog.
3,000 Members on the CircuitPython Subreddit
 CircuitPython Subreddit 

The CircuitPython subreddit on Reddit.com hits the 3,000 members mark! Thank you to our Reddit readers for choosing to get your Python fix on our subreddit - Adafruit Blog.
See the CircuitPython Subreddit - Reddit.
3:13 Raspberry Pi RP2040 Availability
 RP2040 

Raspberry Pi founder Eben Uption gives an update on production of the RP2040 processor after another post on microcontroller availability and price - Twitter.
Also see an April 11th interview with Eben - peppe80.
3:55 A Command Line Game Designed to Help You Learn Git
 Git Gud 

Git Gud is a command line game designed to help you learn how to use the popular version control system known as Git! As levels progress, you will know more and more about git, and eventually become a git grandmaster - GitHub.
4:19 Project of the Week: Testing Math Precision
Doing math operations on microcontrollers, which most often used fixed bit lengths to represent numbers, can result in rounding errors - decimal numbers that are close to the result but not quite right. Twitter user Hide_G took a look at various Python implementations to check this out.
 Python 



### 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.
________________
## 5:52 State of CircuitPython, Libraries and Blinka
### 6:10 Overall
* 14 pull requests merged
  * 13 authors - billvanleeuwen424, tekktrik, todbot, KurtE, caternuson, dhalbert, awgrover, Gadgetoid, Neradoc, kattni, rivimey, FoamyGuy, jepler
  * 10 reviewers - askpatrickw, ladyada, caternuson, dhalbert, makermelissa, tekktrik, brentru, FoamyGuy, gamblor21, jepler
* 12 closed issues by 7 people, 15 opened by 13 people


### 6:36 Core
* 2 pull requests merged
  * 2 authors - KurtE, Neradoc
  * 4 reviewers - ladyada, dhalbert, gamblor21, jepler
* 19 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 214 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 178 days)
  * https://github.com/adafruit/circuitpython/pull/5852 (Open 94 days)
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 67 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 61 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 43 days)
  * https://github.com/adafruit/circuitpython/pull/6217 (Open 16 days)
  * https://github.com/adafruit/circuitpython/pull/6247 (Open 12 days)
  * https://github.com/adafruit/circuitpython/pull/6261 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/6256 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/6270 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/6280 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/6279 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/6282 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/6281 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/6288 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/6287 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/6291 (Open 0 days)
  * https://github.com/adafruit/circuitpython/pull/6289 (Open 0 days)
* 8 closed issues by 4 people, 6 opened by 6 people
* 525 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 7.2.x: 0 open issues
  * 7.3.0: 4 open issues
  * 7.x.x: 30 open issues
  * 8.0.0: 12 open issues
  * Libraries: 19 open issues
  * Long term: 456 open issues
  * Support: 1 open issues
  * 3 issues not assigned a milestone


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


### 8:54 Libraries
* 10 pull requests merged
  * 9 authors - billvanleeuwen424, tekktrik, todbot, dhalbert, awgrover, kattni, rivimey, FoamyGuy, jepler
  * 6 reviewers - tekktrik, askpatrickw, brentru, FoamyGuy, dhalbert, jepler
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_floppy/pull/1 (Days open: 84)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/94 (Days open: 20)
    * https://github.com/adafruit/Adafruit_CircuitPython_RSA/pull/25 (Days open: 12)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Apple_Notification_Center/pull/16 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_VC0706/pull/27 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_BMP280/pull/36 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_EMC2101/pull/22 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/88 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/115 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MotorKit/pull/44 (Days open: 1)
  * 20 open pull requests (Oldest: 566, Newest: 1)
* 4 closed issues by 4 people, 7 opened by 6 people
  * 634 open issues
  * 198 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_EMC2101](https://github.com/adafruit/Adafruit_CircuitPython_EMC2101)
 * [Adafruit_CircuitPython_BLE_Apple_Notification_Center](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Apple_Notification_Center)
 * [Adafruit_CircuitPython_AdafruitIO](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO)
 * [Adafruit_CircuitPython_CircuitPlayground](https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground)
 * [Adafruit_CircuitPython_BMP280](https://github.com/adafruit/Adafruit_CircuitPython_BMP280)
 * [Adafruit_CircuitPython_RSA](https://github.com/adafruit/Adafruit_CircuitPython_RSA)
 * [Adafruit_CircuitPython_MotorKit](https://github.com/adafruit/Adafruit_CircuitPython_MotorKit)
 * [Adafruit_CircuitPython_VC0706](https://github.com/adafruit/Adafruit_CircuitPython_VC0706)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


### 10:44 Blinka
* 2 pull requests merged
  * 2 authors - caternuson, Gadgetoid
  * 3 reviewers - ladyada, caternuson, makermelissa
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 432 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 266 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 192 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 132 days)
* 0 closed issues by 0 people, 2 opened by 2 people
* 74 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 11664
Number of supported boards: 88




## 11:32 Hug reports


12:10 @kattni (hosting)
* @krayola for taking a look at my PyCon 2022 CPB demo, and for making suggestions to clean it up a bit from the initial code
* @jepler for proofing my update to the PyCon 2022 CPB Quickstart worksheet I adapted from the 2019 CPX version. 
* @makermelissa for offering to do the same
* @pt for creating some short URLs for me, and taking the extra time to bring the dev team in to sort out how to handle duplicate URLs so I could have updated links to the same content as 2019
* @dev team for figuring out how to create duplicate URLs
* @danh and @jepler for the chat about open core issues last week
* @foamyguy for inviting me onto his Deep Dive last week, and to everyone who participated


13:13 @danh (not at meeting)
* @kattni for testing proposed NeoPixel timing fixes on some unusual NeoPixel strands
* @Neradoc for working on listing frozen modules in support matrix
* @KurtE and @mjs513 for a lot of i.MX work to support Teensy boards


13:37 @deshipu
* @foamyguy for the deep dives
* group hug


14:04 @foamyguy
* @kattni for joining me on the Deep Dive show last week to discuss all things Library related, as well as everyone who watched along and asked great questions in the chat
* @neradoc for helping me with some changes I was attempting in the core during a stream as well as some other library related stuff this morning and just generally offering great help in discord to many people
* @tekktrik for helping get a requests PR tested that adds support for multiple set-cookie headers
* My wife Kristina for proof-reading the typing guide page that I wrote recently
* Group Hug


15:28 @jepler
* @kattni for writing up a blog post about our pycon presence
* @kattni and @danh for taking some time to go through open issues last week


15:57 @kmatch
* To user ESP-sprite on the ESP32.com Espressif forum for technical support on the new LCD peripheral


16:21 @makermelissa
* @notro for the help with getting the MIPI driver working
* Group Hug


16:54 @mark(Gamblor) [not at the meeting]
* @pt for the tour of Adafruit while I was in NYC


16:48 @tammymakesthings (won’t be at the meeting this week)
* Group hug!


16:57 @tekktrik
* @foamyguy for helping with getting the PR for storing multiple cookies in the requests library tested and merged
* @foamyguy and @kattni for an awesome Deep Dive about the libraries!
* Group hug!


## 17:32 Status Updates


18:10 @kattni (hosting)
* Last week:
   * Published the Feather ESP32-S3 guide along with all that goes with that.
   * Quick updates to three guides for boards that had minor revisions (PiUART, BLE sniffer friend, PCF8523)
* This week:
   * Continue testing PyLeap
   * Work with Trevor to make sure any bugs in PyLeap are fixed
   * Prep for PyCon 2022
* Last weekend:
   * Mostly finished the CPB demo to flash onto the boards we’ll be using for the Open Spaces (Considering changing one small thing, but want feedback before doing that)
   * Continued sorting out my hardware kit for PyCon
   * Started writing my talk for the Education Summit


21:36 @danh (not at meeting)
* Working on improving NeoPixel timings for a variety of NeoPixels, especially on SAMx5x. I have a good assortment of different base chips now to test against.
* Debugging gaps between I2C transactions on ESP32-nn. The gap size is approximately the FreeRTOS tick length, and it appears to be multitasking related after varying some tasking timings. Tracking down what we are actually doing with tasking. Also looks like we may be waiting too long to service the TinyUSB task.
* Continuing to test ESP32SPI wifi hangs.




22:21@deshipu
* playing with old-school LCD displays and discrete driver chips for them
* working on PewPew LCD, with a 9-bit spi display from nokia 1202
* found out displayio has been broken on hallowing and all other samd21 boards ever since 7.0.0, no idea how to fix https://github.com/adafruit/circuitpython/issues/6277 
* will run a CircuitPython workshop at the EuroPython conference






24:39 @foamyguy
* Made an attempt to refactor some type and size checking code from the TileGrid initializer function in the core so it could be used by a new bitmap property setter, but did not have success figuring out a good way to do it.
* Special library focused episode of Deep Dive this past Friday
This Week
* Made PRs for a small typo issue in ESP32S2TFT library as well as one more trying to make the secrets.py file not required if the user code isn’t going to use the network
* Testing out and reviewing various PRs including one for multiple cookies inside of requests. Continuing a sweep through open PRs this afternoon
* Undo my attempts at refactoring and get the bitmap setting PR for core TileGrid into a working state, and add / enforce a restriction that the new bitmap must be the same size as the old one to reduce the number of checks needed for size. (same size covers all of the use-cases I have in mind anyhow, maybe a good enhancement some day could be to allow different ones, but I don’t have a specific need atm)
* Submit the typing guide page for moderation




26:58 @jepler
* Last week:
   * Big breakthrough on [Apple II “.woz” image creation](https://github.com/adafruit/a2woz). I have now had success with quite a few a2r to woz conversions, running copy protected software inside an Apple II emulator.
   * Refined the [Flux Visualization (“fluxvis”)](https://github.com/adafruit/fluxvis) program & released it to pypi
   * Fixed a problem with Adafruit’s Arduino CI that gave non-working UF2s for SAMD51
   * Did some documentation of a2woz and fluxvis, but it’s in an unreleased guide so you can’t see it yet
   * Made a [case for pygamer](https://www.printables.com/model/171159-pygamer-lanyard-case) to use as a badge on a lanyard
* This week:
   * Pybadger improvements
   * CircuitPython issues
   * More floppy drive stuff(?)


28:51 @kmatch
* ESP32-S3 LCD FrameBuffer display: got a bouncing square working in CircuitPython without screen glitching. 
* Found a way to eliminate tearing effect (where the display redraws before CircuitPython finishes fully updating the frame buffer)
* This week:
   * Clean up my -S3 RGB display code to init/deinit pins safely, make initial DotClockDisplay commit. 
   * Define feature requests for ESP-IDF:
      * Option to preallocate and pass in a framebuffer to display init function
      * “Trigger mode” for refreshes
   * Test capability of IR time of flight distance sensors to detect distance to a bowling ball passing by at ~16 mph at a right angle to the sensor


30:31 @makermelissa
* Last Week:
   * Got the Alternative Display MIPI driver for all of the displays working
   * Wrote the init command files for 3 different types of displays
   * Working on an installer for the MIPI driver so that it can be fairly easily re-integrated back into the pitft driver
* This Week:
   * Some preparations for PyCon such as reviewing documents
   * Finish up the MIPI driver installer script


31:14 @tammymakesthings (not at the meeting)
* Last week:
   * Due to starting a new job and also a death in my extended family, didn’t work on anything CircuitPython related last week.
* This week:
   * [Twitch](https://twitch.tv/tammymakesthings) streams Wednesday at 5:30pm PT and Saturday at 11:00am PT.
   * Working on the CircuitPython Card Deck library
   * Hopefully working on more typing PRs




31:43 @tekktrik
* Last week
   * Mostly just getting over being sick and preparing for Passover, so all bed and no bread ᕕ( ᐛ )ᕗ
   * Adding automagically attempting multiple networks in the PortalBase library based on a new “networks` key in secrets.py dict
   * Testing a PR for allowing to store multiple cookies in the requests library
   * Otherwise just helping with reviewing PRs and issues
* This week
   * Packing up to move, so another lighter week
   * Trying to tackle some of my own submitted issues regarding documentation
## 33:12 No “In The Weeds” this week
“In The Weeds” will return next week. Thank you for your understanding!


## 33:30 Wrap-Up
Next week’s meeting is Monday, April 25 at the usual time.
