# CircuitPython Weekly Meeting for April 3, 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!


Jeff is hosting.


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


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.
## 3:44 Community News
### 3:49 Two New Versions of CircuitPython Released
There were two releases of CircuitPython at the end of last week: one to the stable version (8.0.5) and one to the latest beta version (8.1.0-beta.1):
The stable version of the 8.0 branch was updated to fix known bugs - 8.0.5 and release notes.
The latest beta version fixes bugs for the proposed version 8.1.0 and adds some nice new capabilities - 8.1.0-beta.1 and release notes.
### 4:22 Sneak Peek on MicroPython R1.20
Damien George, creator of MicroPython, gives an update on the pre-release of MicroPython version R1.20 and a demonstration of Bluetooth Low Energy (BLE) on the Raspberry Pi Pico W with MicroPython in this video from the March MicroPython monthly meeting in Melbourne, Australia - YouTube.
### 4:52 PyBricks: MicroPython on LEGO Controllers Is Gaining Popularity
More projects are appearing using PyBricks, a version of MicroPython which runs on Lego Mindstorm Hubs. 


Kevin McAleer presents Exploring Pybricks: LEGO Mindstorms Evolved - YouTube.
### 5:23 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.
## 6:44 State of CircuitPython, Libraries and Blinka
### Overall
* 31 pull requests merged
  * 21 authors - dhalbert, ozgurbostan, DogushC, Saentis, FoamyGuy, CDarius, s-ol, bill88t, kattni, weblate, thess, bergdahl, DJDevon3, Atalanttore, microdev1, rishi-a, wtuemura, jposada202020, Neradoc, gneverov, jepler
  * 9 reviewers - dhalbert, anecdata, microdev1, tannewt, FoamyGuy, makermelissa, jposada202020, TheKitty, jepler
* 16 closed issues by 5 people, 11 opened by 8 people
### 8:18 Core
* 25 pull requests merged
  * 18 authors - dhalbert, ozgurbostan, DogushC, Saentis, FoamyGuy, CDarius, bill88t, kattni, weblate, thess, bergdahl, Atalanttore, microdev1, jposada202020, wtuemura, Neradoc, gneverov, jepler
  * 6 reviewers - dhalbert, FoamyGuy, anecdata, TheKitty, microdev1, jepler
