# CircuitPython Weekly Meeting for May 30, 2023
Here is the notes document for next Monday’s CircuitPython Weekly meeting. It is at the normal time of 11am Pacific / 2pm Eastern here on Discord. Everyone is encouraged to attend! Please add your hug reports and status updates even if you’ll be attending the meeting - it’s super helpful! If you are unable to attend but would still like to include updates, feel free to include them in the notes and we’ll read them off during the meeting. Hope to see you there! @circuitpythonistas


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!


Tim is hosting.


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


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.hosted.quelltext.eu/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.
## 03:43 Community News
03:46 Two New CircuitPython Versions Released
The CircuitPython team simultaneously released CircuitPython 8.1.0 and a new beta 8.2.0-beta.0. 8.1.0 remains unchanged from the 8.1.0 release candidate reported last week. 8.2.0-beta.0 incorporates some interesting new features:
* Continued enhancement of synthio.
* RP2040 alarm.sleep_memory.
CircuitPython 8.1.0 - Adafruit Blog.
CircuitPython 8.2.0-beta.0 - Adafruit Blog and Release Page.
04:25 Microsoft DeviceScript for Programming Microcontrollers
Microsoft has quietly released a Technical Preview of DeviceScript. It brings a professional TypeScript developer experience to low-resource microcontroller-based devices. DeviceScript is compiled to a custom VM bytecode, which can run in very constrained environments. It uses a Visual Studio Code Extension to make an Integrated Development Environment with full debugging - GitHub.


05:23 Project of the Week: A Handheld LoRa Messenger Using Wio Terminal
This handy LoRa messenger is built using a WIO Terminal with a QWERTY keyboard. The keyboard matrix is scanned by GPIO, with the software in CircuitPython - Twitter, Instagram, Tindie and YouTube.
### 05:57 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.
## 06:59 State of CircuitPython, Libraries and Blinka
**This report contains information from the previous seven days. Any changes (PRs merged, etc.) made today are not included in this report.**
### 08:00 Overall
* 51 pull requests merged
  * 16 authors - charlieh0tel, phamhuyvn, FoamyGuy, tkroo, bergdahl, Atalanttore, NathanY3G, spovlot, tyeth, andibing, jepler, tekktrik, jposada202020, weblate, silabs-BelaV, wtuemura
  * 7 reviewers - makermelissa, jepler, dhalbert, tannewt, tekktrik, gamblor21, brentru
* 23 closed issues by 12 people, 19 opened by 15 people


### 09:31 Core
* 13 pull requests merged
  * 11 authors - charlieh0tel, phamhuyvn, tkroo, bergdahl, andibing, jepler, Atalanttore, jposada202020, weblate, silabs-BelaV, wtuemura
  * 3 reviewers - gamblor21, tannewt, dhalbert
* 23 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 329 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 255 days)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 210 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 193 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 179 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 139 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7591 (Open 103 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 99 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 87 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 80 days)
  * https://github.com/adafruit/circuitpython/pull/7718 (Open 78 days)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 61 days)
  * https://github.com/adafruit/circuitpython/pull/7886 (Open 38 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7984 (Open 14 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 4 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8037 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/8035 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/8043 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/8042 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/8039 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/8048 (Open 0 days) (draft)
* 6 closed issues by 5 people, 9 opened by 6 people
* 648 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
 * 8.2.0: 0 open issues
 * 8.x.x: 36 open issues
 * 9.0.0: 30 open issues
 * Libraries: 20 open issues
 * Long term: 549 open issues
 * Support: 10 open issues
 * Third-party: 7 open issues
 * 1 issues not assigned a milestone


### 11:21 Libraries
* 34 pull requests merged
  * 3 authors - tekktrik, spovlot, FoamyGuy
  * 4 reviewers - tekktrik, brentru, jepler, dhalbert
  * Merged pull requests:
        * https://github.com/adafruit/Adafruit_CircuitPython_DHT/pull/92 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/94 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_GPS/pull/100 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_PCA9685/pull/56 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_INA260/pull/25 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_INA260/pull/26 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_PCF8591/pull/11 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_PCF8591/pull/10 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/105 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/104 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/35 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/27 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_OV5640/pull/20 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_FONA/pull/28 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/154 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_AS7341/pull/37 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/56 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone/pull/19 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_LIFX/pull/21 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/62 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver/pull/29 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_ICM20X/pull/19 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Ducky/pull/13 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_VL53L4CD/pull/10 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_FXOS8700/pull/31 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_FXAS21002C/pull/30 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/pull/70 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_PCF8523/pull/31 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_SimpleMath/pull/8 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/42 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Radio/pull/25 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_PIOASM/pull/57 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer/pull/57 (Days open: 1)
        * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/430 (Days open: 1)
  * 59 open pull requests (Oldest: 973, Newest: 1)
* 13 closed issues by 6 people, 9 opened by 9 people
  * 614 open issues
  * 51 good first issues
* https://circuitpython.org/contributing


#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 129250 PyPI downloads over 310 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 9887
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 9137
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2955
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1716
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1236
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1095
  * Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1006
  * Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 919
  * Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 869
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 868


