 Hello and welcome to the CircuitPython Weekly Meeting for July 19th, 2021. This is the time of the week where we get together to talk about all things CircuitPython. I'm Scott and I am sponsored by Adafruit to work on CircuitPython. CircuitPython is a version of Python designed to run on tiny computers called microcontrollers. CircuitPython development is primarily sponsored by Adafruit, so if you want to support them in CircuitPython, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join anytime by going to the URL, adafru.it, slash discord. We hold the meeting in the CircuitPython dev channel, dev text channel, and the CircuitPython voice channel. This meeting typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, or shortly thereafter depending on how our Mondays are going, except when it coincides with the U.S. holiday. If the meeting time has changed, we'll notify you via Discord. If you wish to be notified about changes to the meeting, we can add you to the CircuitPython East's Discord role. There's also a calendar available that we try to keep updated if you'd like to subscribe to that. This meeting is recorded. We record the audio from the voice channel and the video, the text channel. If you'd rather not have your voice recorded, you're still welcome to participate. The video of this meeting will be posted to YouTube and the audio is released as a podcast. If you find this podcast is not available on your favorite podcast service, please let us know. There's a notes doc to accompany the meeting and the recording. If you wish to participate but can't make it to the meeting, you can leave hug reports and status updates for us in the document. We'll read them off during the meeting. The notes document also contains timestamps to go along with the video, so you can use the doc to view only parts of the video that interest you most. The meeting tends to run 60 to 90 minutes, so this gives you the option to skip around. A link to the notes document is posted to the CircuitPython dev channel on the Adafruit Discord every week. Check the pinned messages to find the latest notes doc. In this meeting is held in five parts. The first part is community news. This is a look at all things CircuitPython and Python on hardware in the community. It's preview of the Python on microcontrollers newsletter. The second part is the state of CircuitPython 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. Hug reports 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. 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. The fifth part is in the weeds. In the weeds is an opportunity for more long form discussions. These discussions come out of status updates or be something you've identified ahead of time is too long for status updates. That covers how the meeting will go. With that, I will get started with community news. This is a section where we cover all things CircuitPython and Python on hardware related and sometimes just Python in general. First up, sorry, I'm taking time codes. The Read Me podcast. This is a podcast from GitHub titled Changing the Hardware Development Game at Adafruit. The Read Me podcast presents Changing the Hardware Development Game at Adafruit, how Lamar Freed paves the way for millions of makers. There's a GitHub link. Thank you to FOMIGuy for posting the link in the chat for folks to follow along. Next up, CircuitPython Day is August 6th. That is next month. Set your calendars. 8-6-2021 is the snakiest day of the year. It's also this year's CircuitPython Day. The day highlights all things CircuitPython and Python on hardware. Working with CircuitPython, tag your projects, hashtag CircuitPython Day 2021 on social media and Adafruit will look to highlight them. Tentative activities are at 1 p.m. Eastern. Jeff Dan and Catney will discuss CircuitPython. At 3 p.m. Eastern, a CircuitPython board tour with Lady Aida. And at 5 p.m. Eastern, I will have a deep dive, which is the normal time. Not sure what we'll do, but it should be a good time. If you have a project, plan on being on Adafruit Show & Tell on Wednesday 8-4, on the 4th, or post them on social media tagging CircuitPython Day 2021. Let us know what you have planned and we'll help and promote. Tag your social media posts with CircuitPython Day 2021 and email to cpnews at Adafruit.com so we can see it. And next we have the Adafruit IO whippersnapper. We're looking for beta testers. Adafruit is starting to expand the beta program for Adafruit IO whippersnapper. If you don't know already, Adafruit IO whippersnapper is a no-code IoT interface for Adafruit IO. It lets you turn any Wi-Fi capable board into an IoT device without any programming. Simply select what devices are connected to which pins on the hardware and it will auto-configure the firmware and even create an IO feed for visualization. The service is 100% free. All you need is an Adafruit.com account. For more information on how to get invited, see the blog post there that PhomaGuide posted. It's on the Adafruit blog for those of you listening. Next up, the CircuitPython GitHub repository exceeds 2,500 stargazers. The CircuitPython GitHub repo exceeded 2,500 stargazers this week. Thank you to all the people who have chosen to start the CircuitPython code repository. Hackchat with Adafruit's Lediata on July 21st. That's Wednesday of this week at noon Pacific 3pm Eastern. Especially over the last year and a half, most of us have gotten the feeling that there's little distinction between our computers and ourselves. We seem welded together inseparably even, attached as we are day at night to our machines as work, life, and home life blend into one gray, featureless landscape where time passes, unmarked except by the accumulation of food wrappers and drink cans around our work areas. Or maybe it just seems that way. Regardless, there actually is a fine line between machine and operator, and in most instances, it's the electromechanical accessory that we all love to hate, the keyboard. If you buy off the shelf, it's never quite right to clicky, not clicky enough, wrong spacing, bad ergonomics, or just plain ugly design. The only real way around these limitations is to join the DIY keyboard crowd and roll your own, specifically customized to your fingers and your needs. At least until you realize that it's not quite perfect and you need to modify it again. Hitting this moving target is often as much a software problem as it is a hardware issue, but as is increasingly these days, Python is ready to help. Go into depth on how Python can be leveraged for custom keyboard builder, our good friends at Adafruit, including Lamor, Lady Adafruit, Phillip Turone, Dan Halbert, Catney Ramber, and Scott Shawcroft will stop by the hack chat. We suspect that they all have some cool stuff to show off in addition to sharing their tips and tricks for making DIY keyboards just right. If you're building custom keys or even if you're just keyboard curious, you won't want to miss this on Hackaday and YouTube. So check that out. That's Wednesday this week at noon. Great, great write up from the Hackaday folks. There's a new book, Visual Studio Code for Python Programmers. A new book just out is a huge boon to Python developers looking to use the free Visual Studio Code editor, aptly named Visual Studio Code for Python Programmers by April Spate, maybe. There's Adafruit blog with a review and an Amazon link. Next, projects using the new GitHub Copilot AI Knowledgebase. Users continue to test the technical preview of GitHub Copilot to see what it can do. Here are a couple of examples to note. First, Copilot writes a text-based game in Python at sandyuraz.com, s-a-n-d-y-u-r-a-z.com. And then second up in examples, there's a Copilot importer. Why write code when you can import it directly from GitHub Copilot? And that's a link to pypi.org. Next up, I know we have lots of community news but there's lots of stuff going on. 30,000 thanks for the Adafruit Discord community. The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 300, not 300, 30,000 humans, sorry. Adafruit believes Discord offers a unique way for CircuitPython folks to connect. Join today at the URL a-d-a-f-r-u-d-i-t-slash-discord. And just an early hug report for Mr. certainly who helps us track community growth week to week. Next up, usually I don't advertise this in community news, but my deep dives happen every week. Last week, I wanted to advertise it, or I wanted to advertise last week's because Jimmo, who works on MicroPython, hung out with me for two hours to really dive deep on the native emitter and a bug that involved looking at x86 assembly. So I really highly, if you want to get really in the weeds of MicroPython and see how awesome Jim and Damien and the MicroPython folks are, I recommend giving that a view. And the bonus is you don't have to see that you had to wait like 20 minutes for me to get it working. All right. Second or last up, before we cover the newsletter, the type, the TalkPython podcast of MicroPython and CircuitPython is now available online. Episode 325 is Damien George from MicroPython along with myself from CircuitPython. And Adafruit is now online at TalkPython.fm and YouTube. So check that out. It was really awesome to do the collaboration with Damien on that. So I recommend it as well. OK. So this has been a preview of the CircuitPython Weekly Newsletter, which is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are available at adafruitdaily.com slash category slash 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. Just look at the drafts folder under the github.com slash adafruit slash CircuitPython dash weekly dash newsletter repo. And submit a poll request. You can do that by clicking the pencil icon on the top right. You may also tag a tweet with hashtag CircuitPython on Twitter or email cpnews at adafruit.com. And we'll see it and we'll snag the things for that. Whew. Lots of awesome community news. Thank you to all the contributors. And thank you to Anne in advance for compiling all that. OK. Next up in our second section of the meeting, we have state of CircuitPython libraries in Blinka. This is kind of a statistical overview of the health of the project and kind of the major components. So overall, we had 50 poll requests merged from 16 different authors. So thank you to all of our authors. I think most of those names look familiar. So thank you for those folks who continue to contribute. Bob the chemist might be a new one. We had 11 reviewers for those 50 poll requests. So thank you to all the folks doing reviewing. It allows us to scale up an author. So we're always looking for more reviewers. We're happy to help get you going. Issue wise, we had 44 closed issues by 13 people and 15 opened by 13 people, which means we're net down quite a lot. Was that 29 that we're net down? So that's awesome. Thank you to everybody who's working on closing issues. Now let me talk a bit more specifically about the core. We had 20 poll requests merged for the core from 12 different authors. I think Adam Cummick might actually be and Bob the chemist are relatively new. So thanks to them. We had six reviewers. Thank you to all of our reviewers. And we have six open poll requests, which is probably the least amount of open poll requests we've had in quite a while. So that's really, really awesome. So thanks to everybody who made that happen. Issues wise, we had 35 closed issues by six people. Nine opened by seven people for a total of 452 open issues. So we made some really good headway. And that was because we went through our milestones and took a look at more issues. So we now have six active milestones. We have new milestones for 7xx, which is like bug fixes that we would do after 7.0 is actually released. We also have an 8.0.0 milestone now as well, which is for like API changes that we're making. So usually what we'll do is we'll have an API work and the new API, the old API and the new API work for a major version. And then in the subsequent major version we'll remove the old way of doing it. So that's why we're seeing an 8.0 milestone right now. So the 8.0 milestone issues will be things that we've updated 7.0 so that both ways work. And then we assign it to 8 when we need to remove the old way in 8.0. So we have 37 open issues for the 7.0 stable. Most of those are assigned. So we're going to make some really good headway. We have six open for the 7.x.x and we have one open for the 8.0. Sorry for the backing up noise. And we also have one issue that's not assigned to a milestone that's an impression of what we have left to triage. So overall for the core, Dan, Jeff, Katny and I went over the 7.0 asian milestone list and decided which things we want to finish for 7.0. We'll continue doing pre-releases as we work through these issues. Please let us know if there are things that you think should be done for 7.0 that aren't marked with that milestone. And folks say in the chat that Mr. certainly thought the backup noise was in there outside their window and Jerry's dog just went running to the window because of the beacon as well. So sorry about that, folks. My window is open because it's hot in here. And with that, let me kick it over to Katny for an update on the libraries. Thanks, Scott. So we have... This applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore CircuitPython underscore along with a few other goodies like cookie cutter and the community bundle. So across all of those repos, we had 23 pull requests merged by six authors and eight reviewers. The oldest one of those that was merged was 37 days old. The rest were a week or less, which leaves us with 50 open pull requests. We had seven issues closed by seven people and six opened by six people, leaving us with 319 open issues. If you're interested in contributing to CircuitPython on the Python side of things, check out circuitpython.org slash contributing. It has all this information and more, including a list of open pull requests and a list of open issues. You can search the issues by label. If you are looking for something you're new to everything and you're looking for something to work on, check out Good First Issues. If you're looking for something more complicated, bug or enhancement are an excellent place to start. You can find something that interests you, leave a comment and let us know that you're working on it. We are always available to help you learn how to do this. There's a guide on contributing to CircuitPython using Git and GitHub. In terms of reviewing, you can check out the open pull requests. Take a look at syntax, take a look at spelling. If you don't have the hardware, if you do have the hardware, give it a test. If it works for you, then let us know. Once you're comfortable with that, we can look at leveling you up to joining our review team. We're always looking for more reviewers, as Scott said. The more reviewers we have, the more authors we can support. In terms of library updates in the last seven days, we had two new libraries, Adafruit Circuit Python Pixelbuff and Adafruit Circuit Python MacroPad, both courtesy of me. A little bit exciting there. A number of updated libraries, the list of which I will not read off, but it is in the notes. It's always available at circuitpython.org slash libraries. Overall, if you are... We're working through updating libraries and example code to work with breaking changes to both Circuit Python and the libraries, thanks to Leicester Mypropre and Foamy Guy for handling a lot of this. Expect to see further updates in the near future, including to learn guides as we continue to break things and then fix the code to match. That's where I'm at. Awesome. Thank you, Katnie. Next up, we're going to kick it over to maker Melissa for an update on Blinka. Hello. Blinka is our Circuit Python compatibility layer for MicroPython, Raspberry Pi, and other single board computers. This week, we had a seven-pole request merge, which is more than normal, and that was by three authors and two reviewers. There is one open-pole request now, and there were two closed issues by two people and zero open by zero people leaving a net of 58 open issues, and we have 11,366 Pi Wheels downloads in the last month, and there are currently 75 boards supported. That's it. Awesome. Thank you, Melissa. Okay. Next up is the next section is Hug Reports. Hug Reports is a chance for us to say thank you to folks in our community for the work that they've been doing. And this is done as around Robin's. I will start, and then I'll go through the list of folks in the notes doc. If folks are marked as looking or text-only, I will read it off for you. Otherwise, I will let you speak your own notes here. So, let me start. First off, I wanted to thanks to our community for holding us to a high standard in terms of our Twitter behavior is in terms of Adafruit and our mods for helping us through that. We could talk about that later, if folks want to talk about it. Thanks to Dan, Jeff, and Katny for going over the 7-0 backlog with me, and thank you to Jimmo for joining my live stream last week, and everyone watching and Jimmo for having patience while I got it going. We were like five minutes late. I hit Start Streaming and it didn't work, so we had to debug that. But yeah, that was kind of wild. Okay, so next up, I'll circle around and say in the notes, we have a group hug from Charles. So, thank you, Charles. And next up is Dan. Thank you. As Scott mentioned, thanks to Scott, Jeff, and Katny. We went through, for going through all the open issues in 7-0, which was the longest, one of the longest we've ever had, but it was very productive. Thanks to Seymour111, who found a CircuitPython 7 display I.O. bug issue, and I was asked a lot of questions and they were able to help me with the diagnosis and pin it down. That was really helpful. And thanks to MicroDev1 and Dave Putz for continuing working on bugs and reviewing things that come in as they happen quickly. Thank you. Thanks, Dan. Next up is FoamyGuy. Thank you, Scott. To start with Katny and Dan for their work on the MacroPad library, I had a chance to play with that for the first time this week and found it super nice to make a project I was working on. I appreciate all the hard work that went into that. And then to Jeff and a GitHub user, I think it's RShelledE, or I, perhaps. Essentially, Jeff's calculator project was kind of the inspiration for something I did this week in the 3D printed keycaps. Especially, I found super cool and I plan to play with a little bit more. So big thanks to those folks. That's all I have this week. Awesome. Thanks, FoamyGuy. Next up is HireFact. Alrighty. It's been a little while since I was in because my whole life has turned upside down. But here I am. Thank you, Scott, this past week I'm cleaning up the sleep code in the NRF port, which was marked for a while and I'm glad that worked its way into the new micro-bit port. Thanks to Mahali and Pranav for having a crack at low power on the SAM-D. I'm hoping to have some more news about that soon. Thanks to Brandon Satstrom for having a crack at the SCM32-L4 port. It would be awesome to see that get off the ground. And then there's a little bit of a stash update, but I've recently I'm going to be transitioning to a new position pretty soon. And I just wanted to give a huge thank you to everybody who's made this community such an awesome place to work for these last two years. I'm looking forward to staying a part of it just as a non-sponsored member of Adafruit, or a non-sponsored member of CirclePython, rather. And a second thank you to Scott and Ladyata and the Adafruit team for their understanding and help with that transition and being supportive. So, yeah, that's it for me. Awesome. Thanks, Hierophects. Next up is Jeff. Hello. First, I want to thank Jerry for testing as always. And with your work in the core, we're going to have to start using the phrase level up to talk about what you're doing. So thanks for that and congratulations. As we've all remarked to each other, thanks for going through the bug list together on Friday. It took a little bit of time, but we're in a better place for it. And, Hierophect, all the best wishes for what you're doing next. And it's been nice to work with you. You are unmuted as well, Hierophect. Oh, thanks, Jeff. I'll still be around. See ya. All right. Next up is Jerry. Hi. Yeah, thanks to Jeff for all the work you did on the OB2640 JPEG demo. It's nice to play with that. And Scott, for all the work in getting the micro bit V2 build added to this repository and hopefully actually be able to use it someday. Yeah, we'll get there. All right. Next up is Katni. All right. So first up, a hug report to Dan for helping me through the underscore pixel buff rename and to Jeff for a quick question answered ahead of the pixel buff rename that made things a lot easier. Thanks to Dan for the helper code needed to remove GamePad from the Circuit Playground Library while still maintaining the current API. As everyone has said, thanks to Jeff, Dan, and Scott for reorganizing the 7.0 Circuit Python issues to FOMI Guy for addressing an issue with the MacroPad Library that was causing it to fail to work with the LED animation library. And finally to Mr. Certainly for helping us track our Discord member numbers each week and keeping us apprised on Milestones. Awesome. Thank you, Katni. Next up is Maker Melissa. Hello. Let's see. I wanted to give a hug report to Katni for her first Blinka contribution with adding RainbowAO to FedE2 for the initial work on adding the Beagle 5 Starlight Beta prototype to Platform Detect and to PDP7 for getting a lot of good things or great things into the latest Fedora image. Group hug, do you want us? Awesome. Thank you, Melissa. And last up, we have a group hug from Sylvia. All right. Next up is Status Updates. Status Updates is done in a very similar way to hug reports. So we do this as around Robin, but this time we want to hear a little bit about what you've been working on in the past week and what you plan on working on in the coming week. Sorry. Sleepy. Big yawn. Let's see. For me, I'm taking a timecode. I merged in the Microbit V2 support. It's still kind of rough, but we'll get back to that soon. I've switched to knocking out issues for 7.0. It's a nice change of pace to make some progress and get some issues closed. I made a PR for the All Matches keyword for ScanEntry.match. This is replacing a keyword that is all, which confuses editors because it's a built-in keyword in Python. So that's in the works. And then I made a PR to remove the MicroPy ports. Never reset ish defines an ML-SAMD port. If you've ever done an ML-SAMD thing, it's like this bit mask of pins that you don't want to reset. It's really weird. It caused some issues after the LED changes I did. So I just removed it and just used Never Reset Everywhere, and now it's much clearer. So that's out as well. More issues this week, and then continuing to push the BLE app side of things. That's kind of part of the challenge with all of the BLE stuff that I was doing is that you need the host side to be a bit mature as well. So I'm circling off that stuff for a bit just to let it mature a little and get some other time from some other folks. So I will circle back to that after this issue stuff, and then iOS will pick up next month as well because Antonio, who contracts for us, has more availability. All right, let's circle back to the top and go to Dan for their status updates. Okay, thanks. So I fixed a build issue. We had, there were some issues uploading CircuitPython stubs, and that was we tried to fix that, but there was a subtle bug and it caused the stubs, it caused builds to fail and we didn't notice because it was only builds that happened as the results of changes. So it wasn't reported in the issue itself. It was only reported to the person who happened to do the merge, which is as an email message, which is kind of obscure. So that's fixed. I fixed some typos in the keypad module. There were two things that were named the same thing by accident. That's what happens when you do copy paste and I left something else out. That's all fixed. As Caddy mentioned, I wrote like a half a page of code to turn keypad events into states that you can query and this thing might be eventually be a little library. Right now it's just incorporated by itself into the CircuitPython Circuit Playground Library and as I said for two or three weeks now I'm still working on debugging some audio issues on RP2040 and I'm making some progress, most about what it's not but still working on that. There have been many other bugs that have come out as we kind of on the side for this and so I haven't been able to devote full time on it. Okay, that's it. Thanks Dan. And I can totally relate to how audio stuff goes. So thank you for taking that on. All right, next up is Fomy Guy. All right, last week I worked on a project for the macro pad that will kind of help you practice math that will give you random problems and you type in the answer and it has a settings page that lets you configure which kind of problems you want to get and stuff like that. So that was a lot of fun. As part of that project I made some tweaks inside the macro pad library to make it work with LED animation so that you can get rewarded by having the keys play some different animations. I did a sweep through the learn guide repo to make some changes that were based around on-disp bitmap using pallet. So I went through and fixed up a bunch of the projects that used on-disp bitmap. And then also in the LED animations library I'd always used it for continuous looping and so this week I figured out that it has a cycle complete callback and I learned how to use that to make it basically just go one time through the animation and then stop. For this week and moving forward I'll be working on a larger effort to fix a bunch of stuff related to breaking changes with 7.x so a bunch of stuff across libraries and learn guides. I'll be working on that stuff starting this week. I'm going to try to dig into LED animation a little more. I have a couple ideas for some different animations that I like to try to implement. So I'll be trying to take a peek and figure out how that works and how to make my own. I also have been meaning to get to for a couple of weeks now that the stubs are a little bit easier to install and use. A while back I recorded a video that showed how to use that in PyCharm but it was kind of convoluted. You had to set up a bunch of different stuff but now it's much easier so I'm going to make a new version of that video that shows how to install and use the stubs. And that's what I got. Thank you. That video might be a good guide as well. Just a short guide. Supercharging your editor by CircuitPythonStubs or something. Yeah, you could probably do that. Cool. Thank you, filming guy. Alright, next up is HireFact. Alrighty. So this last past week, but actually really last couple of weeks, which I've been on and off for. I've recently, yeah, I was accepted to a new position at a local car company, which I'm taking just because I'm feeling the structure after COVID, but also my brother just got back from Hong Kong and also I have to move and also there's been a bunch of family stuff so it's been a little bit crazy. But in between everything I resolved a timer leak in the ESP32-S2 PWM module along with a number of other issues that were going on under the hood. So I kind of did a mild overall refactor that it should be much more reliable now seem to have solved the issue in the GitHub report. I've been rebasing a PR that handles storing exceptions across soft reboots taking me a little bit longer than I'd like just because I'm not I've never really gotten 100% into the heap stuff of CircuitPython. So I'm just going in there and double checking everything. It also needs some additions to work with the new sleep module and some of the additions that are happening alongside next file so checking that out. And across the last couple of weeks I've been picking away at the sleep memory modules for the SDM32 and RP2040 and just double checking them for the ESP32-S2 and the NRF 52 for use with the next file system. So this week I'm going to be continuing all of that work hopefully wrapping up this exception storage rebase real soon if I can and wrapping up the deep sleep memory changes for the next file system which is implemented but doesn't work in the way you'd expect alongside sleep. And then I'm hoping to maybe help out with the same deep sleep stuff. I'm going to see how much I can fit in with that between now and August 2nd which is when I start my new thing and see if I can do any off the clock help with that. So we'll see what happens and that's it for me. Why do they insist on backing up? I don't get it. Hierophic that sounds great and don't forget to take some time off before you start your job as well. Well because usually jobs don't start you with any vacation days and that's terrible it's important to take care of yourself too which sounds like you have been which is good. Yeah I've gotten some good summertime so I should be off that. Awesome. Alright well yeah thank you for all your work and I think we'll check in privately as well before you completely wrap up. I will still be around and I'm hoping to continue contributing so anybody who has questions about game 32 modules or any of the stuff that I've worked on I will be around and I know you're going to say you don't have to but I will help people. If they want to work on things that I've worked on I will help you. Please ask. Yeah thank you. Your comment on the L4 stuff was really helpful too so thank you for that. Alright let's go on to Jeff. Alright I'm going to card my continuing printer noises. Last week the calculator guide I was working on for a while went live and also some flash savings pull request got merged and I do already have a couple more ideas in my back pocket but I'm not going to give them up just yet. I also did JPEG mode on the OV2640 camera which I tested on the ESP32S2 there is now an example that lets you save a 2 megapixel JPEG to your SD card. There are some problems carrying over the exposure values from the preview on the LCD into the actual photographs so Jerry was seeing images underexposed I was seeing them over exposed going to look for solution to that sometime in the future but this week I'm focusing on the 7-0-0 milestone issues. I got one PR into review this morning that will close two of those and I need to grab more from the list because everybody but me take the assignments. I would like to get this library ate a fruit ticks into the bundle the code itself is written but there's just all the steps that you do to add something to PyPI add it to the bundle and so forth and I need to work on those and I will be participating as we mentioned in that keyboard hack chat this Wednesday and if you didn't catch the link the first time it's in the notes document again with my news so check it out we hope to see you there. Awesome, thanks Jeff. Next up is Jerry. Hi, let's see so I finally got this PR this is a really trivial PR to the RFM9x library but learned a lot of things in doing it. There's an option to enable the CRC check on the packets and discovered that the default setting to have it disabled on the RFM9x was not compatible with the Arduino setup which enables it so to make them compatible decided we'll go ahead and enable it but it turns out it's not that simple because in the chip if you have the default setup they use what's called an explicit header so they actually stack a little header on which tells the receiver whether or not there is a CRC and so the board is smart enough to say if you put a CRC on it I'm going to use it and if you if I'm expecting a CRC but you don't put one on it then I'm not going to use it so it's very forgiving in how that's set up so luckily this change didn't break anything an existing code somebody has a deployed RFM9x it will still work just fine even if even if the CRC is enabled on their new setup so I was afraid it was just going to be a pain for people to have to adjust but it turns out Radiohead circumvents that in their code and has an additional check that unless the two match it will reject the packets I'm not quite sure why they did that or why there but circuit python doesn't and I think it's a better way to do it anyway but we'll leave it that way for now anyway and then I did try the micro bit version 2 and the only reason I mentioned this is if anyone else is trying it I couldn't get anywhere with on my Mac using Chrome to communicate with the device so I don't know if anyone else has had any better luck obviously Scott has but so if anyone knows of any tricks or anything let me know and otherwise keep poking at it as it evolves awesome thank you Jerry I really do appreciate you trying that even though it didn't work but I've had it work off and on for me as well so it's clear that there's more work to do there all good stuff cool thank you alright next up is catney alright so I have a fairly lengthy list from last week I didn't plan on it being that big but it kept getting bigger as I typed everything out you just do so much stuff so updated the macro pad guy did not have warnings about using the absolute newest circuit python after 7.0 alpha 4 was released the keypad module was not in alpha 3 if I remember correctly and so there were a bunch of red warnings everywhere and I still got a bunch of feedback on the guide about how nobody could find keypad so that's been removed since now if you just download the latest unstable version it's fine replace the code elements with embedded code from github there was an issue with the ci on learn last the week before last where it wasn't building because of a incompatibility arduino incompatibility that didn't get fixed until the weekend so I didn't deal with updating my code stuff until the following week but we wanted to release the guide so the code was just embedded directly in the guide which is not a great way to handle it because obviously if we need to update the code you have to go in and manually do it versus doing it on github so that's why we embedded from github added the macro pad library to the bundle continued updating the macro pad library to address bugs and feature requests nothing like bug driven development tested a PR on pipixel buff and merged it that was the 37 day old PR it was actually reverting a change I made because something got something didn't work in 7.0 but it turns out that there was a PR to enable it and the person that submitted this caught that and reverted my change because the original code worked however we needed a release of 7.0 that included that fix before I wanted to merge that PR and that happened so tada merged tried adding color constants to rainbow IO rainbow IO is the new module in circuit python that has color wheel in it l'more wanted to try adding color constants so you could do like rainbow IO dot red but we determined that it's not worth the byte loss for now that once we enable some more space saving stuff in circuit python it might be worth it but for now we'll stick with just color wheel publish the tca4307 guide it's an ice-squared sea hot swappable buffer ice-squared sea is not actually supposed to be hot swappable but stem aqt makes you really want to hot swap it so now we have this buffer board that basically you just put it's got stem aqt connectors on it and you put between your microcontroller and your sensor and you can hot swap until it's set and no problem wrote up a macro bed hid demo for no in Pedro that lights up each key when pressed and plays a different tone for each key if I understand correctly I think there's going to be Braille key caps for it it's going to be sort of an accessible hid macro pad the tone is so that for folks who maybe can't read the display or what not can associate the tone with the key I started the guide for the neokey ortho snap apart it's a 5x6 key grid key matrix rather that's ortho linear and I now have the hardware in hand for that so I can continue that started a spreadsheet to track the 7.0 circuit python api breaking changes and the related library breaking changes created a new python library called ate a fruit pixel buff and migrated the code from pie pixel buff minus the color wheel code as we talked about renamed underscore pixel buff to ate a fruit pixel buff and aliased back to underscore pixel buff to maintain backwards compatibility and then put in a PR to neopixel and dot star to use ate a fruit pixel buff if available and if not fall back to the previous versions and finally I added rainbow IO to blinker so all of the upcoming code that uses color wheel to make rainbows on neopixels where there is neopixel support in blinker rainbow IO will also work well rainbow IO will work across the board it's not board specific but if you're going to use it with neopixels you need neopixel support this week I'm going to continue the neokey ortho snap guide I'm going to be doing demos with both the whole thing as a sheet and then also snapping it apart to make little matrices I'm going to be going over the spreadsheet that I wrote up with the breaking changes with my guy who's going to be taking over a lot of those fixes I need to look into why Sphinx is failing on a circuit playground library PR and really what I'm trying to look into is how to disable Sphinx on a single thing although I don't think that's possible because it's failing on it's a stupid failure like it doesn't understand the type of a variable and so it's claiming that you can't do a thing with it when you can because it's an integer and so I need to sort out either figuring out a way to tell Sphinx that it's okay it's going to be okay or to disable Sphinx temporarily inside of a specific piece of code other than that the hack check Wednesday and once alpha 5 is released I'll be updating any code examples that used underscore pixel buff dot color wheel to use rainbow I O dot color wheel um we'll be waiting until 7 0 is stable to update all uses of the color wheel code to use rainbow I O because obviously we don't want to update a ridiculous number of learn guides to all require 7 0 alpha 5 but the there are very minimal uses of the underscore pixel buff color wheel and I'm pretty sure 98% of them were me so I will be updating those at least to use rainbow I O and picking up whatever other miscellaneous stuff comes up that's where I'm at awesome thank you cat alright next up is maker Melissa hello uh so last week I finished up my cat detector guide and um I added the beagle 5 starlight beta prototype support to Blinka and I finished up an issue with the mag tags neo pixels in circle 07 uh this week I'm working on GitHub issues I put off and looking at possible uh SPI issue and and fix with Blinka and then continue on with the web serial usp tool fixes for usp 32 and that's it awesome thank you Melissa and thank you to everyone for participating in status updates uh we don't have any topics in the weeds so I'm just gonna skip over that and wrap up uh after I take the last timecode so this has been the circuit python weekly meeting for July 19th 2021 uh thank you to everybody who participated if you want to support Adafruit and circuit by them and those of us work that work on circuit by them who are funded by Adafruit I continue purchasing for the Adafruit shop at Adafruit.com the video of this meeting will be 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 check the python for microcontrollers box on that page and we'll get you going uh the next meeting will be let me look because I never had the foresight to look ahead um next week will be on monday the 26th um so please join us there uh that will be uh at 2 p.m. eastern 11 in pacific this meeting is held on the Adafruit discord server which you can join by going to the url adafru.it slash discord and if you'd like to be notified about the meeting and any changes to the time or day you can ask to be added to the at circuit python easter's roll on discord and with that we hope to see y'all next week thank you all thanks everyone