# CircuitPython Weekly for April 25, 2022


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


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.
## 3:45 Community News


## PyCon US 2022 This Week
  



PyCon US 2022 is this week. The event is in-person with an online component from April 27, 2022 – May 5, 2022 in Salt Lake City, Utah USA. Head over to the [PyCon US 2022 website](https://us.pycon.org/2022/) for details about the conference and the schedule – [PyCon Blog](https://pycon.blogspot.com/2022/10/pycon-us-2022-website-and-sponsorship.html).


Kattni, Melissa and Jeff from Adafruit will be attending April 28th through May 3rd. Kattni and Melissa will be attending the Education Summit on April 28th. Kattni will be giving a talk at the Summit called Simplicity and Fun: Learning with CircuitPython. The team will also be hosting a Welcome to CircuitPython mini-sprint.M


They will be hosting Open Spaces every day (time TBD), which will be an introduction to CircuitPython using the Circuit Playground Bluefruit (CPB). The Bluefruit boards will be provided, along with a few other accessories, to enable folks to explore CircuitPython. A quick-start will be available, as well as a series of other examples to delve into. All three team members will be available to help.


Kattni and Melissa will be hosting development Sprints May 2nd and 3rd - [Adafruit Blog](https://blog.adafruit.com/2022/04/18/looking-forward-to-pycon-2022-python-pyconus-pycon/) and the [Open Spaces GitHub](https://github.com/kattni/PyCon2022).


## 5:51 Try out the micro:bit Python Editor (Beta)


  



The Micro:bit Educational Foundation is excited to announce that our new Python Editor has entered its Beta phase, meaning that we’re getting ready to to release it to the community - [microbit.org mailing](https://mailchi.mp/microbit.org/python-editor-beta) and [micro:bit support](https://support.microbit.org/support/solutions/articles/19000135210-python-editor-guide).


> The new editor has been built from the ground-up with classroom use in mind. It aims to make text-based coding more accessible to students who may find it hard to engage with the subject by removing known barriers to learning. It's also designed to make computer science appeal to more diverse cohorts and hence expand their horizons.


## Tom's Hardware Pimoroni Servo 2040 Review


  



Tom's Hardware reviews the new Pimoroni Servo 2040 board - [Tom's Hardware](https://www.tomshardware.com/reviews/pimoroni-servo-2040-review-control-up-to-18-servos-with-rp2040).


> We tested the Pimoroni Servo 2040 using MicroPython and CircuitPython. Pimoroni has created a new version of its MicroPython release which provides support for Servo 2040, and it seems that roboticist and developer Chris Parrott has poured a lot of love into the software that supports this project. The MicroPython modules for Servo 2040 are well documented and robust. We are seeing great hardware and software backed by great documentation.<br>&nbsp;<br>For our MicroPython test, we elected to use the Pimoroni’s version which also supports CircuitPython libraries. We wanted to test a few Stemma QT devices with MicroPython and this seemed like a great fit. We ran through Pimoroni’s examples, testing single and multiple servos. Everything went extremely smoothly.


## 7:23 CircuitPython Online IDE for Classes


  

The CircuitPython Online IDE for Classes project provides nearly the same online IDE as the CircuitPython Online IDE. However, in this project, teaching functions are provided:


### 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:57 State of CircuitPython, Libraries and Blinka
### 9:12 Overall
* 30 pull requests merged
  * 20 authors - jepler, FoamyGuy, mraleson, stonehippo, mjs513, xuhow, kattni, tekktrik, billvanleeuwen424, MarkTsengTW, KurtE, urunsiyabend, dhalbert, CedarGroveStudios, bergdahl, DavePutz, nerdcorenet, weblate, arturo182, Neradoc
  * 6 reviewers - makermelissa, jepler, FoamyGuy, gamblor21, tekktrik, dhalbert
* 25 closed issues by 11 people, 9 opened by 7 people


### 10:35 Core
* 14 pull requests merged
  * 13 authors - KurtE, jepler, bergdahl, DavePutz, FoamyGuy, stonehippo, urunsiyabend, mjs513, tekktrik, weblate, xuhow, Neradoc, dhalbert
  * 3 reviewers - gamblor21, jepler, dhalbert
* 17 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 221 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 185 days)
  * https://github.com/adafruit/circuitpython/pull/5852 (Open 101 days)
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 74 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 68 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 50 days)
  * https://github.com/adafruit/circuitpython/pull/6217 (Open 23 days)
  * https://github.com/adafruit/circuitpython/pull/6247 (Open 19 days)
  * https://github.com/adafruit/circuitpython/pull/6256 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/6270 (Open 15 days)
  * https://github.com/adafruit/circuitpython/pull/6280 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/6281 (Open 10 days)
  * https://github.com/adafruit/circuitpython/pull/6288 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/6287 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/6301 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/6300 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/6308 (Open 1 days)
* 7 closed issues by 4 people, 3 opened by 2 people
* 523 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 7.2.x: 0 open issues
  * 7.3.0: 9 open issues
  * 7.x.x: 29 open issues
  * 8.0.0: 12 open issues
  * Libraries: 19 open issues
  * Long term: 455 open issues
  * Support: 1 open issues
  * -2 issues not assigned a milestone


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


### 12:43 Libraries
* 16 pull requests merged
  * 9 authors - MarkTsengTW, CedarGroveStudios, FoamyGuy, mraleson, tekktrik, nerdcorenet, arturo182, kattni, billvanleeuwen424
  * 5 reviewers - makermelissa, jepler, FoamyGuy, tekktrik, dhalbert
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/pull/65 (Days open: 34)
    * https://github.com/adafruit/Adafruit_CircuitPython_VC0706/pull/25 (Days open: 13)
    * https://github.com/adafruit/Adafruit_CircuitPython_RSA/pull/27 (Days open: 12)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/108 (Days open: 11)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/162 (Days open: 6)
    * https://github.com/adafruit/Adafruit_CircuitPython_Typing/pull/12 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_TestRepo/pull/41 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BME680/pull/49 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/pull/106 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/pull/104 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes/pull/47 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32S2TFT/pull/5 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Motor/pull/63 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/99 (Days open: 1)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/98 (Days open: 1)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/181 (Days open: 1)
  * 26 open pull requests (Oldest: 573, Newest: 1)
* 18 closed issues by 8 people, 6 opened by 6 people
  * 629 open issues
  * 198 good first issues
* https://circuitpython.org/contributing

#### Library updates in the last seven days:
 * [Adafruit_CircuitPython_Typing](https://github.com/adafruit/Adafruit_CircuitPython_Typing)
 * [Adafruit_CircuitPython_BME680](https://github.com/adafruit/Adafruit_CircuitPython_BME680)
 * [Adafruit_CircuitPython_RGB_Display](https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display)
 * [Adafruit_CircuitPython_VC0706](https://github.com/adafruit/Adafruit_CircuitPython_VC0706)
 * [Adafruit_CircuitPython_Display_Shapes](https://github.com/adafruit/Adafruit_CircuitPython_Display_Shapes)
 * [Adafruit_CircuitPython_Motor](https://github.com/adafruit/Adafruit_CircuitPython_Motor)
 * [Adafruit_CircuitPython_PortalBase](https://github.com/adafruit/Adafruit_CircuitPython_PortalBase)
 * [Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
 * [Adafruit_CircuitPython_RSA](https://github.com/adafruit/Adafruit_CircuitPython_RSA)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


### 14:58 Blinka
* 0 pull requests merged
  * 0 authors - 
  * 0 reviewers - 
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 439 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 273 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 199 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 139 days)
* 0 closed issues by 0 people, 0 opened by 0 people
* 74 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 11172
Number of supported boards: 88






________________
## 15:57 Hug reports
@jepler
* @ladyada for always handing out excellent quests
* @danh for pinging me when I dropped the ball on an mp3 problem
* @kattni for doing a bunch behind the scenes to prep for pycon
* @tannewt hope you’re doing well, you’re doing an excellent job of not being seen while on paternity leave!


17:00 @CGrover (just listening today)
* @foamyguy and @Neradoc for insightful revision control advice as I began a long-delayed quest into git-Mordor. Today’s release of @foamyguy’s “How to Make Pull Request to Contribute…” video was particularly timely and helpful. I’m secretly longing to return to the Shire, however.


17:25 @danh
* @KurtE and @mjs513 for continued fixes for Teensy boards
* @tekktrik for a bunch of documentation and typing fixes
* @jepler for improvements to RP2040 PIO


18:10 @david.glaude (lurking):
* I have been following in recording without contributing to the weekly meeting for months so group hug because there are too many things to celebrate such as:
   * Liz joining Adafruit
   * Scott family extension
   * Tim for deep dive
   * …


18:33 @foamyguy
* @Neradoc for sharing a web UI packager for library dependencies
* @tammymakesthings for streaming circuitpython project development on twitch
* Group hug


19:06 @jerryn
* @neradoc for patiently explaining how to access the microbit matrix on Discord.


19:26 @kattni
* @eva for running an Adabot patch to update the Library .gitignore files to match, and running a script to update the “chat” badge on the libs to the new Adafruit Discord badge
* @foamyguy for updating the URL used for the Adafruit Discord badge to the “raw” URL so Read the Docs rendered it properly as well
* @jepler for writing a script to automatically load CircuitPython and flash a directory full of content onto CIRCUITPY to save me a bunch of time.
* @krayola for modifying said script to be fancier because that’s how she works
* @brian and @krayola for joining the flash party to get CP and content loaded onto ~90 Circuit Playground Bluefruits in preparation for Open Spaces at PyCon 2022
* @krayola for helping in general with PyCon prep
* Group hug!


20:21 @kmatch
* Thanks to GitHub user suda-morris for backporting some RGB LCD fixes into v4.4 of the ESP-IDF


20:54 @makermelissa
* @badcf00d for contributing a well written device tree overlay last year that’s working as a great reference
* @kattni for all the hard work prepping for PyCon
* Group Hug


21:15 @tammymakesthings
* Group hug


21:36 @tekktrik (not present/lurking only)
* @Neradoc for the fix regarding the “Edit on Github” link on the CircuitPython API docs
* @kattni for all the neat things that will be at PyCon, excited to swing by and check it out!
* Group hug!
## 21:54 Status Updates
22:26 @jepler
* Last week:
   * Yet again, trying to put the finishing touches on floppies. Still a little bit left!
   * Started on a quest to improve the StateMachine to let it use the new Servo 2040 to its full potential
* This week:
   * Just 2 ½ days of ‘normal’ work this week, then heading to PyCon as already mentioned
   * Trying to finish the above
   * Investigating whether to do a rewrite of adafruit_pioasm (potentially: adding expressions & fixing oddities in the parser). Sadly, it’s already a larger and probably more heavyweight program than the original, even though it handles just a subset of the instructions so far.


24:36 @CGrover (just listening today)
* Learned enough git revision control concepts to successfully submit an NAU7802 driver class to the CircuitPython community bundle. In conjunction with a custom FeatherWing design, the driver reads sensitive analog load cells for various scale and torque converter projects.
* Working on submitting three more driver classes and a collection of helpers to the community bundle. This is not only a good educational experience but also an opportunity to fine-tune some older code with my evolving coding skill set. As a visual and experiential learner, I’m also hoping to codify and document this into a set of process flow diagrams that I can reference for my occasional use in the future.


25:34 @danh
* I have a fix for ESP32-S2 long delays between I2C transactions. Working with an Espressif staff person, who has a different fix that fixes the problem in a simple example, but not in CircuitPython.
* Looking at ESP32-S3 I2C issue, which is different.
* Doing a lot of NeoPixel timing testing and adjustment. One product we sell has unusual timing requirements.


28:12 @david.glaude (lurking):
* Last week:
   * Converting Wii uDraw GameTablet to Absolute Mouse HID for PC (as seen on Show and Tell: https://twitter.com/DavidGlaude/status/1517611314985721856?s=20&t=1XWRYhkXZoR-faaK6PqbBg)
   * Mouse emulation using custom standalone USB-HID descriptor rather than using the built-in composite (Mouse+Keyboard+... ) descriptor. My PoC demonstrates how to use a Wii uDraw Tablet with the Nintendo Switch: https://twitter.com/DavidGlaude/status/1517493861282721799?s=20&t=qfPjnya-DcQ7UgT6MioTdA
* Project:
   * Emulating mouse to automate Texture drawing on Game Builder Garage (a Switch game to create your own games).


28:58 @foamyguy
* Last week
   * Created a SpriteButton class for customized bitmap based UI Buttons. I’ve PR’d it to the Display_Button library, which is currently a single file so I also refactored it to a package and made a base class that the existing Button classes can extend.
   * Made a PR in adafruit_imageload for the tilegrid inflator helper function that generates larger TileGrids from 3x3 source spritesheets. This is used by the SpriteButton and a few other widgets that are in the works
   * Made some automation scripts to update the discord badge in library readme files due to Github and RTD rendering images differently based on their URL.
   * Today: published a YT video demonstrating how to make PRs to contribute to CircuitPython libraries
* This week
   * Looking into making [Draft] notices on the PRs list on circuitpython.org/contributing. I think I’ve figured out where the data for this page comes from, and the template that gets rendered / filled in with that data. Need to get Adabot environment setup properly to raise Github API limit so I can try adding the Draft boolean to the data.
   * Implement touch interaction in the TabLayout widget and clean up the code to prepare for making a PR.
   * Setup Sharp Display and use it for testing a few PRs.


@jerryn - nothing to report – please skip over me.


31:41 @kattni
* Last week:
   * Published the Feather ESP32-S3 guide
   * Testing PyLeap:
      * Tested all the projects to make sure they load
      * Worked with Trevor to get bugs fixed
      * Tested bug fixes
      * Added a new project to PyLeap using the new process
   * PyCon prep!
* This week:
   * Testing PyLeap:
      * Test the latest TestFlight with the new project added
      * Get through as much as possible before leaving for PyCon
   * PyCon prep!
   * PyCon 2022!
      * Giving a talk at the Education Summit (before the conference)
      * Running a mini-sprint at the Edu Summit
      * Hosting Open Spaces daily during the conference
      * Hosting 2 days of development Sprints (after the conference)
* This past weekend:
   * PyCon prep!
      * Flashed CP and content onto ~90 Circuit Playground Bluefruits
      * Counted out and packaged up 80 USB micro cables.
      * Many other smaller things.


35:03 @kmatch
* Little progress this week due to house projects and work. 
* Preparing a feature request to the ESP-IDF: want the RGB LCD init function to accept a pre-allocated framebuffer (so we can use CircuitPython’s heap). 
* This week: Nothing planned until housework settles down. 


35:59 @makermelissa
* Last Week:
   * Working on script to install new MIPI driver and figuring out all offsets and rotations
   * Worked on a Device Tree Overlay for a touchscreen driver for the STMPE touch screen controllers
   * Started working on a Device Tree Overlay for the TSC2007
* This week:
   * Try and wrap up Touch Screen DTOs
   * PyCon Prep
   * PyCon 2022
      * Attending
      * Working with Kattni on her talk, the workshop, and open spaces


37:02 @tammymakesthings
* Last week:
   * 1 [Twitch](https://twitch.tv/tammymakesthings) stream
   * Continued work on the DisplayIO Card Deck library - basic card deck functionality is almost done, and then I can start working on the DisplayIO piece. Hoping to leverage @foamyguy’s tile grid inflater code.
   * Time was very limited because of the new job.
* This week:
   * Hopefully 2 or 3 Twitch streams
   * Continuing work on the card deck library
   * Hopefully getting back to my fix for @mraleson’s `piku` utility for boards with larger amounts of flash storage


37:59 @tekktrik (not present/lurking only)
* Last week:
   * Mostly just packing up my things and moving them to my new apartment, so light week
   * Addressing some Long Term documentation issues in the core
   * Adding more typing protocols to circuitpython_typing to aid in a few type annotations for libraries
   * A few random bugfixes
* This week:
   * PyCon2022!
   * Unboxing the things I just boxed (╯°□°)╯︵ ┻━┻
   * Probably a few type annotations during flight and downtime


## 38:39 In The Weeds




## 38:45 Wrap-Up
The next meeting is at the usual time on Monday, May 2nd 2022 at 11amPT/2pmET