#### Library updates in the last seven days:
* **New Libraries**
  * [adafruit/CircuitPython_NAU7802](https://github.com/adafruit/CircuitPython_NAU7802)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_HTTPServer](https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer)
  * [adafruit/Adafruit_CircuitPython_BLE_Radio](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Radio)
  * [adafruit/Adafruit_CircuitPython_WSGI](https://github.com/adafruit/Adafruit_CircuitPython_WSGI)
  * [jposada202020/CircuitPython_BMA220](https://github.com/jposada202020/CircuitPython_BMA220)


### 14:35 Blinka
* 4 pull requests merged
  * 3 authors - NathanY3G, tyeth, tekktrik
  * 1 reviewers - makermelissa
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 839 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 599 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/299 (Open 2 days)
* 4 closed issues by 3 people, 1 opened by 1 people
* 96 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 12891
* Piwheels Downloads in the last month: 7513
Number of supported boards: 119






## 15:44 Hug reports
15:46 @foamyguy (Hosting)
* @MrGoodbits for sharing tips and fixes for my code during livestream 
* @DJDevon3 for submitting fixes and improvements across a few different libraries and their examples
* Group Hug


16:15 @danh
* @ajs256, @alvaro, @andibing, @atalnattore, @bergdahl, @bill88t, @boranroni, @Chameloun, @ChenxiXiao, @electricalgorithm, @fabaff, @jposada202020, @hexthat, @Lisapple, @luisan00, @Neradoc, @Pixel-Clay, @Saentis, @Senuros, @tawez, @urfdvw, @urunsiyabend, @wtuemura, @yutaro for supplying translations. This list goes back only to February 2022, and thanks to all the others as well.


17:17 @DJDevon3 (text only)
* @Ventrue & @Elpekinin for helping with a PWM function for controlling a 4-pin RGB LED over BLE with the Adafruit Connect App
* @Neradoc for letting me know I was using the wrong ssd1306 library.
* @CGrover for the Cedar Grove ItsyBitsy Breadboard Adapter PCB


17:51 @jepler
* Group hug
* Todbot & Mark for keeping me interested in synths


18:03 @kattni
* Group hug!


18:12 @makermelissa
* Group Hug


18:21 @michalpokusa (not present)
* @FoamyGuy for extensive testing and reviewing PR on adafruit_httpserver
* @Neradoc and @Holiday-Hero for discussion about implementing templating engine into adafruit_httpserver 


18:43 @tannewt
* @tkroo for two board defs and now cp.org experiments.
* @justyn for taking a look at pysigrok over the weekend.
* @foamyguy for digging into why hiding lines slows everything down.
* @chrisreed for meeting with me to help with getting MCU_Flasher going over pyocd probes.


19:29 @tekktrik
* @DJDevon3 for great example fixes
* @foamyguy, @Neradoc, and others who have caught and fixed interesting packaging and CI issues over the last couple weeks
* Group hug!


## 19:56 Status Updates
20:28 @foamyguy (hosting)
* Last week
   * Finished up testing for the new HTTPServer with many new added functionalities
   * Testing for EPD library to confirm types of certain values
   * Investigating an issue in displayio in the core that is leading to hidden elements. Discovered some things about it, but still need to dig a little deeper to get to the root and try to resolve it
   * Enjoyed the long weekend taking some time off and a short day trip with my wife to see a concert. Before hitting the road I whipped up a script to scroll the logo of a band on my Matrix Portal
   * Added some polish and documentation and published the initial version of https://github.com/FoamyGuy/CircuitPython_RGB_LED_HTTPServer project. Hoping to get some more of the docs written out this week and getting client examples in a few languages added to the repo.
* This week
   * Circling back to typing PRs that were reviewed when submitted back around PyCon but haven’t had any action since and getting them moved forward where possible
   * Keep digging on the displayio issue


22:56 @danh
* Released CircuitPython 8.1.0 and 8.2.0-beta.0 last week.
* Working on port-specific submodule clone/update so that it’s not so tedious to set up a build environment if you are not going to build all ports. I’ll discuss in In The Weeds.
* Re-reviewing gneverov’s asyncio port from CPython.
* Will start on MicroPython v1.19.1 merge soon.


24:26 @DJDevon3 (text only)
* Submitted some quick PR’s to fix some outdated syntax in the SSD1306 & PCA9548 examples library. I think these kinds of code updates could be labeled as good first issues because they’re even easier than type annotations.
* Finished a rechargeable RGB LED candle powered by an ItsyBitsy NRF52840. The ItsyBitsy does not have battery capability until you put Cedar Grove’s ItstyBitsy Breadboard Adapter on it. It uses BLE with the Adafruit Connect App to change the color of a single 4-pin RGB LED.I added flicker, pulse, and rainbow. I didn’t use any animation libraries, the PWM animations were coded from scratch and I’m quite proud of that. 
* People having issues running a Pi Pico with an SSD1306 display and multiple I2C sensors is an issue I see come up regularly in the help-with-circuit-python channel. Created a basic example and will be submitting it to the example library.
* User @timex40 on reddit was having a hard time getting OpenSkyNetworks API authenticating with Circuit Python. Yes, Adafruit has a subreddit. The API tracks a single transponder or all transponders in a geographic area for a multitude of commercial aircraft types. I jumped right on it and within a day created 3 API examples for the adafruit_requests library. There are rate & daily limits. You get 100 calls per day unauthenticated (public) vs 4000 calls per day authenticated (private). To use the authenticated version simply sign up for the website and provide your OpenSky username & password in settings.toml


26:44 @jepler
* More synthio work :) new stuff merged last week, worked on biquad IIR filters this week-end. It has weird pops so it’s not quite right yet
* Also working on a project to do a fully self contained CP/M emulator, but that’s not circuitpython. If it comes to fruition it’ll be an adafruit guide though! (feather rp2040 DVI + feather rp2040 USB host = lots of power)


28:14 @Jose David (Missing)
* Took advantage of some free time and caught up with some of the recent Foamyguy`s streams, They inspired me to work in a simulation library for the HT16K33. Currently, works with 8x8 matrix, 7x4 segments and 14x4 segments with similar code to the CircuitPython HT16K33 library. https://github.com/jposada202020/CircuitPython_DISPLAY_HT16K33
* Work in the scale library, created the library a long time ago. I have updated and added to the community library and showed the capabilities in Discord Show and Tell ;)


29:13 @kattni
* Last week:
   * Published the Canary Nightlight guide
   * Was off Thursday through today
   * Picked up the RP2040 DVI Feather guide
* This week:
   * Finish up Feather RP2040 DVI guide
   * CHOC NeoKey Breakout guide
   * TRRS Jack Breakout guide


31:08 @makermelissa
* Last Week:
   * Finished the Magic Storybook project guide I collaborated on with Erin. Guide is now live.
   * Fixed an issue with the CircuitPython Code Editor which was preventing text highlighting from working correctly
   * Updated the Raspberry Pi ST7789 Kernel Display Driver to work with the correct offsets for the 1.14” display.
* This Week:
   * Continuing looking at Raspberry Pi Installer Script Display issues
   * Will check out some of the Blinka/Platform Detect PRs and issues
   * Will take a look at some of the circuitpython.org and Code Editor issues as well.
   * Possibly updating the MatrixPortal library


32:10 @tannewt
* Added SPI to the pyrate code and got it working with `flashrom`. It’s an easy way to dump the contents of external flash.
* Circled back to polishing MCU_Flasher code. SAMD21 works. ‘51 works sometimes and other times doesn’t. Need to poke at ‘51 more. JLink seems to be able to recover it. Need to test nrf52 as well.
* Will add 1-wire and uart support to pyrate this week. That’ll align the mode numbers with those in bus pirate.
* Did briefly try Thach’s tinyusb usb host changes on imx rt but didn’t have much luck.
* Brainstorming physical mini-synth modules to use with the new synthio.


34:57 @tekktrik (missing meeting)
* Last week
   * Applied the jQuery and pylint patch to all the libraries
   * Updated the build CI to run pytest, and switch all libraries with tests to use pytest
   * Add the ability for a couple repos to build wheels for download from PyPI
   * Started creating a build CI check to verify if libraries are correctly labeled as modules or packages
* This week
   * Finish the new library CI check for module/package verification
   * Prepare a patch for how docs are built (currently build from within the libraries “docs/” folder, but will now build from the root folder)
   * Catch up on a few PR reviews


## 36:03 In The Weeds
36:33 @DJDevon3 (text only)
* There are 3 similarly named circuit python libraries for the SSD1306 display. This cost me some time using the wrong library. It worked right up to the point of using display.show() and then threw errors. If it fooled me it’ll definitely fool someone else. Also, scrolling through the CP bundle’s /lib folder you will come upon the adafruit_circuitpython_ssd1306 library first due to alphabetical order. There’s got to be a better way. [additional info here by @danh]
   * Adafruit_CircuitPython_DisplayIO_SSD1306 (repo), adafruit_displayio_ssd1306 (import)
   * Adafruit_CircuitPython_SSD1306 (repo), adafruit_ssd1306 (import)
[framebuf, not displayio]
   * Adafruit_Python_SSD1306 (repo), Adafruit_SSD1306 (import)
[deprecated archived CPython library, not in any bundle]
   * similar situation for ssd1305, etc. Older framebuf-based libraries exist.


48:34 @danh
   * `make fetch-submodules` is pretty slow, especially now because of large submodule fetches for `broadcom` and `silabs`.
   * I am looking at providing port-specific fetches in each port’s Makefile. I was originally going to make these automatically update, but that may interfere with deliberately resetting a submodule for debugging.
   * I will look at making it fast to update during a bisect, etc. `git status` prints whether the fetch is out of date in the first column of its output.
   * @bill88t also noted that he sometimes wants to fetch everything to work offline, so I should not remove the total fetch in the top-level makefile.
   * Any other ideas or considerations?




## 57:31 Wrap-Up