 Okay, hello everyone. This is the Circuit Python Weekly meeting for Monday, August 22nd, 2022, so 822-2022. This is the time of the week where we get together to talk about all things Circuit Python. I'm Dan and I'm sponsored by Adafruit to work on Circuit Python. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit, so if you want to support them and Circuit Python, consider purchasing hardware from Adafruit.com. We host this meeting on the Adafruit Discord server. You can join anytime by going to adafru.it slash discord. We hold the meeting in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. Typically, this meeting happens on Mondays at 2 p.m. U.S. Eastern Time, 11 a.m. Pacific Time except when it coincides with U.S. Holiday. In the Note Stock, there's a link to a calendar you can view online or add to your favorite calendar app. We also send notifications about upcoming meetings via Discord. If you would like to receive these notifications, ask us to add you to the Circuit Python East as Discord Role. As I mentioned, there's a Note Stock to accompany the meeting and recording. The Note Stock is posted in... It's a few posts up in the Circuit Python Dev Channel right now, and you can also find it in the pinned messages in the Circuit Python Dev Channel. The Note Stock, it contains timestamps to go along with the video, so you use the doc to view only the parts of the video that interest you most. The meeting tends to run 45 to 60 minutes, so it gives you the option to skip around. After each meeting, we'll post a link for the next meeting's notes, documents, the Circuit Python Dev Channel on the other Discord, and pin that to the channel. If you wish to participate but cannot attend, feel free to leave hug reports and status updates in the document for us to read out loud during the meeting. Meeting is held in five parts. The first part is community news, where we look at all things Circuit Python and Python on hardware. The second part is the state of Circuit Python libraries in Blinka. This is a statistical overview of the entire project. It's a chance to look at the project by the numbers separate from what we're all up to. The third part is hug reports, which is an opportunity to highlight the good things folks are doing, taking the time to recognize the awesome folks in our community. The fourth part is status updates. Status updates is an opportunity to sync up on what we've been up to. You can take a couple of minutes and talk about what you've been doing in the last week since the last meeting, and what you'll be up to over the next week until the next meeting. And finally, the fifth part is in the weeds, which is an opportunity for more long form discussions. These discussions can come out of something reported in the status updates or be something you've identified ahead of time as too long to discuss in status updates. So with that, I'll do community news right now. And let me put it in a timestamp, scroll up to here and press the button. There we go. OK. So these these news items are from the upcoming CircuitPython or Python and microcontrollers newsletter that's coming out tomorrow. Thank you, Ann. OK, first thing is that CircuitPython 800 beta zero has been released. It is a relatively stable release, but there will be further additions and fixes before final release. Usually we wait when we do a beta to say that the APIs are not going to change and the feature list hasn't changed. There'll probably be a few changes, but not very many before final release because we've got a while before final release. But we want to make it clear that it's sort of past the alpha stage right now. There's a whole bunch of interesting things in the beta release. The last alpha, the previous 801 release was the alpha release and it was over two months ago. So since then, things have come in like the Wi-Fi workflow is really quite functional now. There's a status bar that shows up on your terminal window or on the display, on board display, on the sort of Python board. And there are a bunch of other things. Let's look at the release notes. There's a link in the note stock to those. Okay, next item, timestamp. Circuit Python Day was a success. Great success. That was last Friday. It was August 19th. In typical fashion, it did not disappoint with many of video streams with the community and folks showing their projects thanks to all who participated. There's a playlist on the Adafruit YouTube site of all the streams that we sponsored. There's a link to that playlist in the notes. There was a Circuit Python Day introduction and then there was a panel discussion run by Paul Cutler. With a number of us, then there was a development sprint, video intro. Maker Melissa did a project build on video. There was a longer form show and tell, which was great. Scott did a Circuit Python 8 preview of the upcoming features, including Wi-Fi workflow and the status bar that I mentioned. Then Catney, Jeff, and I had a chat about projects that we're working on and interesting things that we've been working on. And finally, FOMI guy did a Circuit Python Day game jam stream, which is hard to say fast, 10 times. And also, the Blues Wireless Company did a YouTube on reimagining IoT deployments with Circuit Python. So check out all those links, which you can find in the notes doc. Okay. Next thing of note is that recently, not in beta 0, it's been, I think it was after that, I believe, I'm not sure. Circuit Python added RP2040 I2C target support. It used to be called I2C peripheral. But basically, it can act as an I2C device rather than a controller of an I2C device. So that means it's useful for communicating between, say, two RP20s, 2040s. One would be the controller and the other would be the target. And there's a link to the pull request for that. Next up, in regular Python news, Python 3.11.0 RC1 is now available. That's the first release candidate of Python 3.11. It's the penultimate release review, entering the release candidate phase, where only reviewed code changes, which are clear bug fixes are allowed. Second candidate in the last plan, release preview is currently planned for Monday, September 5th, while the official release is planned for Monday, October 3rd. So 3.11, it doesn't seem that long ago that 3.10 came out. So this is very interesting. From my point of view, one of the most interesting things in Python 3.11 is that it supports something called task groups in async.io, which makes using async.io a lot easier. And we hope to put task groups into Circuit Python. Eventually, MicroPython is also looking for that. And we'd probably just take their implementation. Another really interesting thing about Python 3.11 is that the performance has been improved a lot in various ways. And so it's worth checking out for that reason. So where did us all this news come from? It came from the Circuit Python Weekly Newsletter, which is emailed every Tuesday. The archives are at a link available in the note stock. The newsletter highlights the latest Python or hardware-related news from around the web, including Circuit Python, Python, and MicroPython developments. We'd love to have your contributions to the Weekly Newsletter. You can contribute by emailing cpnews at Adafruit.com. You can tag a tweet on Twitter with hashtag Circuit Python, or you can submit a portal request to the newsletter. And the link to the GitHub repo for that is in the note stock. So feel free to contribute. We'd really love to have news and pictures and all kinds of stuff. And more of the merrier. OK, so now we'll move on to the state of Circuit Python libraries in Blinka. Overall, in the past week, there were 33 pull requests merged, 23 authors, some new ones that I haven't seen before, new authors are Socrates, O. Kennedy, Colin W. Q., R. Balsen 1, maybe VM 0824, Vladik. Probably some of these people have contributed before, G. Belland. Thank you very much. There were nine reviewers of these 33 pull requests. And overall, in the whole project, there were 24 closed issues by 14 people and 23 opened by 16 people. So as usual, the number of open issues and closed issues tends to stay about the same. OK. So next up is core. Since I'm running the meeting, Jeff, would you like to read about the core? Is that OK? Hello, sure. Let me just get back to the correct part of the document. So in the core, we had 17 pull requests merged from 12 authors. May R. Homar is a name I don't recognize. So thank you to you and any other people who are new or infrequent contributors to Circuit Python. And thanks also to our five reviewers. Reviewers are what makes the world go around and lets us merge in high-quality changes to Circuit Python. And Ketney will talk more about what reviewers do when she talks about the libraries. Anyway, in terms of pull requests, we've got 16 open pull requests, some of them up to 194 days old, and the newest is three days old. I know some of those older ones are in draft condition or waiting for response to a review request. So if that applies to one of your PRs, please let us know when you are able to work on that, push some new work, or if it won't work out, then please just feel free to say that as well. Sometimes it doesn't. But our goal is to help get your pull requests merged. So also ping us if you're waiting for action from somebody kind of on the Adafruit core developer side. Issues-wise, we had 12 closed issues by seven people and nine open by seven people. So we are net down a couple of issues. That's always nice to see. That leaves us 551 open issues. However, we usually categorize things by milestones. And the important milestone that we're looking at right now is 800, which has 34 open issues. We are probably going to look at that list soon and move some of them to an 80X list. Those are issues that wouldn't stop 800 from being released, but we still think are important to address as bug fixes, fixing regressions, or hardware support for some of these new microcontrollers that we're adding in 80. Also, there are 491 long-term issues, and that means that Adafruit doesn't prioritize working on them, but we are more than happy to see you pick up and work on any of them that are of interest to you. And Discord is a great place to ask questions about how to get started working on one of those issues. And as Dan already touched on, we released the first beta for version eight, and that is kind of continuing towards completion. And we just need to chip away at those 34 open issues either by resolving them or by deciding that we can move them to a later milestone. And that's what's going on in the core. Thank you. Okay, thank you, Jeff. Okay, next up is libraries, and Kat and you can tell us about all about the libraries. Thanks, Dan. This section applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore circuitpython underscore. We had 15 pull requests merged by 11 authors, number of those names I don't recognize. Most of them Dan called out earlier, and seven reviewers. We merged a few pull requests that were a month old and one that was just under two weeks old. So I'm really glad to see that we're still getting to older issues. And we currently have 31 open pull requests, which that number is up, but I believe we had a number of folks submitting PRs last week. So that's not surprising. We had nine closed issues by five people and 10 open by six people, leaving us with 669 open issues. 173 of those are good first issues. If you're interested in contributing to Circuit Python on the Python side of things, check out circuitpython.org slash contributing. You'll find all this information and more, including open pull requests, which if you're interested in reviewing, that's a great place to start. Take a look at the code. If you have the hardware, test it. If you don't, leave a comment that you looked at it. Let us know what you saw, is there an issue? If there's not, let us know that. All of that is very helpful. And once you're comfortable with that, we can talk about leveling you up to the review team. And if you're interested in contributing documentation or code, check out the list of open issues. They're divided up by repository, and you can search by label. And if you're new to everything, good first issue is a great place to start. We have a guide on contributing to Circuit Python using Git and GitHub, and we're always available on Discord to help you out. So don't let the process intimidate you. We wanna make sure that you can help out in a way that works for you. There's also bug or enhancement in terms of more difficult issues to fix up. And so depending on your level, we should have something that works for you. In terms of library updates in the last seven days, we had no new libraries, but a number of updated libraries that I will not read off. The list is in the notes if you're interested. And that's what I've got. Okay, thank you very much, Katnie. Okay, next up is Blinka, and Micro Melissa will talk about it. Hello, so Blinka is our Circuit Python compatibility layer for Micro Python, Raspberry Pi, and other single board computers. And this week we had one poll request merged by one author and myself as the reviewer. And we have currently four open poll requests still. There were three closed issues by three people and four open by three people, leaving a net of 81 open issues. There were 11,608 pie wheels downloads in the last month. We are currently at 89 supported boards. And that's it. Okay, thank you very much, Melissa. Okay, next up is Hug Reports, which is a chance to highlight folks in the Circuit Python community and beyond for doing awesome things. I'll start as meeting host, then we'll go down the list alphabetically. If you're text only or missing the meeting, but you have a hug report, I'll just read it off as I get to it. So feel free to contribute to this even if you can't attend the meeting or you can't speak during the meeting. Okay, so I'll give a time stamp for myself. First of all, thanks, Catney, to Organite for organizing Circuit Python Day last week. It was fantastic and ran really smoothly and had just jam packed. I think it was our most eventful one in terms of number of events, which was great. Thanks to Paul Cutler for running the panel that several of us were on and interviewing us. We had some pre-discussions before that and it worked out really well. Thanks to Catney and Jeff for joining me on the stream chat that we had. And especially Catney gave a detailed overview of a mailbox monitoring project. And this is a mailbox, a physical mailbox, a USM mailbox and it was a very interesting project and it was a really practical project and it's interesting how many pieces there are to such a, that kind of project. Thanks to all the people who streamed on Circuit Python Day and everyone who attended the live streams or watched the streams later. Thanks to now leaving Circuit Python, thanks. Thanks to Scott for fixing a ton of issues just before his parental leave, which starts today. He'll be gone for about 12 weeks and so we've got to take up the slack in his stead but he fixed a whole bunch of things and left us in a really good place for an eight hour release. Thanks to Dave Putz who quickly diagnosed and fixed a rotary IOSU that somebody posted just a few days ago. Thanks to Maker Melissa for adding at light speed all the new boards that were added in the 800 beta zero release, that was fantastic and it makes Circuit Python work up to date. Oh Maker Melissa says she added some new boards but there are a lot of boards, I think there were like 15 boards or something. So thank you for continuing to work on that. And in my own life it's just I started being paid to work on Circuit Python five years ago this month by Adafruit. Thank you so much Adafruit for contracting with me for five years. It's very fantastically fun. It's a really gratifying work. It's like kind of the best job I've ever had and it's a huge pleasure to work with and get feedback from the community. That's one of the most gratifying things about it. Okay, next up is Blitz City DIY Liz who isn't at the meeting. So I'll read her notes. Thanks to Katnie for organizing Circuit Python Day. A group hug to everyone who came on the Good Circuit Python Day show and tell. And thanks to Melissa for lead hosting the regular show and tell for the first time last week and hosting her own solo live stream on Circuit Python Day. So thank you very much. Okay, next up is C Grover. And I'll read their contribution as well. Thanks to the team for organizing and conducting Circuit Python Day. The special show and tell was amazing as well. Thanks to John Park for adding practical build content with wonderful photos to a recent learning guide project. Hugs to Anne B for assisting with the guides publishing logistics. Thanks to FOMI Guy for educational inspirational live coding streams. Not only does FOMI Guy introduce and explain Python programming solutions, the high level thought process and structure examples are greatly influencing my design decisions and approach. And thanks to Dan H on his Adafruit Anniversary. You are a beloved cornerstone of this community. Thank you very much. Okay, next up is David Clouder who also is not speaking but is in the meeting. Thanks to Dan H for the release of 800 beta zero. Thanks to Jeff and Scott for sharing on the tiny USB versus Circuit Python and board with or without UF2 boot loader. I guess that's for sharing an explanation. Thanks to Neeradoc for explaining Creator ID versus USB Vid and PID for ES32 boards. Thanks to John Park for an oddly specific stream on LCDs. That's a new product that Adafruit is stocking. Oddly specific is the maker of that. And they're very interesting LCD boards. Thanks to Todd Gott for suggesting ES Play Micro V2 as an alternative to the impossible to find Odroid Go. And thanks to all the architects, organizers, and participants of or to the CP Circuit Python Day. Okay, thank you, David. Okay, next up is FOMI Guy. All right, thanks, Dan. Echoing what a few folks have mentioned, hug report for Catney for planning and organizing Circuit Python Day. Definitely had a great day and echo again what Dan said. It went really smoothly. And so really appreciate all the work that went into it. Everyone who participated in or watched along with any of the streams on Circuit Python Day, there was lots of great content and lots of great folks popping up in the chat and even just watching along. So thank you to everybody who did. Thank you to GitHub user TC Franks who has been submitting a bunch of PRs lately, lots of typing information and other improvements to libraries. So thank you to them. A report for TechTrick for doing the introduction video and working on Sprints on Circuit Python Day as well as the rest of the folks who participated that I didn't list. I definitely appreciate everyone who helped out in the chat and anybody who did make a contribution. Thank you to, let's see, Bab Lock B for submitting some improvements to the Sparkline graph inside the display shapes library. Thank you to Retired Wizard for jumping in and helping on the hack tablet, helping troubleshoot some of the issues we're seeing there. And then a group hug for anybody who I missed because I'm sure I have missed somebody with all the great stuff going on lately. Thanks. All right, thank you for me guys. Okay, next up is Jeff. All right, hello again. I wanna thank Ketney for organizing a marvelous day by which of course I mean Circuit Python Day and Paul Cutler for hosting our panel session. And Paul put a lot of thought into that beforehand and I think it really showed in how things flowed and how it worked. And I wanna thank everybody else who participated in Circuit Python Day in one way or another. There were a lot of people doing the streams, there were a lot of thoughtful questions and discussion in the Discord chat and it was a lot of fun to see all that go by. And just to cheat a little bit, I wanna thank everybody that Ketney is about to thank as well. Okay, thank you, Jeff, by forward reference. Okay, okay, next up is Ketney. All right, so overall thank you to everyone who participated in Circuit Python Day 2022. More specifically, thanks to Liz for hosting a special edition show in Tel. I watched along the whole time and it was excellent. To hub from Melissa for her first ever live stream, it went amazingly well. There were multiple comments about was this really your first live stream? I don't believe it, so good job there. To Paul Cutler for introducing the whole day. When the panel discussion that was also hosted by Paul ended up being the first event, I thought why don't I have Paul also introduce Circuit Python Day overall? So I asked him to do that and freaked him out a little bit, but he offered, when I offered to brainstorm through it with him, he was like, all right, yeah, let's do this. So thank you for doing that. It was one less thing on my plate and it's kind of like perfect for a community member to be introducing Circuit Python Day since that's kind of what the whole thing is wrapped around. And also Paul for hosting a panel discussion. To Jeff, Dan, and Tim for participating in the panel discussion with me outside of Circuit Python Day to Dan for five years at Adafruit, back to Circuit Python Day. Scott for the Circuit Python 8 preview and demos. To Jeff and Dan for joining me for a wonderful Circuit Python Day chat. To Tim for hosting the Game Jam stream. To Tectric for coordinating and hosting the Circuit Python Day development sprint. Group hug to the folks who volunteered to help out with the development sprint and group hug to those who contributed during the development sprint. To Ann for keeping up with the socials, blogging the events and getting all of the day's videos into one playlist on YouTube. To Phil for support while I was planning Circuit Python Day. To Mr. Certainly for moderating multiple chat streams throughout the day and aggregating questions from YouTube and Twitch into Discord so that the streamers could monitor a single chat while live streaming versus needing to keep track of everything. To Mark Gambler for providing two as seen on show and tell feather badges to give away. To Kmatch for providing the hack tablets to give away around, for me guys, Game Jam stream. To Adafruit's graphics creator Bruce for the Circuit Python Day 2022 graphic and creating a separate graphic for my chat with Jeff and Dan. In terms of a project I did, thanks to Carter for sending me two Pi Zero Ws a while back, making the mailbox demo that I did on the chat stream possible. To Rose for helping me get the right demo code going on the mailbox demo at almost the last minute. And to Jeff for helping me explain the parts of my demo that I didn't quite entirely understand. There's parts of the code that are a little outside my wheelhouse and that was greatly appreciated. A group hug to the community for watching the Circuit Python Day live streams and making Circuit Python what it is. And apologies to anyone that I may have missed. Thank you all. All right, thank you, Katnie, for that comprehensive overview. That was great. Next up is K-Match who isn't here, so I'll read their contribution. Thanks to everyone who made a great Circuit Python Day and thanks to Mike Mabee and Jerry Diedel for the Ultrasonic Sensor Library, which is the HCSR04, including a few key comments. Okay, next up is Melissa. Hello, I wanted to first give a hug to Katnie for organizing Circuit Python Day. It went wonderfully. And again, to Katnie for encouraging me to do a live stream on Circuit Python Day. It went better than I expected. I hugged to everybody who watched my live stream and gave me encouraging feedback. To Liz for co-hosting Show and Tell with me again and also for her special Circuit Python Day show and tell. To Katnie, Jepler, Fomey Guy and Dan for the discussion panel. To Scott for the Circuit Python 8 review stream. To Paul for your participation in Circuit Python Day and a bunch of different areas. And everyone who participated in Circuit Python Day, including those just watching that I hadn't mentioned. And to David Glada and Bill88T for adding boards to CircuitPython.org. And a group hug to anyone else. And that's it. Thank you, Melissa. Next I have several text-only entries. First up is Mark Gambler. Thanks to Katnie for organizing Circuit Python Day and everyone who participated. Thanks to Lee for continuing to work on his ADC buffer poll request and taking the time to learn about all the little gotchas for a core contribution. Yes, very much so. Thank you. Next up is Paul Cutler, who's text-only. Thanks to Katnie for all her work organizing Circuit Python Day. Thanks to Katnie, Jeff, Dan and Tim for being part of the panel discussion. And thanks to everyone who contributed to Circuit Python Day. Thanks to Brent Rubel for being a guest on today's podcast episode and a group hug. And next up is Tammy Makes Things. Hi, everybody. So I have hugs for Mark Gambler, Keith, the EE, Deshipu and Tech Trick for organizing slash participating in the Circuit Python Dev Sprint. Hugs for everyone who organized and participated in Circuit Python Day and a group hug. Okay, thank you. Next is Tech Trick, who's also text-only. Thanks to Katnie for organizing all the logistics for Circuit Python Day. Thanks to Tammy Makes Things, Keith, the EE, Deshipu, Mark Gambler and others who volunteered to help with the Circuit Python Day mini development sprint. Thanks to Dexter and other authors that contributed PRs during said sprint. Thanks to everyone who held the panel, participated in the panel, shared a project or otherwise chimed in during Circuit Python Day. Definitely a great day all around. Thanks to TC Franks for all the awesome type annotation PRs they are submitting. Thanks to Lady Aida for being the guinea pig for the Pi project that Tamil updates to the cookie cutter. And finally, a group hug. Okay. So that concludes our reports and we'll move on to status updates right now. Status updates is a time to sync up on what we're doing. I'll start and go through the list alphabetically as before you can take a couple of minutes to talk about what you've been doing since the last meeting or what we'll be doing in the next meeting. It does not necessarily have to do with Circuit Python but it usually does. Okay. All right, let's go ahead and I'll start first here. I released Circuit Python 808-0 which had over two months of changes, something like 146 pull requests, something like that. So there's quite a lot of stuff in there including Wi-Fi workflow as I mentioned. And I'm continuing to fix issues for 808-0 final which is a ways off but we're making very good progress on that. Okay. Next up is C Grover who's not attending today. Inspired by FOMI guys, state machine coding approach. I spent the week refactoring an old but favorite Eurorack hysteresis-based quantizer module called Range Slicer. Also upgraded it from Circuit Python 5.3 to 7.3. Code is easier to read and module performance was improved by 40%. When the module refactoring is completed it'll be adjusted to power two new rack modules that use the same custom PCB board as Range Slicer. Hope to have ZY Comp and an HP test equipment inspired precision VCO working soon. And now since we are seeing more than, more 100 degrees Fahrenheit plus Sundays the extensive outdoor wind chime and wind sock collection is experiencing simultaneous UV related materials failures. I'm restringing everything, substituting new materials and applying UV protective coatings where possible. I'm assuming that the neighbors will appreciate hearing the late night windstorm concerts again. All right. Next up is David Glaver who's text only so I'll read their contribution. CircuitPython.org improvement. Some typo modification so that all boards of the same manufacturer match exactly. Thank you for that consistency check. And adding solder party BBQ20KBD that's from R2-R0182. Suggesting improvement to learn guide, how to add new boards in the CircuitPython website force the aspect width and height when using eggif.com. And also talking about creator ID versus PID and VID for ESP32 boards. ESP, PID and VID. Okay. Reporting an old BLE bug when emulating mouse on two separate devices simultaneously, testing I2C Targon RP2040 and searching the box with all my ESP32 boards and failed to find something. I don't know. Okay. I know that feeling. Like where is this thing? It's on the floor or something, I'm not sure. Okay. Next up is FOMI guy. All right. Last week did some preparation and stuff around CircuitPython day for the panel and then my game jam stream on Friday. I last week learned about building a debug build of the core, had never built a debug one before as well as using the utility to I guess decode or parse the output of a stack trace. Use that to work on troubleshooting on the hack tablet. I submitted the kind of first draft version of a PR for measuring the MPY file size from an actions task. I'm printing that information in a comment. And then last week feels like forever ago, but just a week on Monday, I submitted the Octopus guide for a final review. Couple of things in mind this week. I am looking to if conditions inside actions. I've used some very basic ones, but I'm trying to figure out how to use them to basically limit when it will actually make a comment about the file size based on if it's a big enough margin over the current version. So that we don't necessarily print stuff out if it's not really that big of a change at all. I will also in relation to that effort for the size measurements. I need to move the script that actually does measure the size and compile it together for the comment over to repo and circuit Python org right now. That's just under my GitHub. This week want to try out MPY tool, which is a command line utility and figure out what all it does, what it can do. I'm not super familiar with it and see if there's anything in there that could help us on the memory measurement front instead of doing stuff super manually with MPY files it might be able to tell us useful information about them. And then last thing I have is start publishing some walkthrough videos showing how to set up a Minecraft server and all the plugins that you need if you want to create a virtual feather synced inside Minecraft with real ones. This was a project I showed a little while back on show and tell in a few places, but it was kind of just in the proof of concept stage. And I've gone back through it and tried to really generalize it and make it so other people could hopefully repeat this on their end as well instead of just my one specific hard code it set up. So I'm hoping to publish some of that information this week in videos, thanks. Okay, thank you. Okay, next up is Jeff. Hi, so last week I was on a little vacation in Colorado which is the next state over. And on Friday I made it back to participate in Circuit Python Day about which much has already been set today. And there's an image in the note stock that I will drop into Discord in a second. I was helping move a four ton CNC machine about 15 miles across town. This morning we headed at the front of the garage where it had to leave from and by this evening it has to be in its new place. And just as an update while I've been taking a break to come inside and go to this meeting, it's reached the new shop. Yay, it's safely down on the ground but it will be a process to get it moving again just due to its complexity. It needs air compressor and three face power and things to be checked and all sorts of stuff but it'll be a little bit of a process. So for the rest of the week I am going to be working on updating the camera guide for Circuit Python to talk about the new module that's on the expressive family microcontrollers. And then after that I'm gonna start on the PyCow Wi-Fi module support. The first question is to fit the firmware blob how much do we have to give up in Circuit Python? Because I think the firmware is pretty full as it is but we'll see. And the more hopefully I should have given her a hug report, hopefully walked me through like here's how to bring up the interface that generally bring up the interface between two devices that aren't using a standard protocol. So lots of helpful ideas for troubleshooting and problems that I might encounter. So I hope that soon, but soon might be two weeks that I can get the LED that's attached to the Wi-Fi module to blank. And David asked over in the comments on the Google Doc where the firmware has to be and I clarified that it does need to be on the RP2040's external flash chip because the firmware is uploaded every time the Wi-Fi chip does not have permanent storage for the firmware. So that's simply how it works. And that means that approximately 400K of that flash chip which is split between Circuit Python and the CircuitPy drive will just be taken up by that stuff. And that probably means giving up something but we don't know until we try and that's what I'll be working on. Thank you. Okay, thanks Jeff. Okay, next up is Catney. Thanks Dan. Last week I fixed up two templates. The I2S template was using a discontinued I2S breakout so that's been updated. And the I2C template was using outdated terminology. So I got that updated. I still have a blog post update for that. I merged a few PRs, continued coordinating Circuit Python Day and the days leading up to it and Circuit Python Day which I will say I have a little paper cat attached to my microphone. And at the moment I have a sparkly purple snake that nobody noticed. So I thought that was kind of funny. This week I'll be finishing up the S3TFT feather guide and then I will start working with ESP32 V2 Wi-Fi and deep sleep in preparation for a Wi-Fi version of my mailbox notifier project. I'll be updating the Circuit Python ESP32 Quick Start Guide to have a more thorough THANI section now that support for all of this has been released. And then working on the mailbox notifier project guide. It may include Laura as well as Wi-Fi but at the moment we are changing it up a little bit. The plan is to find bugs with the ESP32 Circuit Python setup and also use THANI as my ID to test it out with the new Circuit Python ESP32 support. Then after that I'll be updating the main guide for the Quad Alpha Numeric Backpack which now has STEMIQT and then a countdown project using three of the Quad Alpha Numeric STEMIQT Backpacks. And that is what's on my list. Okay, thank you, Catney. All right, next up is K-Match. I'll read their contribution. Tested the Adafruit Ultrasonic Sensor, the HCSR04 variant to capture the distance to a rapidly passing sphere. In this case, it's a bowling ball. I think it's fast enough. That's like a very interesting project. Okay, next up, Maker Melissa. Hello, so last week I created a loader script so that the entire code.CircuitPython.org website, just the editor itself really, will load from the device itself and then I started adding some new boards to CircuitPython.org. I finished up the code for the robot I built for my live stream and then I also did lots of other like camera preparation, kind of doing a long run through for my Circuit Python Day live stream. I co-hosted show and tell again, but in the lead role this time. Then I live streamed on Circuit Python Day and I started moving out of my offices over the weekend. This week I'm gonna finish adding the rest of the boards to CircuitPython.org. And then I'll continue working on adding web workflow to code.CircuitPython.org and finish up any features that are missing there. And if there's any time left, I might possibly start on a guide and I'll probably be doing some more moving and packing from offices. And that's it. Okay, thank you, Melissa. Okay, next up is Tammy make things. Thanks. So last week I participated in the CircuitPython Day dev sprint and we had some fun collaboration and discussions. I added a comment to a pull request on the AdafruitCircPython debouncer library. I wasn't able to actually test the code, but I had a couple of comments on how it was structured and working and stuff. So added those. And this week I have no idea what I'm gonna get done because work has been absolutely ridiculous and I have 36 meetings this week. Okay, thanks, Tammy. I hope it clears up. Okay, next up is Tech Trick. I'll read their contribution. Last week hosted the CircuitPython Day mini dev sprints along with a few others in the community started submitting bug fixes about how Adabot generates the infrastructure issues page on circuitpython.org, added additional typing protocols to CircuitPython typing, updated all the version strings that typically get replaced that's in the libraries to be compatible with PEP 440 so editable installs work again. Fixed an issue with the NeoPixel library where chain dependencies weren't being recorded in the wheel that was built for PyPy causing downloads via PIP to fail. Okay, and then this week continue working on patching and improving Adabot to handle recent updates to the libraries, catch up on a bunch of type annotation PRs, implement a patch for allowing Sphinx to keep the copyright date up to date each time documentation is built and add additional cookie counter updates. So thank you Tech Trick for all this library infrastructure stuff which makes libraries so much smoother. Okay, and finally, in status reports, Ann says, I will be blogging about the NASA Artemis 1 moon rocket launch and behind the scenes as a social media selectee by NASA. Look on the Adafruit blog, Twitter and my Twitter at sign Ann and underscore engineer through into early next week. So check this out. You will see all kinds of Cape Canaveral rocket stuff. It's really interesting. Thank you, Ann. Okay, so our last section is in the weeds where we do more long form discussions that come out of status updates or that people have identified ahead of time. If you have any in the weeds topics, please make sure they get added while we're discussing other things. So we're not waiting around to see if anyone has topics. So I will turn this over to Tammy make things who would like to talk about making circuit Python dev sprints a regular activity. Go ahead. Thanks. Yeah, so I think we had a lot of fun on with the dev sprints and one of the things that we were talking about in Discord was that that kind of dev sprint format is a good way to lower barriers of entry for newcomers who wanna get involved with circuit Python but who want a little bit more interactive sort of guidance and support than just reading the learn guard guides and jumping into our very busy Discord. And so we were talking about whether it might be interesting and useful for the community if we had a monthly or quarterly like circuit Python office hours or something that we had people who were a little more experienced who would volunteer to be there. And then people who wanted that support could come and get some support. And I think if we did it on a monthly or quarterly cadence, the frequency would be manageable enough that getting a couple of volunteers for each time shouldn't be super difficult. I know I certainly would volunteer but I wanted to see what the rest of the community thought. Does anybody have any comments? I would say this sounds like a very interesting idea. And I think just the idea of office hours even if not even something else so organized is really good if somebody knows that they can drop in at a certain point to be able to ask questions and get them answered is really interesting as opposed to just posting when you're in the middle of some problem not being sure whether you're gonna be able to move on at that point or not. Oh, I'm definitely a fan of this. However, my concern which may have just been alleviated by Tectric, my concern is the cycles needed to do it. If the community is willing to support it, I would definitely be all for it. If it's the expectation is that we as developers are also required and not just able to jump in when we're available, that might be an issue just because we never know when we're gonna have cycles in the future because sometimes we're running down bugs or trying to get a final version out, et cetera. And that would mess up the cadence if we just couldn't do it at that time. So for me, the sprints are pretty confusing because I volunteered for them and I was present on all the candles. But I didn't really do anything else from what I normally do. I'm not sure if that's what I was supposed to be doing or if I should have done something else. Maybe more actively look for people who need help or something. So I'm not even entirely sure what's happening during the sprints because for me, it was regular helping on this card. The Shippu, you're always helping folks. And that was the point. It was just that was a time dedicated to helping folks. So you doing exactly what you normally do was absolutely fine. Okay, thank you. That makes sense. Yeah, I think the goal at least of what I'm imagining is that we would announce ahead of time and at the time of whenever we're doing it, like, hey everybody, I'm here for the next two hours if people have questions or need a little bit of extra support and like there's people volunteering to do that. And it doesn't even necessarily have to be scheduled ahead of time. Although I think it's beneficial if people know the fourth Friday of every month from whatever time to whatever time you can come to the Discord channel and there will be somebody there who is like sort of there just to help people. I agree with the scheduling. I think it adds a little bit more. I know like when I joined the community, at first it was a little bit overwhelming to try and just jump into the Discord with everything that's always going on there. So some way of making it visible, that there are people here who they are here for the purpose right now of helping you if you need help getting started. Something like that. That reminds me, there used to, Brian Locke used to have for just a few streams, used to have those streams called Project Doctor. He would basically sit in the stream and people would ask him questions about their own projects and he would give suggestions about what could be done to improve them. I'm not sure, this is probably something completely different but I'm not sure if that could be useful somehow. Like have a Project Doctor. I know I have helped with Project Doctor or something like that. But it's not just throwing it out there. Just throwing it out there. Not really suggesting anything in particular. I think that's an interesting idea too. That's sort of like office hours. So he's had, we know of some other Discord that do this kind of thing. I think we could just try something on a casual basis and see how it evolves. I don't think we have to format in stone or something. So I'd say like if we set a time, see how it works. I think it might be interesting to have times that are not always at the same time, especially for people in other time zones. Like we might think of a morning sprint for people who are in Europe or further afield at some point and announce that in advance because usually often people are not on in the morning and so people in Australia or somewhere else might say, I just, I never see those people on when I'm awake to be able to ask them questions. So you might consider also some more unusual timing on some cases. This meeting actually started as something totally different and evolved. So I agree entirely with, let's just give something a try and see how it goes. And yeah, move forward from there. So we can, Tammy, we could make a thread on the CircuitPython dev channel here for discussion. We can add all the folks who are interested in helping out and other folks can view it and comment, but we could at least make sure that we invite everyone here who said, I would love to help out with this, et cetera. Is that okay? Absolutely, absolutely. Perfect. That's, I think the route will go and then we can give it a try and see how it goes. Okay, that sounds good, Tammy. All right, if anybody wants to add a couple of notes to the, in the weeds to the notes doc, that'll be great just to summarize. Like that will have a thread or something. So that'll learn people who read the notes doc. So I think if there's nothing, is there anything else? Otherwise I'll move on to the next topic so I have this, which is quite short, I think. Okay, I will go ahead here. So my question is, we have a space problem on the matrix portal. It's at SAMD51J19, which doesn't have as much RAM as the other Pi portals, which tend to be 51P20s. And so we found that projects on the matrix portal often run out of space. When you import large libraries. So we've frozen some libraries, but then when we freeze libraries, we don't have enough room for all the usual firmware. So we've actually gone around, like at one point we removed VLE support to make room for the libraries and then we added it back. We've also talked recently about removing ULAB because that's also large and both of these things have disadvantages. And so Carter and I, for instance, discussed, like, well, if we had to get rid of one of these things to make room, which would it be? And I was just wondering if people have done matrix portal projects or other display projects that use up a lot of RAM, whether you feel like, oh, if I didn't have ULAB, I'd be in trouble because I'm doing all kinds of calculations or, oh, I really want, if you got rid of VLE, I wouldn't be able to update my Times Square News display from my phone or something like that. So if anybody had any opinions about either of those things, about which you'd be the most reluctant to give up. Maybe you have no opinion. It's okay, too. Go ahead. I think we're leaning toward, I think there's more, Carter thought of more projects that you might want to do with VLE than that ULAB. Yeah, I was leaning towards keeping VLE as well because it seems like you can do especially a lot more basic things. I don't know that it necessarily holds true but ULAB strikes me as a bit more advanced and the person who's interested in using it in a project may have an easier time being able to make a custom build and get themselves straightened out. Right, and there are the other things that they might then take out to make room or something. I mean, ultimately, we can also try to reduce the size of libraries but that's pretty difficult and you won't gain, we need to gain a lot of space. The library that was frozen, we took it out and we want to put it back and we put it back and it was like 16K of MPY size or something, so we'd have to cut it way down to make any dent in that. So I think we'll move toward you taking out ULAB for this particular case. Ultimately, we've talked about how the matrix portal product itself might evolve. It's not stuck, we have plenty of other chips that we can try to replace some of the stuff, make a new kind of matrix portal. So maybe someday you'll see something like that, who knows. All right, that's it. So is there anything else before I wrap up? If not, I'll tell you that the next week's meeting will be on Monday, August 29th, 2022 at the same time 2 p.m. U.S. Eastern, 11 a.m. U.S. Pacific. That's at the regular time. In two weeks, there's a U.S. holiday so it'll be pushed forward a day. But next week it will be at its regular time. Okay, thank you everyone. And we'll wrap up the meeting for today, thank you. Bye-bye. I'll stop recording. Bye-bye.