# CircuitPython Weekly Meeting for October 31, 2022
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]().


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.
## Community News
### 04:25 Halloween Round-Up
This Halloween (October 31st) has seen a bonanza of maker projects and so many of them used Python, MicroPython or CircuitPython. It appears using Python and current hardware is making it easier for people to make creative, feature-rich projects.
See the newsletter for several gifs and links to projects from our community and beyond!
### 05:07 CircuitPython 8.0.0 Beta 4 Released
CircuitPython 8.0.0-beta.4 was just released. Adafruit Blog


Notable changes since 8.0.0-beta.3
* ESP32-C3 builds now work again.
* Raspberry Pi Pico W can act as a server, and can use static IP addresses.
WARNING: The flash partitioning for 2MB and 4MB flash ESP32 and ESP32-C3 boards has changed since 8.0.0-beta.2. When you load 8.0.0-beta.3 or later over beta.2 (or vice versa), on these boards, CIRCUITPY will be erased and reformatted. Also: The flash partitioning for the Raspberry Pi Pico W has changed since 8.0.0-beta.1. When you load 8.0.0-beta.2 or later over beta.1 (or vice versa), on the Pico W, CIRCUITPY will be erased and reformatted.


### 06:14 macOS Ventura Released, Breaks UF2 File Copy
macOS Ventura has introduced a regression bug in copying UF2 files to microcontroller boards. At present, copying with Finder results in a cryptic error. In the Terminal, you can use cp -X at the moment. A number of maker companies are jointly reaching out to Apple to seek a fix. Raspberry Pi has stated they'll make a blog post about the issue and current status on November 1st.
### 07:36 OSHWA Announces New Board Members
The Open Source Hardware Association (OSHWA) has announced their 2022-2024 board members. Congrats to Thea Flowers, David Slik, Jinger Zeng, Oluwatobi Oyinlola, and Michael Weinberg - OSHWA.


### 08:12 Learn to Program in Python with Raspberry Pi Online Courses
If you’re new to teaching programming or looking to build or refresh your programming knowledge, the Raspberry Pi Foundation has a free resource. Their ‘Learn to program in Python’ online course pathway is for educators who want to develop their understanding of the text-based language Python. Each course is packed with information and activities to help you apply what you learn in your classroom teaching - Raspberry Pi.
### 09:00 Project of the Week: Barcodes in Python and CircuitPython
  

A Code128 barcode generation library in Python (using PIL) and CircuitPython on a 01Studio Lab nRF52840 board (using displayio) - Twitter and GitHub.
### 09:56 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.
## 10:39 State of CircuitPython, Libraries and Blinka
### 10:49 Overall
* 36 pull requests merged
  * 24 authors - rtwfroody, piit79, weblate, tcfranks, georgboe, jepler, isacben, Senuros, cstenkamp, tekktrik, arturo182, BiffoBear, dhalbert, CedarGroveStudios, Neradoc, wtuemura, DJDevon3, chukwon, MicroDev1, bergdahl, CDarius, schnurma, kattni, gustavomfb
  * 8 reviewers - FoamyGuy, makermelissa, MicroDev1, jepler, anecdata, tekktrik, kattni, dhalbert
* 31 closed issues by 11 people, 19 opened by 12 people


### 12:31 Core
* 23 pull requests merged
  * 13 authors - Neradoc, piit79, wtuemura, weblate, georgboe, chukwon, MicroDev1, jepler, bergdahl, CDarius, Senuros, kattni, dhalbert
  * 4 reviewers - FoamyGuy, MicroDev1, jepler, dhalbert
* 22 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 263 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 257 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 239 days)
  * https://github.com/adafruit/circuitpython/pull/6217 (Open 212 days)
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 118 days)
  * https://github.com/adafruit/circuitpython/pull/6594 (Open 109 days)
  * https://github.com/adafruit/circuitpython/pull/6819 (Open 66 days)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 44 days)
  * https://github.com/adafruit/circuitpython/pull/6927 (Open 40 days)
  * https://github.com/adafruit/circuitpython/pull/6979 (Open 29 days)
  * https://github.com/adafruit/circuitpython/pull/7069 (Open 14 days)
  * https://github.com/adafruit/circuitpython/pull/7101 (Open 8 days)
  * https://github.com/adafruit/circuitpython/pull/7115 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/7114 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/7110 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/7135 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/7132 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/7126 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/7141 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/7147 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/7153 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/7151 (Open 1 days)