* 19 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 411 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 272 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 198 days)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 153 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7221 (Open 136 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 136 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7282 (Open 123 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 122 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7430 (Open 85 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 82 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7592 (Open 46 days)
  * https://github.com/adafruit/circuitpython/pull/7591 (Open 46 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 42 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 30 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 23 days)
  * https://github.com/adafruit/circuitpython/pull/7718 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/7826 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/7825 (Open 1 days)
* 8 closed issues by 3 people, 6 opened by 4 people
* 630 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
 * 8.0.x: 0 open issues
 * 8.1.0: 15 open issues
 * 8.x.x: 66 open issues
 * 9.0.0: 21 open issues
 * Libraries: 20 open issues
 * Long term: 503 open issues
 * Support: 7 open issues
 * Third-party: 4 open issues
  * 0 issues not assigned a milestone
### 10:39 Libraries
* 5 pull requests merged
  * 4 authors - jposada202020, jepler, DJDevon3, rishi-a
  * 5 reviewers - dhalbert, tannewt, FoamyGuy, jposada202020, jepler
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_MCP2515/pull/18 (Days open: 29)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/129 (Days open: 21)
    * https://github.com/adafruit/Adafruit_CircuitPython_SD/pull/56 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ENS160/pull/3 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BME280/pull/67 (Days open: 1)
  * 45 open pull requests (Oldest: 916, Newest: 1)
* 5 closed issues by 3 people, 4 opened by 4 people
  * 603 open issues
  * 74 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 70060 PyPI downloads over 309 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 7784
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 6894
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 1882
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1399
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 830
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 758
  * Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 664
  * Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 653
  * Adafruit CircuitPython BME280 (adafruit-circuitpython-bme280): 616
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 605
#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
  * [adafruit/Adafruit_CircuitPython_SD](https://github.com/adafruit/Adafruit_CircuitPython_SD)
  * [adafruit/Adafruit_CircuitPython_BusDevice](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice)
  * [CedarGroveStudios/CircuitPython_AD9833](https://github.com/CedarGroveStudios/CircuitPython_AD9833)
  * [bablokb/circuitpython-pcf85063a](https://github.com/bablokb/circuitpython-pcf85063a)
### 13:19 Blinka
* 1 pull requests merged
  * 1 authors - s-ol
  * 1 reviewers - makermelissa
* 7 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 782 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 542 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/267 (Open 124 days)
  * https://github.com/adafruit/Adafruit_Python_PureIO/pull/33 (Open 53 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/284 (Open 11 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/665 (Open 10 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/58 (Open 0 days)
* 3 closed issues by 2 people, 1 opened by 1 people
* 95 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 14422
* Piwheels Downloads in the last month: 14766
Number of supported boards: 101


## 14:13 Hug reports
@jepler (host)
* Group hug


@CGrover (text only)
* @FoamyGuy for demonstrating `bitmaptools` features on his stream. May become just what the doctor ordered for a current project.
* @PaulCutler for bringing back the life-essential CircuitPython podcast.
* Group hug.


14:56 @danh
* @DavePutz and @jschachter for debugging ESP32-S3 pulseio.
* @gneverov for fixing a serious 8.1.0 network regression.
* @PulsusParad0xus in discord for causing me to update Blinka_bleio.


16:10 @DJDevon3
* @Jose David, @Neradoc, @Anecdata for helping me troubleshoot a hardware issue on a Feather M4 express. Figured out I caused the issue using angle cutters to remove the header pins. Fixed and back in working condition.
* @Neradoc for “helping” by writing a CSV DictReader example using @Tekktrik’s circuitpython_csv library. 
* @Neradoc, @spovlot, and @Kattni for helping narrow down a weird issue on 14-segment backpacks (issue in the weeds).
* @FoamGuy for reviewing and pushing the Steam API requests example PR. Another hug for dealing with computer issues this weekend. Hope you get everything fixed up for the next stream.


17:40 @david.glaude (not present)
* @DJDevon3 for the TR-Cowbell and other gifts (that reached my place exactly a week ago) 


17:55 @foamyguy
* @davidawesome01 in the System76 Discord for walking me through many troubleshooting and attempted fixes for my computer
* @Josedavid for adding new functionality to bitmaptools
* @Neradoc for finding and documenting an issue relating to multiple displays. Likely this was introduced when the show() API change was made. Multi-display was already something on my mind when this was found so jumping to find a fix is interesting to me.


18:52 Jose David (Text Only)
* @rishi-a for updating the Circup installation instructions in the ENS160 library.
* @danh, @foamyguy @gamblor For comments, suggestions, insights for the bitmaptools.@circle PR


19:12 @kattni
* @cater and @EdKeyes on Discord for helping me out with sorting out what qualified as power/charging circuitry on a Feather board for an image needed for a guide page
* @solarslurpi on GitHub for being willing to jump in to help me out with an upcoming guide, the topic of which happens to fall into their wheelhouse.
* The *Helpers on Discord for a very thoughtful discussion on some logistical things recently.
* Group hug to everyone, but especially to those I missed. I’m bad about remembering things.


20:58 @MakerMelissa
* @Kriechi for submitting a whole bunch of updates to the online CircuitPython Code Editor including one that migrates the entire build system to a newer one.
* @AnneB for quickly merging my PRs for the Learn Guide I’m working on finishing.
* @tannewt I hope you and your son are feeling better soon
* Group Hug


21:34 @Paul Cutler
* Group hug


21:40 @tammymakesthings (Text Only)
* Group hug to everyone!


21:46 @tannewt
* @jepler for covering this week’s meeting for me. I don’t think listening to my cough would be pleasant.
* @kattni for always improving the CircuitPython community and Discord.
* Dan for two CP releases.


22:47 @tekktrik (not present)
* @danh for keeping me in the loop about CI updates, always good to know where it breaks!
* @DJDevon3 for using my CSV helper library, I’m always excited when others find utility in libraries, especially ones in the Community Bundle
* Group hug
## 23:13 Status Updates


23:44 @jepler (hosting)
* Published a chatgpt guide on learn (press button, get superpower)
* Finished up i2sout and pwmaudioout on m7
* Tested limits of audiomixer on m7 – depending on SD card was able to mix 4 or 8 samples at 22kHz, mono, 16-bit quality
* Spent a bit of time working on espnow. Was considering a wireless keyboard project but that’s probably not the most appropriate use for it. Would still like to find a use case to actually do something useful with it.
* Working on synthio module and expanding its capabilities
* Will talk to JP when he returns and figure out what else to add to circuitpython audio synth
* Need to write some guide pages for circuitpython porters discussing audio out
* Out starting Friday, returning May 1




26:58 @CGrover (text only)
* The Eurorack Precision VCO module is coming along nicely. The automatic analog waveform baseline bias algorithm is working perfectly (whew). It removes the DC offset of a signal. This was accomplished in CircuitPython using an ItsyBitsy DAC output and analog input to monitor and control an analog op-amp circuit. Working on the UI now and plan to apply `bitmaptools` liberally.


27:32 @danh
* Released CircuitPython 8.0.5 and 8.1.0-beta.1 last Thursday.
* Added wifi.radio.connected and wifi.radio.ap_active status properties
* Handle HID OUT reports (from host) with no report ID, so that raw HID works.
* Brought Adafruit_Blinka_bleio up to date with the latest version of bleak. It was requiring old versions of Python and other software, from late 2020.


29:00 @DJDevon3
* Found out the hard way not to use angle cutters underneath header pins to remove them. It’s been scratching the soldermask on my boards, did it again last night and noticed it immediately. The cutter nicks the soldermask and exposes the copper ground plane next to the pin holes. 
*   * Whatever pin the scratch is next can get soldered straight to the exposed ground plane. This is especially bad if it happens next to the 3V3 pin (which I did). Amazingly the board will still function to an extent. Yes, I had a moment and plugged it in like that intentionally, for science. It causes every GPIO to get locked HIGH because there’s no more ground plane. Thankfully I can say this doesn’t cause any electrical damage and is fixable with nail polish (or conformal coating) and careful soldering. From now on I’ll be snipping pins in the middle away from the PCB. 
* Completed the 14-segment display project. It was supposed to be an API project. Quickly figured out the API doesn’t have endpoints to the data I was expected to work with. The endpoints don’t exist. The solution ended up requiring a batch script, automatic downloads, and CSV parsing… which has nothing to do with an API but is perfectly within the Steam Partner TOS.
* I’ll be submitting a DictReader example to Tekktrik’s CSV community library. I’d love to say I wrote it but honestly it was all Neradoc. I just adapted his example to work for my project. Both Neradoc & Tekktrik’s examples saved me days, if not weeks, of learning to work with CSV’s. 
* Days later, I improved the project by writing my first real Python script 🎉 which executes from a Windows batch script. Instead of parsing the CSV file on the ESP32-S2 which took about 20 seconds, I let Python do it in milliseconds then piped the data to the feather. The entire process is now perfectly automated and blazing fast. In total I parsed 1MB of CSV files down to just 200 bytes of data. I’m forever grateful to the game company that entrusted me with Steam Partner level access to experience the backend and create a cool project for them.
* Designed and printed a 3D enclosure for the 14-segment display.
* Made a Feather/Pi Pico/QT Py all-in-one I2S amplifier board for audio projects. It was specifically designed to replace the spaghetti wiring in the LORA mailbox with a single PCB.
* This week I’ll be working on another LORA mailbox notifier this time with a 7” TFT display. 


32:47 @david.glaude (not present)
   * TR-Cowbell:
   * I soldered and tested my TR-Cowbell in one row (that was intense but very satisfactory to do such a big PCB from beginning to end) with only two errors:
   * I made the bodge wires for the I2C bus but on the wrong pins
   * I forgot one solder point so one LED was not working
   * Tested I2C1 on Stemma QT port with a tiny ssd1306 and the provided bigger ssd1306
   * TODO: Invest in the software side to make a use of it.
   * Lilygo Twatch:
   * Installed lilygo_twatch_2020_v3 firmware on my V2 watch (oups)
   * Recovered my documentation of the variation between v1, v2 and v3: https://gist.github.com/dglaude/f1d9f5a295bd53fb82fdf68129b51b3b
   * TODO: Find the author and see if I could patch for V2 watch.


33:54 @foamyguy
   * PR Testing and reviews. HTTPServer and Ethernet libraries mostly. Some of the logs collected last week for the Ethernet PR helped lead to a fix that has now been committed, so ready for re-testing this week.
   * Started looking into an issue with the serial terminal Group causing an exception for multi-display devices. But ran into some more PC trouble before I could get much done. Getting back to it this week.
   * While attempting to isolate the root cause of my issues I managed to accidentally make my main OS system drive not bootable, so I’ve got a new problem to work through on that front. I have reason to believe the contents of the drive are still intact, I just need to get it repaired enough to be bootable again, or if not possible, then copy out some of the more important things from it and just start fresh.
   * Spent a chunk of the weekend getting a backup computer set up with everything I need for CircuitPython development and my other work projects.


36:08 @Jose David(Text Only)
   * Worked in some drivers for the community bundle Light Sensor ISL29125, Magnetometer QMC5883L, Gyro/Accelerometer BMI160, Accelerometer MC3479
   * Work on a PR to refactor the MPL31152A library
   * Work on some documentation for the TVOC AGS02MA sensor


36:45 @kattni
   * Last week:
   * Working on the Feather RP2040 RFM guide. All templates, mirrors, and pages are added. 
   * Fritzing and PrettyPins are completed.
   * Overview is complete. 
   * All Pinouts and Power Management images are generated.
   * Figured out / learned how to sort out what components are involved with power and charging circuitry using the eyeball in Eagle, with a bit of help from a couple of folks in the #help-with-hw-design channel on Discord.
   * RFM and DVI Feathers should be here tomorrow.
   * Yesterday:
   * Started looking into an upcoming guide, and have found someone to help with it, as the topic is something I’m only now vaguely familiar with. This guide will use CircuitPython to measure VPD for growing plants. I’ll likely be growing basil, but the concepts will apply to anything. After beginning to look into it, I’m pretty excited about this one and looking forward to it. I enjoy taking things that are evidently difficult to do and making them simple and approachable. Not to mention, I haven’t done a project in a bit, especially not a project that is a new topic for me, so this will be excellent.
   * This week:
   * Finish Feather RP2040 RFM guide
   * Email Learn Dev about some wishlist items for Learn to make my life significantly easier and save me a ton of time (and Liz) on new microcontroller guides.
   * Finishing up DVI Feather guide.
   * Next up, USB Host Feather (Arduino only)


39:42 @Makermelissa
   * Last Week:
   * Worked on writing a Learn guide for the ChatGPT bear I showed off on Show and Tell a couple of weeks ago.
   * Updated the code to use a better Text To Speech API and better time the mouth movement to the speaking.
   * Reviewing lots of PRs
   * Updated some of the JavaScript library Repos to work better with npm
   * This Week:
   * Short week for me, so not sure how much of this I will get done.
   * Finishing up the Learn guide
   * Taking a look at an issue with the ST7789 display driver no longer compiling on the Raspberry Pi
   * There are a handful of new boards that are showing up as unknown on circuitpython.org that need to be researched and added
   * Starting working on code for a new collab guide
   * Other:
   * I’m in the middle of a big move out of state. I’ve been doing lots of packing and traveling to look at houses this week.


41:13 @Paul Cutler
   * My project at my day job has wrapped up and I have a little more time, so that means The CircuitPython Show is coming back.  Recorded two episodes this weekend and the show returns next Monday with Danny Staple, author of Learn Robotics with Raspberry Pi Pico (which also uses CircuitPython)


41:41 @tammymakesthings (Text Only)
   * Last week:
   * Worked on documenting all of my in-flight projects for [my Web site](https://tammymakesthings.com/).
   * Started the design of a simple LM-358 audio amplifier and [the documentation](https://tammymakesthings.com/projects/a_map_of_sounds/) for that project. (NB: inline image display is broken right now)
   * Played around with an [ELECFREAKS microbit Mini Cutebot](https://www.elecfreaks.com/micro-bit-smart-cutebot.html) robot kit and make:code so I can start teaching my young nephew how to build his robot army.
   * This week:
   * Fix the image display problem on my Web site
   * Continue documenting my in-flight projects
   * Learn more about how to use make:code
   * Other:
   * Lots of medical appointments this week and next. 🙁 But hopefully next week I’ll have some answers about what the path forward looks like.


42:30 @tannewt
   * Out most of last week due to Ari and I having Covid. Our nanny got it too so I’ll be out off and on this week until she’s well enough to watch Ari. (Hopefully Wednesday.)
   * Working on expanding support for other iMX RT chips including the 1176. I’ve been looking into how TinyUF2 works and I’m not sure how it does.
   * Also adding QSPI analyzer support to pysigrok to debug via flash trace. Added support for Saleae csv export format so I can use my Saleae to capture into pysigrok.
   * OT Upgraded to 64G ram (from 32G.)


44:55 @tekktrik (not present)
   * Been mostly working within the Arduino-sphere as of late
   * I’ve also been working on the next iteration of my parallel port CPython library - it’s now a C extension, and it’s been fun playing in the C layer underneath Python
   * As of now, mostly keeping my RP2040JS CI additions up to date with npm updates - aiming to restart that shortly
   * Also planning out the remaining items for PyCon - excited to see everyone, as well as help out with the first day of sprints if they’ll be taking place this year!
## 45:33 In The Weeds
45:57 @DJDevon3
   * When chaining 2x 14-segment backpacks together both fail to be detected by I2C. I tried with multiple boards including a Feather M4 Express, ESP32-S2, ESP32-S3, and Scorpio, all brand new flashed with 8.0.4. This was on Tuesday prior to 8.1 release. I used both regular I2C and Stemma. Tried with Stemma cables and Stemma-breakout cables to SCL, SDA pins directly. 1 backpack works fine alone, the other works fine alone too, both segments chained together does not. I2C temp sensors in a long chain work fine on all the boards. There is something specifically going on with the 14-segment backpacks or library.  I had to use a PCA9548 multiplexer (via Stemma cable) to get around the issue. I’d like to submit this as a bug in the ht16k33 library as there was no resolution to the issue other than using a multiplexer.




## 50:47 Wrap-Up
