 Hello, everyone. This is the Circuit Python Weekly for February 6, 2023. It's that time of week where we get together to talk about all things Circuit Python. I'm Jebler and I'm sponsored by Adafruit to work on Circuit Python, among a lot of other cool stuff. Circuit Python is a version of Python design to run on tiny computers called microcontrollers. It's derived from MicroPython, which we owe a huge debt to, by the way. Circuit Python development is primarily sponsored by Adafruit. So if you want to support Adafruit and Circuit Python, consider purchasing your hardware from Adafruit.com. And if you're an international person outside the US, check out a link at the bottom of every page on the store to find out our official redistributors. Anyway, this meeting, if you're watching us on YouTube or listening to the podcast, we invite everybody to participate in the meeting live on the Adafruit Discord server. You can join anytime by going to adafru.it-slash-discord. This meeting is held in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. There's a lot of other activity on the Discord and it's a great place to just talk to like-minded folks or get help and advice on your projects. Anyway, this meeting, though, typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with the US 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'd like to receive those notifications, please ask us to add you to the Circuit Python East's Discord role. There is a notes document that accompanies the meeting and recording. The notes document contains timestamps to go along with the video so you can jump to the parts that you're most interested in. Depending on the number of participants and what we need to cover, the meeting tends to run 45 to 60 minutes so we feel it's valuable to have the option to skip around. After the meeting, we post a link to the upcoming meeting's notes to the Circuit Python Dev Channel on the Advert Discord. You'll find that under the PIN messages so you can add your notes for the next meeting basically anytime during the week. And as always, if you wish to participate but can't attend, you can leave your hug reports and status updates in the document and the host will read it during the meeting. Alright, let me tell you about the structure of this meeting. We have five parts. After this intro, which is not a part, the next part is community news. We'll take a little preview of the Python on microcontrollers newsletter and basically all things Circuit Python and Python on hardware in the community. The second part is the state of Circuit Python, the libraries in Blinka. We take a look at the numbers that tell us something about the health of the project, hopefully in a more objective way. Then, it's time for the participatory sections, which is really the best part of the meeting for me. And Dishapu, if you can mute that would be great. Anyway, the third part is hug reports. Hug reports are kind of the opposite of bug reports. We invite anybody to take a few moments to talk about what the people around them in the community are doing that helped them, directly impacted them, all the good folks that people are doing, and just giving a little recognition to that. The next after that is status updates. In status updates, we want to hear what you've been up to since the last meeting where you could join us and what you'll be up to in the future. So take a couple of minutes and talk about what your activity has been. And if you have something from your life that you want us to know about, please feel free to do that in moderation. We like to know the people that we're working with and who are in our community. And did I say then you take time to talk about also what your plans are, but for the next meeting. And anyway, the last part is called in the weeds, an opportunity for a more long form discussion. These discussions can either emerge from status updates or be selling that you've identified ahead of time as too long for status updates. And Deshipu, I'm just going to do a server mute on you and let me know in the text chat when you muted your mic and I'll unmute you. Anyway, sorry about that. That covers how this meeting will go. And with that, I am going to give you a little news from the future as we segue into the community news. And the headline of tomorrow's circuit Python and Python on hardware newsletter will be circuit Python 8 is released sort of. That's my parenthetical. Dan will tell you more about this, but we intend to release circuit Python 8 today and have it out for y'all to use by the time the newsletter is officially published tomorrow. Second, a very cool article from eitherway.io called the ESP 32 buyers guide. It describes the different chips, firmware capabilities, sensors, etc. of this popular microcontroller line. Circuit Python is going to work on a lot of those microcontrollers and if it doesn't yet, we would love a pull request to add support. We support, you know, the ESP 32, S2, S3, a bunch of different chips in that line. Following that, we've got a project. There's lots of projects in the newsletter, but this one caught my eye. It is an e-bike slash e-scooter modular DIY electronics using a VESC and circuit Python. Over the years, Jorge Pinto owned a few different e-bikes from different brands and found limitations with all of them, mainly in the software. Knowing that in general, all e-bikes and e-scooters are equal, Jorge decided to replace the original motor controller, electronics, and display with a modular DIY version running custom software. The resulting module uses the popular VESC for the motor controller and an ESP 32 board running Circuit Python. It's programmed wirelessly with just a phone or PC, just editing Python text files. There are a bunch of links, including opensourceebike.github.io, and there's also a link to a YouTube video in the notes document, so check that out. Okay, then a cute project. I can't not put a picture of a cat in the meeting when I can find it, so this project is Find My Cat, the GPS tracker for pets. It uses a Raspberry Pi and MicroPython. You can find more on Instructables. And finally, rounding out the section, how I added C-style for loops to Python, or alternatively how I made the most cursed Python package of all time from sadh.life. So I don't know how they did it. I'm going to go read after this meeting how they did it, and I'm guessing it won't work on Circuit Python. Sorry about that, but it's pretty cool, the crazy things you can do when you're willing to write cursed code. There's a lot more stuff in the newsletter, so A, go subscribe to it. I'll give you another call to action to that at the end. But anyway, the complete archives are at AdafruitDaily.com slash Category slash Circuit Python, the Community Run newsletter, which is emailed every Tuesday. We highlight the latest Python on hardware-related news from around the web, including Circuit Python, MicroPython, and Python developments. And another call to action to contribute your own news or project, edit next week's draft on GitHub, and submit a pull request with the changes. You can also tag a tweet with hashtag CircuitPython on Twitter, or email cpnews at Adafruit.com. And I know our very own Anby does try to keep an eye on the Circuit Python tag on Mastodon as well, if you're using that alternative social media platform as I am. I'm on Mastodon. Anyway, that rounds out the newsletter. Thank you, Ann, for putting together a tremendous package every week. And yeah, subscribe to it and see everything that I couldn't fit in this little space. Next up, the state of Circuit Python, the libraries, and Blinka. And Scott, let me know if you are able to read the Circuit Python core section of this. So we like to kind of acknowledge all of the activity that happens on GitHub. And this is our summary of that. It is a snapshot of seven days, and it's taken overnight, so changes made today are not included in this report. Sometimes we miss something just because the report runs at a slightly different time every day, and it's based on seven times 24 hours. So if we ever miss your contribution, sorry about that, but we value everybody. But anyway, past the disclaimers, overall we had 34 pull requests merged from 19 authors and 10 reviewers. And I'm just tickled every time we have a large number of authors, and I feel like over my time here it's been trending up. And among those authors, there are some names that are less familiar than to me, and I'll try and read some of them off. E. Trevis, W. Koranowski, G. Nevarov, and G. Pondgelli are names that I don't recognize. And then we've got a bunch of folks who really are longtime contributors and community members. And so thanks to all of them. In terms of reviewers, which Katni will be telling you a little bit more about down the line here in a minute. We had 10 reviewers, including a lot of Adafruit folks. Jose Posada, J. Posada 2020, Micodev, Tectric, Mark Gambler. So thanks to all you folks. Issues-wise, we saw 17 closed issues by 11 people and 19 opened by 14 people. It's kind of inevitable that the number of issues trend up as people use the software and encounter things that happen. But it's great to see the number of people participating is also pretty high. So anyway, that is the overall section. And next, I've asked Scott to tell us about the core. Hello, Jeff. Thanks for running the meeting. You're welcome. For the core, we have 14 pull requests merged from 12 different authors. So thank you to those authors. Some new names there, too. So thank you to those folks. We had seven reviewers. Thank you to all of those reviewers. That's quite a high number for us for the course. So thank you, BlitzCity, DIY, Gambler21, Micodev, our lady that are kind of like infrequent contributors. So thanks to them. We have 25 open pull requests. A number of them are deaths and a number of them are had just been opened. If you do want to get started contributing to the core, the open pull requests are a great way to do it. A number of these are actually for specific boards that are not necessarily Adafruit boards. So if you happen to have one of them, it's great. You can totally pick up that and help out with it. So take a look for those. Issues-wise, we had eight closed issues by six people and 13 opened by 10 people. So we're net up. We have a total of 610 open issues. This number does go up generally and hopefully it's a little bit slowly. We have the bulk of these issues marked as long term and at the time of these stats, we had two issues not assigned to Milestone. That's what we tend to or try to do for triaging issues as they come in. Again, two open for 8.0, eight open for 8.1. So that gives you some idea. I'm not sure of the status of those two 8.0 ones, but I'm sure Daniel will tell us more as well. So that's it for issues on the core and pull requests. So thank you, Jeff. All right, thank you. And next up, Katnie will give us an overview of the libraries and also tell us more about contributing to CircuitPython. So this is the library section. It applies to all of our CircuitPython community libraries as well as the Adafruit CircuitPython libraries, which is everything that begins with Adafruit underscore CircuitPython underscore. And over the last week, we've had 14 pull requests merged from seven different authors and four different reviewers. The oldest one was a week old and most of them were less than a day, so that's great to see that we are keeping up with things. And that leaves us with 47 open pull requests. We had seven closed issues by five people and five opened by four people, leaving us with 594 open issues. 77 of those are labeled good first issue. If you're interested in contributing to CircuitPython on the Python side of things, check out circuitpython.org slash contributing. You'll find all of this information and more, including the list of open pull requests and the list of open issues. If you're new to everything, good first issue is a great place to start. The issue list will give you information on how to contribute with code and documentation. And if you want to contribute by reviewing, check out the open pull requests. If you're brand new to everything, don't feel intimidated by the process. We are always available to help and there is a guide on contributing to CircuitPython using Git and GitHub. We want to make sure there's a way that you can contribute that works for you. So don't hesitate to reach out and if you decide to pick up something, please leave a comment on it and let us know. So in terms of library PyPI Weekly download stats, there were total 142,655 downloads over 306 libraries. And in the top 10, the bottom seven or so usually change up. Neopixel is actually higher than usual. But if you're interested in those numbers, they're in the node stock. I won't read them all off. It is always a little bit interesting to see what people are interested in during the last week. In terms of library updates in the last seven days, we had one new library by G. Pangelli. It's CircuitPython GPIO expander and that's available in the community bundle. We had a number of library updates which I will not read off and that's what we've got. All right. Thank you, Katny. And next up and rounding out the section, we will hear from Maker Melissa about the state of Blinka. Hello. So for Blinka, which is our CircuitPython compatibility layer for MicroPython Raspberry Pi and other single board computers, this week we had six pool requests merged by two authors and one reviewer. There are currently three open pool requests. There were two closed issues by one person and one open by one person leaving a net of 89 open issues. And this week we had, by this last week, we had 32,445 IPI downloads and we had 8,864 PiWheels downloads in the last month. And we are at 101 ports and that's it. Thank you, Melissa. And that finishes the state of CircuitPython, the libraries and Blinka. The next section is Hug Reports. Hug Reports is a chance to highlight folks in the CircuitPython community and beyond for doing awesome things. I'll start and then we'll go down the list in the order it is in the notes document to give everybody a chance to participate. If your text only are missing the meeting but have Hug Reports in the notes document, I'll read them off as I get to you in the list. And anyway, I will start. I have a group hug to the whole community. I've been a little bit away from the CircuitPython side it feels like and I know that y'all are here keeping busy and keeping us moving forward and I really appreciate that. I also have a hug to Lady Aida and PT for agreeing to send me to PyCon again this year. Next, I have notes from SeaGrover to GitHub user JosePozada2020 for the Espanyol Air Quality Index Translation in Cedar Grove slash Air Quality Tools, which is in the community bundle. And a hug to Tectric for continued help with SeaGrover's adventures in GitHub land. SeaGrover says, I hope to make an ally of the CI monster and gather the fabled treasures soon. Next up is Dan, followed by DJ Devon3. Okay, thanks to Genevroff for some discussions about async.io. It's pretty interested in that stuff and we're discussing things in Discord and also via Google Docs. And also thanks for their first core PR. Thanks to Dave Putz who picked up a, figured out a mysterious bug for ESP32C3 and that's going to be an 805 final. And thanks to UGF, MicroDev, FOMIGuy, and J.Pozada2020 for their last minute fixes for 805 final. There was a flurry of small kind of independent PRs and there's no reason not to include those in 805. Okay, so thank you. All right, thanks. DJ Devon, you are next and then FOMIGuy. Thank you. I have a hug for FOMIGuy for coding through some tough issues on the stream this week. To Mark Gambler for getting an animated gift demo working. That was really cool. A hug to Dashipu for a really neat maker cast showing off some new circuit python cameras on a PiPico and a Wiimos Lolli, you want to say? Wiimos Mini, maybe. I learned a lot about bare metal AVR programming too. That was really cool. So check out the maker cast if you guys haven't yet. That was some really good info in there. A hug to John Gallagher for some excellent new videos about circuit python programming. All right, and I hear you about the bare metal AVR programming. That's basically where I got started with microcontrollers and there's something fun and challenging about that in a way that is a little different from circuit python today. But anyway, enough about me. FOMIGuy, you are next. All right, thanks, Jeff. A hug report this week. First for NierDoc, who linked me to a good video on YouTube that explained 2's complement and how it's used to store negative numbers in binary, which was all new information to me and it was quite helpful. Thank you to Mark Gambler and NierDoc, who helped me over the weekend on Discord in understanding how certain numbers and different values are stored in C and the behaviors that are a consequence of the way that they are stored. Thank you to Microdove, who pointed me towards the arg check validators inside the core repo, which is exactly what I was looking for to solve the problem I was working on. Thank you to Tectric, Bablok B, and Jose David for submitting some more improvements in the Blinka Display-O Pi Game Display Library. And then lastly, thank you to both you, Jeff, as well as Gnevarov for feedback on the core PR for Display-O Validation. Thanks. All right. Thank you, and you're welcome as well. I've got notes to read from a few people, and up after those folks will be Katni. But now Gnevarov, who is offline, has a hug for Katni for the GitHub guide, which I followed to submit my first PR. And Jose David has some hug reports. One to G-Pong Jelly for adding a new community library, the CircuitPython Helper Library, for GPIO expanders. And apparently it covers the Texas Instruments PCA95 series and TCA95 series chips. Also, Jose David has a hug report to Tectric. This is a big hug report for helping solve my GitHub release actions problem with the new library. The household was happier after that. All right. Katni, you're up next, and then I'll have some more folks' notes to read. Thank you. So first up, a hug report to Keith the EE for some very kind words about my assistance with an upcoming event. Tatami makes things for lovely chats and regular check-ins to you, Jeff, for an excellent last-minute chat. Though looking at it, it's not even in my calendar, so it might not have been in the last week. But hey, if not, it's worth an extra hug. To Sean Teabor, who for reaching out to me about doing a workshop during the Education Summit at PyCon, and the discussion around which also led to me agreeing to put together a talk proposal. To Todd Bot for talking EuroRAC power supplies with me. To John Park for helping with a thing I needed done in Adobe Illustrator, and helping find the exact setting for that feature that made it work perfectly. To DJ Devon 3 for chatting about plants. This was over a week ago, but I don't think I hugged for it. To Carter for helping me out with the Raspberry Pi camera software and determining what to choose for the time-lapse project, and for figuring out why my Pi wouldn't boot properly during the initial setup. Further to Jerry Carter, Andy H., and Scare on Discord for helping me with that same set of Raspberry Pi setup woes. And group hug. Thank you, Catney. Next up I have some notes from Keith the EE with a hug report to you, Catney, for a helpful conversation about pacing when presenting an electronic build-along, as well as a group hug. And next up from Liz, who is missing the meeting, has a hug for me for fixing the D0 through D2 pins for the buttons on the reverse TFT and circuit Python. I'd actually forgotten about that already, but you're welcome. And next up is Macro Melissa. I thought I was just trying to give a group hug. Thank you. All right, I've got notes to read from Mark, and then we go to Scott. So Mark has a hug for FOMI Guy for fixing a defect I accidentally introduced, and to Larry Bank for the animated GIF Arduino library that gave me a huge head start on animated GIF support for circuit Python. All right, go ahead, Scott, and then I'll round out the section with some notes from Tectric. All right, first a hug for Dan for doing the releasing of the 8.0 release candidates and generally shepherding 8.0 to completion. Thank you, Dan. A hug report to PicoCoder for Sigrock Pico, which is a firmware for RB2040s, mainly the Pico, to use as a logic analyzer, so being able to capture data, which is really neat. I dug into that last week, and it's going to be a really cool tool. So thank you to PicoCoder. And then lastly, a hug to Melissa for all of the circuit Python web installer work that she's been doing, getting the ability to install circuit Python on ESPs directly from the circuit Python downloads page is going to be very, very cool. So yeah, that's it for me. Okay, Doug. And last I have notes from Tectric who has a hug for Dan H for clarifying an answer about the Circuit Playground Express. A hug for Katni for being flexible about a meeting last week. One for Jose David for the help PRs last week fixing a variety of issues. A hug to Fumiguy for all the interesting streams. It's always a blast to tune into. A hug for Skur for finally being able to release their feather format FPGA-based board, very excited to receive it and try it out. One for John G for awesome circuit Python tutorials and explanation videos. A hug report for me for documenting a bug regarding updating release versions with Discord so I could find it again months later. Many headaches avoided. And lastly a group hug. And that finishes hug reports. So next up, we are going to switch to status updates. It's our time to sync up on what we're doing. I'll start and we'll go through the list in the document order to give everybody a chance to participate. When we get to you, take a couple of minutes to talk about what you've been doing since the last meeting and what you'll be doing until the next meeting. If you have anything short to add at this time, that's perfectly appropriate. But if the discussion is going to be long, then please add an in the weeds topic instead. And with that I will get started. So last week, early in the week, I did some work in Arduino land that isn't really directly relevant. But later in the week, I investigated I2S performance on the ESP32S2 and S3. I found that the S2 was better than the S3 in terms of just playback quality. But sometimes either one gets stuck in a mode where there are a lot of very small pops. I filed a PR that improves it on S2. I didn't find that it changed S3 much, but basically some larger buffer sizes would hopefully prevent these kinds of problems. And then this morning I also tested replaying, or playing WAV files from an SD card using SD card IO. And that also seems to work very nicely on the S2. And this is kind of related to Lamar and PT's project to replace a sound playing toy for their kid that they've been covering on some of their videos. So those are some cool videos. You should check in on those if you haven't seen them. But anyway, back to what I'm working on. I noticed that the ESP camera is slow to initialize like it takes a couple of seconds from calling the constructor until it completes. I filed an issue, but I haven't gotten into diagnosing that yet. We'd like it to be pretty quick. My recollection was that it was quick, so something may have slowed it down. It would be great to know what. I also pulled in an update of MicroLab to fix some hard fault bugs. There were some problems that I had found through some automated testing and filed issues in MicroLab and Zoltan fixed them. I belated a hug report to Zoltan for doing that. And then a real live user had discovered the same bug in CircuitPython and a real code that they wanted to run. And so we took a few minutes to pull in those fixes to CircuitPython so that that bug wouldn't be present anymore. And that was one of those ADO bugs that Dan was talking about earlier. Anyway, this week I am taking point on my first product guide for the OV5640 camera module. Thanks in anticipation to Liz for your help with that and Katni for some notes on and checklists for doing that. It'll be fine, but your first time taking point is always a little bit nerve-wracking. Next up after that, investigating some weird USB REPL disconnects observed on the Scorpio only when using the Neopixelate module. In our internal meeting, we talked about some things I'm going to try in order to determine that it's a software problem versus some kind of hardware bug that would be specific to the Scorpio board design. Other than that, I am planning to go to Pycon 2023, as I mentioned in hug reports. And we'll talk about this more as we get close to it, but I would love to see anybody in the Adafruit and CircuitPython and MicroPython community who is also attending. And yeah, I'll be looking forward to that for the next few months. Next, I have notes from C Grover, then we'll go to Dan and DJ Don. So C Grover writes, previous weeks completed the design and routing of three PCBs for the Eurorack Precision VCO module. Two of the boards are for the final version. One is for developing a new CircuitPython driver for the VCO's AD5293 SPI dual-supply 10-bit digital potentiometer. The first board, a universal Eurorack power conditioning submodule, should arrive from Oshpark this week along with a related digit key order. And up next for them is a symbol and test the power submodule board and update the workshop PyPortal IoT corrosion monitor with the latest release candidate to see if that restores wireless connection reliability. We'll also trim out some unnecessary sensor and display abstractions that may be impacting memory management. All right, Dan, you're up next. Okay, so as we discussed, I'm almost positive we're going to release 8.00 final. Today, I'm going to click the button in a little while to start the final builds. And I finished the release notes and then I'll do some smoke tests and then we'll publicize it. This release has a small number of changes from RC2. I didn't bother to make an RC3 because these changes are all... There's no pervasive changes. They're all like just a new board or a minor bug fix or something. So it's not worth publishing a new RC3. And then in other news, something that's not directly related to CircuitPython except that it involves you have two boot loaders is that a user has found problems with Sanbi 21 boot protection fuses. They're not working for that user the way we expect them to. And also they've noticed brownout issues if there's some interruption. The Sanbi 21 can write part of its flash accidentally. We saw this a lot more on Sanbi 51, but Thea codes and this other user in the forum also saw it. So I wrote some code to fix both of those problems and I'll test it. And we've also gotten some boards back from the user in the forum to test also. So I'll be doing that this week in addition to 800 stuff. Okay. All right. DJ Devon 3, what's up? Well, this week I found out that there's a problem with the MCP 23017 multiplexer chips that everyone's been using for over a decade. Microchip put out a product notification change for the MCP 23017, which affects my TR cowbell and many other projects like it. Going forward, I know Liz who did the Glockenspiel used an absurd amount of MCP chips in that one. So it's going to affect a lot of people's designs past and future. Specifically, the chip no longer supports all eight inputs per side. It only supports seven. So if usually you have one side that's LEDs, one side that switches, let's say for the TR cowbell, it'll bounce back and forth. But now instead I would basically have to use three MCP chips to split the 16 inputs up between three separate chips. But instead of doing that, I am going to switch to the PCA 95 APW multiplexer by NXP specifically. The TI version of that one is end of life. So if you look up on DigiKey, they said, I don't know what the wording is. Do not use a new designs because it's end of life. And then also gives you a link to substitutes which points to the NXP PCA 95. So anyone that's got a project with, I mean, this is a big deal. Anyone that's got a project that needs all eight inputs with an MCP multiplexer chip, you can't use it. And one of the worst things really is they say that there's no physical change in the actual manufacturing of the chip. The only change is in the documentation, which means this issue has been going on for a long time and they haven't said anything. So everyone's going to have to pivot to PCAs now. So last night I started, after I've read the news, I started redesigning the TR-Cowbell to the version 1.21, which was supposed to be a minor revision, just to fix the ITC bus issue. And then I got hit with that and ended up redesigning the entire board. It's just the way it goes sometimes. So it is what it is. And that's all I got. I kind of got whacked this week. Yeah, welcome to hardware design. Yeah, this was big news on certain parts of the internet and ouch. Anyway, but up next is Foamy Guy, and then I'll read some notes from people. All right, thanks, Jeff. I, in the past week or so, have been working on adding some argument validation into Display.io in the core, specifically to try to just handle it more gracefully if you pass in values that are outside the range of what makes sense or what is now valid, that it validates. In the process of doing so, I've been kind of slowly but surely amassing a better understanding of how C works in the process, kind of learning as I go with that, which has been fun and interesting. Last week I found, I was working on the IS31FL3741 bit last week, implementing it with LED animation and then looking into an issue in the core module for that. So I went through all the commits, found the issue where it started appearing in the core, and then got a fix tested and put in for that. Thanks to Mark Gambler for helping me out on the fix with that, for sure. I've still been chugging along on the CPython implementation for bitmap tools, which will ultimately be used with Blinka Display.io. I've got a few more of those knocked out, but still some of the harder ones to do. This week I've been so far working on some PR reviews. This morning I tested one for dot stars that fixed an issue that resulted in some phantom pixels, where if you initialize a chain of dot stars, if you initialize it smaller than the actual physical number, it could result in it having some phantom pixels that stay on after it gets de-initialized. So I got a quick scout put in for that. I was trying it out. In sort of non-circuit Python related news, I set up the stable diffusion environment this week to run locally, so I could play with generating images and manipulating and doing stuff like that. I think a lot of folks have been more interested in chat GPT lately, but I never did actually play with the image one, so it was fascinating to get that set up locally. But that's something that anybody is interested in. It's definitely a lot of fun to play with, so that's what I was having fun with over the weekend. Thanks. Thank you. I've got notes from Jose David, and then we will hear from Catney after that. So last week Jose David worked on an example for the community library, excuse me, ANSI escape codes that allows you to easily change colors in your terminal. They're also working in a CP library to calculate and graph box plot with bitmap tools draw line and microlab, and finally doing library documentation and other things. Next week we'll continue community library's discovery, and it says varia, but I'm not sure what that means. All right, and up next is Catney and then maker Melissa. Hello. So last week I did a lot of work with the reverse TFT feather guide. There were some issues with the fristing object, and also we decided to do pretty pins diagrams for both sides because folks are going to want to know what pins are which when the display is facing upward, but also to know the standard feather pinout, so there's two of those in the pinouts page now so that it's easier to work with. Over the weekend I planned to get further with, and I did a small amount of work on the time lapse project last week. I planned to get further with the time lapse project this weekend. I turned out that all I did was assemble the mount for the Raspberry Pi and the high quality camera, and that was it. So this week I need to wrap up the reverse TFT guide, barring any unforeseen blockers. There's more on my list, but this is my current focus. Also generate the fristing object and pretty pins diagrams for the upcoming ESP32S3 reverse TFT. It's not out yet, don't ask. Maybe tangentially related, in a moment of weakness I ordered a bunch more air plants. I have not yet proven that I can keep any air plants alive, so why not order more? And then I typed all this up, and at the end of the last meeting I had, because I had watered them yesterday, the two plants I already have, and I thought the other one wasn't going to bloom, and when I picked it up today it's definitely started blooming, so I evidently should have put more time getting the time lapse set up this weekend, and I will see what I can do tonight. Totally unrelated. I finally got my new undamaged guitar, the first one they sent was dinged up a bit. It's a short scale guitar, which means it's shorter than a standard guitar, and there is less distance between the frets. I have small hands and I'm short. When I was learning guitar 20 years ago, small hands were becoming a blocker while progressing to more complicated things. I didn't know this type of guitar existed until a week and a half ago, and it turns out the one I was looking at also comes in sparkly purple, so I was basically obligated to get it. I was looking at my hands and that's literally it, so I will be starting over from scratch, learning that, and that is what I have. Alright, that's almost enough to make me want to take up the guitar as well, but instead of talking about that, let's hear from maker Melissa. Hello. Last week I fixed the chorus issues and I circled my thumb installer, and I added GitHub actions to upload the ESP32 boot loaders, in the tiny UF2 repo to Amazon S3. I added 10 new boards to CircuitPython.org, and I updated the Arduino display IO and Python drivers for the newer 0.96 inch display. We can need to finish updating the learn guides, the learn guide pages for the 0.96 inch display. I need to add a new board that came in and on the last release candidate of CircuitPython, and you have fixed some quick items on the CircuitPython code editor, and then I need to work on finishing up the CircuitPython installer, and that's it. Thank you, Melissa. I have some notes from Mark, and then we will go to Scott. Mark writes, draft PR for animated gift support has been submitted. Looking for general feedback as I work to clean up my initial proof of concept work. Take it away, Scott, and then I'll round out the section with notes from Tectric. All right. Thank you, Jeff. So it's been in my brain a while to make a low-cost logic analyzer. Basically, I have an I2C device. It's not working, and I don't know why. So using a device to basically monitor an I2C boss so that you can figure out why it's not working is like so helpful, super helpful. So we found this project, Sigrock Pico, which is a firmware for an RP2040 Pico, but I have it on the Scorpio, and it can capture logic data pretty quickly, which is awesome. So I went heads down on that last week because I was very, very excited, and there's an existing project called Sigrock that has a lot of resources, but it is not the healthiest socially kind of. There's a lot of changes and stuff that have just not been merged in because a lot of the maintainers don't do it anymore. So I started working on PiSigrock, which is a re-implementation of the core mechanics of it. And then for hardware support and decoder support and input file and output file support, it's all done with PiPI plugins. So besides the core stuff, people can just tack onto it and have it work. I got it capturing from the Scorpio. It's pretty neat. You can go straight to a Sigrock file and then open it in an existing PulseView. And I'm working on getting the decoders running as well. So basically I proved out the idea last week but it needs a bit more polish. She had given me, last week, she limited me to a week and then this week she was like, do you need another week? So we'll see how far how much polish I can give it this week. And then I still have the pending changes for the BengalJS2 and the seven color ASAP ePaper. So I've been kicking that along. I'm down to one GitHub action that's failing, which is so I tried to fix that this morning and then I will probably do a rebase because it's a bunch of action stuff and then ask for a review on that. So my week will be more Pysigrock stuff and then hopefully getting the BengalJS2 and the ePaper stuff in as well. Thank you, Scott. That sounds like plenty honestly. Last up I have notes from Tectric. Last week I continued submitting CI fixes to various libraries going to add descriptions of issues and fixes to a new repository per discussion last week. Explored a GitHub repo called walkwee slash rp2040js to see how it might be useful as a CI tool related to microdev who I believe did this did the same not long ago but with a focus on the core. Finally got connected to my desktop since the movement and got it fully updated with my development environment and also got virtual box running to help diagnose CI build issues locally. And next week the list is hoping to wrap up CI updates less than a handful remain I believe. Begin documenting some common library CI issues so they can be fixed more quickly and if there's still time some feature additions I haven't been able to make for the Thermal Printer Library to wrap up status reports. Our final section which it doesn't look like we will have today is called in the weeds. It is intended as an opportunity for more long form discussions whether those come out of status updates or that folks have identified ahead of time. If you had any in the weeds topics we hope that you had added them before now I'll give just a moment for that and see if anything is appearing in the document. But it is not so with that I am going to wrap up the meeting. This has been the Circuit Python Weekly for February the 6th 2023. Thanks to everybody who participated. It's lovely to hear from you all and to read the notes from those who don't make it based on our schedule. A reminder to support Adafruit and Circuit Python and those of us that work on Circuit Python consider purchasing your electronics hard work from the Adafruit shop at Adafruit.com The video of this meeting is released on YouTube at YouTube.com slash Adafruit and the podcast will be available on major podcast services. It will also be featured in the Python for Microcontrollers newsletter. Visit AdafruitDaily.com to subscribe. The next will be held next Monday as usual at February 13th 2023 2 p.m. Eastern 11 a.m. Pacific and don't forget that a hard report for your romantic partner may be the perfect Valentine's Day gift. Anyway, this meeting is held on the Adafruit Discord server which you can join at any time by going to adafruit.it slash discord. This meeting takes place over just one hour of that week. The rest of the time we have great stuff like discussions around the live Adafruit videos peer to peer help in our various channels for CircuitPython, Arduino and more all sorts of stuff. We'd love for you to join us and become a part of this community. To be notified about the meeting, this meeting that is and any changes to the time or day or if you want to participate live you can ask to be added to the CircuitPython Easter's role on Discord. That's just fully free. Nothing stopping you from doing that and we'd love to add you to the CircuitPython Easter's. Anyway I'm starting to ramble and that will wrap it up but we hope to see you all next week. Thank you everybody. Thanks everyone.