* 16 closed issues by 6 people, 6 opened by 6 people
* 562 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
 * 7.3.x: 0 open issues
 * 8.0.0: 28 open issues
 * 8.x.x: 13 open issues
 * Libraries: 20 open issues
 * Long term: 498 open issues
 * Support: 2 open issues
  * 1 issues not assigned a milestone


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


### 13:58 Libraries
* 11 pull requests merged
  * 10 authors - CedarGroveStudios, rtwfroody, BiffoBear, tcfranks, DJDevon3, jepler, isacben, tekktrik, arturo182, gustavomfb
  * 6 reviewers - FoamyGuy, anecdata, makermelissa, tekktrik, kattni, dhalbert
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/101 (Days open: 63)
    * https://github.com/adafruit/Adafruit_CircuitPython_SGP30/pull/40 (Days open: 13)
    * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/pull/64 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_MLX90395/pull/4 (Days open: 4)
    * https://github.com/adafruit/Adafruit_CircuitPython_Logging/pull/41 (Days open: 3)
    * https://github.com/adafruit/CircuitPython_Community_Bundle/pull/117 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer/pull/19 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/117 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_STMPE610/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/69 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/109 (Days open: 1)
  * 38 open pull requests (Oldest: 762, Newest: 1)
* 13 closed issues by 7 people, 12 opened by 6 people
  * 576 open issues
  * 103 good first issues
* https://circuitpython.org/contributing


#### Library updates in the last seven days:
* **New Libraries**
  * [Adafruit_CircuitPython_Pastebin](https://github.com/adafruit/Adafruit_CircuitPython_Pastebin)
* **Updated Libraries**
  * [Adafruit_CircuitPython_Logging](https://github.com/adafruit/Adafruit_CircuitPython_Logging)
  * [Adafruit_CircuitPython_SGP30](https://github.com/adafruit/Adafruit_CircuitPython_SGP30)
  * [Adafruit_CircuitPython_LED_Animation](https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation)
  * [Adafruit_CircuitPython_ImageLoad](https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad)
  * [Adafruit_CircuitPython_HTTPServer](https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer)
  * [Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)
  * [Adafruit_CircuitPython_STMPE610](https://github.com/adafruit/Adafruit_CircuitPython_STMPE610)
  * [Adafruit_CircuitPython_Wiznet5k](https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k)
  * [Adafruit_CircuitPython_HT16K33](https://github.com/adafruit/Adafruit_CircuitPython_HT16K33)
  * [Adafruit_CircuitPython_MLX90395](https://github.com/adafruit/Adafruit_CircuitPython_MLX90395)
  * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


### 16:09 Blinka
* 2 pull requests merged
  * 2 authors - cstenkamp, schnurma
  * 2 reviewers - tekktrik, makermelissa
* 7 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 628 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 462 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 388 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 328 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/97 (Open 60 days)
  * https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/98 (Open 23 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/624 (Open 4 days)
* 2 closed issues by 1 people, 1 opened by 1 people
* 83 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 11337
* PyPI Downloads in the last week: 31466
Number of supported boards: 98




## 17:54 Hug reports
17:57 @foamyguy (hosting)
* @DJDevon for submitting new examples for requests library that show to to make authenticated API requests to various services
* @CGrover for submitting many helpful utilities to the Community Bundle recently
* @Tekktrik for streaming a spooktacular edition of community help desk tonight.


19:23 @danh
* @PaulskPt for testing and documentation of various issues
* @Bergdahl for pointing out a translation issue, and @Neradoc for fixing it
* @jepler for continued additions to Pi Pico W network support


20:12 @DJDevon3
* @Todbot for setting up his personal repo for hacktoberfest so my gator eyes PR could be counted.
* @FoamyGuy for taking on the review of my social media API PR’s. 
* @Melissa for reviewing and approving a PR for the 7-segment display library.
* @Digikey’s Kevin Walseth, Alie Weber, and OddJay for their positive reactions to my #Hackapumpkin 2022 entry. Even though they incorrectly identified Adafruit’s Noods as EL wire it was worth the effort.
* @Gamblor for his 3D pumpkin printing bonanza for Halloween. Brilliant display and some new code for eye displays on the RP2040.
* @Anne Barela for the amazing blog posts and social media posts every day. They’re a constant source of inspiration and wonder.
* @Tekktrik for finding a potential new bug in the QT Py S2 wifi scanning and @anecdata helping us with bi-secting beta tests.
* @DanH & @Jepler for the amazing core developments & bug fixes happening everyday. 
* @Kattni for being the documentation, learn guide, and github captain of the ship. Your direction is always on point and appreciated.
* @Paul Cutler for showing me how magical repositories actually work.


22:19 @jasonp ( missing meeting )
* @Paul Cutler for bringing The CircuitPython Show podcast to town last month and featuring the River Prairie Trolls in this week’s episode.  It was great meeting you in person, talking CircuitPython, and enjoying some beautiful fall weather for a couple of hours.  


22:39 @jepler
* Thea Flowers @stargirl for election to the OSHWA board!
* Kattni for reminding me to do hug reports (& sharing a few photos)
* Dan for releasing the newest beta
* @georgboe for fixing the same wifi bug a 2nd time. There was a problem in the core that made mqtt work unreliably.  Georgboe fixed it first for the picow and now for espressif boards. The fix is in this latest beta!
* Hacktoberfest participants, including new & occasional contributors. I hope you met your goals!
* @liz for undertaking another Pico W guide, to be published when it’s ready


23:33 @kattni
* @Liz for helping create a Fritzing object that I absolutely couldn’t get to work properly, even when I tried to do exactly what she did.
* @KeithTheEE for helping me figure out what turned out to be completely obvious if I had read it properly in the first place, but did not. This was unbelievably helpful.
* @cater for bumping an Arduino library for me, after I added new examples
* @lemon for explaining a Python Discord feature to me
* @tekktrik for prototyping what we’d need to do to get PyPI download stats on the libraries, and doing it quickly so we can hopefully present it sooner rather than later.
* The folks in the live-broadcast-chat during Tim’s Deep Dive for trying to help me figure out if there was a good mnemonic for remembering cathode vs anode on an LED. (Spoiler: I still don’t have one, and will be continuing to google it every time.)
* @tekktrik again for always being up for picking up new things.
* Group hug!


25:10 @makermelissa
* Limor and PT for being supportive while I was out sick
* @DJDevon3 for adding more characters to the 7-Segmentx4 CircuitPython Driver
* Group hug


25:35 @Paul Cutler
* @CGrover for helping fix the audio on the latest podcast episode
* Jason Pecor for reaching out to me about the River Prairie Trolls featured in the latest episode and hosting my visit to see them


26:04 @tekktrik (not present)
* @DJDevon3 and @anecdata for helping me confirm and test a bug in the QT Py S2
* @kattni for helping me get set up to work on a bunch of new things, and helping to unblock anything in the way
* @kattni and @jepler for the interest and help in vetting the new library CI composite actions
* Group hug!


## 26:43 Status Updates


@foamyguy (hosting)
* PR reviews and testing + hacktoberfest-accepted sweep
* Adding some nice touches to the trivia game UI and made a cowbell proto to connect the pico w + display + neokeys in a cleaner but non-permanent way than the breadboard.
* Modeled a case for it adapted from prior etch-a-sketch pyportal project. Planning to get the larger bed printer set up and print a test plate and the case if all is well this week
* Tracked down a few “more information” links for built-in modules in the core docs


29:44 @danh
* Released CircuitPython 8.0.0-beta.4. ESP32-C3 builds are fixed. (hug report to @jepler for a quick review on Sunday)
* Fixed sleep alarm retrieval after deep sleep.
* Fixed ESP32-S3-BOX build; it was a SPIRAM problem.
* Working on LC709203F issue on ESP32-S3. May be solvable by the library.
* Will work on various Espressif network problems, and on other sleep issues.


31:55 @DJDevon3
* I’ve now started using github desktop more often instead of web uploads even for my own repo’s. My understanding of github was way off. Paul showed me the difference between working directories and how efficient github is vs web uploads. Pre-commit and black are a constant struggle. Thinking about writing a small shell script or right-click context menu helper to automate that because Github desktop does not do it. 
* Showed off my Guy Fawkes Stitched Pirate pumpkin on both Show & Tell and Digikey’s #Hackapumpkin 2022 challenge. By far the best pumpkin I’ve ever done and all the compliments were truly appreciated.
* Finished the 7-segment social media tracker project and Tim said he’ll be reviewing the PR for them. Having examples for social media API’s directly from the requests examples library will help all wifi projects hit the ground running much faster that only want a quick way to plug into online API’s like OpenWeatherMaps, YouTube, Twitter, Github, Discord, etc…. I’ve actually enjoyed working with Circuit Python & API’s so there will be many more coming in the future. If you have suggestions for an API you’d like to see (which doesn’t require a paid account) feel free to ping me or DM me anytime. Instagram & Octopart have been requested so those are next on my list.
* Got a PR approved for the 7-Segment display library. Now you can use almost any alphabetical character (except M, W, X, Z)  on the 7-segment backpacks. I’m worried that M0 owners attempting to use the full alphabet will run into memory issues. I’m using the S2 which has no shortage of RAM. If there is an issue requiring board specific switching code to handle 7-segment RAM requirements per board it will need to be addressed down the road if it becomes a problem.
* Submitted my gator eyes demo to Todbot’s GC9A01 display repo where it might swim upstream into the community bundle as an example.
*   

34:37 @jepler
   * Last week:
   * Finally feeling “over” COVID in terms of energy level, thanks to all who sent their well wishes
   * Thanks to other bug fixes, the SSL server support for Pico W works now! PR is in
   * Investigated micro optimizations to displayio, there’s a draft PR but it needs work.
   * Changed my discord avatar to a spooky owl generated by Stable Diffusion / Invoke AI, as well as a background/banner generated by the same.  Can’t stop playing with this “text to image” technology. I think I’ll go back to the regular owl next week though.
   * This week:
   * Keyboard guide, for real this time :) It’s been over a month since the last one, so my one goal for the week is to get the guide written for the IBM PC/XT to USB HID adapter guide done.
   * Issues & reviews as needed by Dan


36:02 @kattni
   * Last week:
   * PCF8575 guide finished up and put in moderation.
   * That was pretty much it.
   * Probably a bunch of misc, but I don’t remember
   * Created the PiCowbell Proto guide, which is up next.
   * This week:
   * Assemble, without soldering, the PiCowbell proto in the four possible ways and send images to Limor to verify I understand her intentions properly.
   * Once approved, solder up 3-4 Picos (I already have one soldered that I might use for one option), and 4 PiCowbells, getting images of the process and final product. Orientation of huge importance, because unlike Feather or Arduino, both sides of the Pico are the same, so you can easily add a PiCowbell backwards.
   * Start putting together the PiCowbell Proto guide. Will be mostly assembly photos, but will also include using I2C scan code on the Pico to find whatever STEMMA sensor you plugged into the PiCowbell for both Arduino and CircuitPython.
   * Unblock Alec on the PyPI stats project.
   * Walk Tim through setting up RTD on a new library
   * Fritzing object for QSPI breakout boards (only one needed, they’re all the same board with different chips).
   * This past weekend:
   * Lost four hours of my life to a combination of USB being a jerk, and MacOS being equally jerky. I finally moved my second display from USBC to my HDMI 4x2 matrix box, and added a Thunderbolt 4 hub, and everything else about my USB and my primary audio stopped working. Four hours later, I’m using a completely different USB3 hub, and that hub is plugged into the Thunderbolt hub via a USBC>USBA adapter, because apparently the USBA side of my Thunderbolt hub refuses to mount drives, including CIRCUITPY which was basically not an option for me. Sometimes I hate computers. Maybe more than sometimes.


39:35 @makermelissa
   * Last 2 Weeks:
   * Out sick due to COVID
   * Finished writing up CLUE robot guide from CircuitPython Day livestream
   * Helped to try and troubleshoot a FunHouse board
   * Worked on updating Google Assistant Guide
   * Went through and created open issues for CircuitPython Code Editor
   * This Week:
   * Finish updating Google Assistant Guide
   * Update any missing boards from Beta 4 release
   * Probably work on catching up on GitHub issues


40:33 @Paul Cutler
   * New episode of The CircuitPython Show released today - I drove two hours east of Minneapolis to just outside of Eau Claire, WI where there is a playground with 3 CircuitPython-powered Trolls for the children to interact and play with.


41:51 @tekktrik (not present)
   * Last week
   * Submitted a new library to the bundle - adafruit_pastebin, a library for using pastebin services like PasteBin.com, GitHub Gist, and even Adafruit IO.  My goal was to have a library that could help transmit potentially large amounts of information, or saving exception tracebacks when a device isn’t hooked up with a screen or via serial to print it out.
   * Got started on reintroducing Blinka and library PyPI download stats to adabot / the weekly report using Google’s BigQuery.
   * Rolled out the new composite actions to one of the libraries with no issues
   * This week
   * Streaming a very scary Community Help Desk this evening from 7pm - 10pm EST, where I’ll help anyone with anything they have or take a look at reviewing PRs otherwise as part of Hacktoberfest.
   * Looking to have a prototype for the PyPI download stats done this week so the report for next weekly meeting will have it generated automatically (I added it manually this week).
   * Hoping to roll out the new composite actions across all the libraries, and follow through with any clean up after the fact.


## 44:03 In The Weeds
44:54 @DJDevon3
   * I’d like to code a library specifically for request API’s called API_Land but it’s above my skill level right now. The door is wide open for someone to improve the examples I submitted to be even easier for beginners. I’ve only introduced rudimentary examples so there’s a ton of room for improvement. I wrote the API examples specifically for beginners to have a simple way to pull some of their own social media data and I found portalbase to be utterly confusing. The API examples are more of what I expected to have available in the requests library when I first started using circuit python but they simply didn’t exist. If anyone wants to take a shot at helping evolve the API examples while maximizing compatibility and keeping it inviting to beginners it would be greatly appreciated.
   * @tekktrik: You may want to add this either as a library to the community bundle, or even to the CircuitPython Org bundle which is more intended for communal contribution than the community bundle if I understand correctly.


@foamyguy
   * Async Requests Library structure? 
This PR proposes a starting point for Async capable requests: https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/118 


Any thoughts on whether it should move to a new repo for the async version, or stay inside of this repo and be converted to a directory instead of a single .py file?


   * @tekktrik: I think since adafruit_requests is modeled after the requests library, and I don’t think that supports async, it makes most sense to have a new library


@tekktrik (text only?)
   * There were a few issues like this one submitted recently about tightening up the requirements for some of the libraries and wanted to ask what others’ thoughts were:  https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/issues/139
   * My thoughts are
   * I don’t think pinning a maximum revision is beneficial for our use case because it wouldn’t matter for microcontrollers if users are dragging/dropping from a downloaded bundle folder.  Pinning Blinka also means people won’t automatically get updated versions of it anymore if they want to use specific libraries
   * The risk of interdependent APIs breaking is low, with the only one that particularly would likely cause issues is Blinka itself.
   * This also competes with another set of PRs I am hoping to look at when Dependabot can understand compatibility syntax (~=), which would better help us manage when to upgrade major revisions.
## 59:21 Wrap-Up