 Hello everyone, this is the CircuitPython Weekly for November 14, 2022. It's the time of week where we get together to talk about all things CircuitPython. I'm Jeff, or Jebler, and I'm sponsored by Adafruit to work on CircuitPython. CircuitPython is a version of Python designed to run on tiny little computers known as microcontrollers. CircuitPython development is primarily sponsored by Adafruit, so if you want to support Adafruit and CircuitPython, consider purchasing your hardware from Adafruit.com. And if you're international, especially, we've got a list of official resellers at the bottom of the store front page. So check that out if you're in another country besides the US, and that's still a big help when you buy from our official distributors. Anyway, this meeting is hosted on the Adafruit Discord server, so if you are watching or listening after the fact, we'd love you to join us on Discord by going to adafruit.it-slash-discord. We hold this meeting in the CircuitPython DevText Channel and the CircuitPython Voice Channel, but whether you are joining us through your web browser or through an app, there's people active all around the world, all times of day, so just stop in and talk to somebody, get to know us. This meeting typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with the US holiday. In the notes document, there's a link to a calendar you can view online or add to your favorite calendar app, and that's really the best way to keep on top of meeting times. Although, we also send notifications about upcoming meetings via Discord. To receive these notifications, ask us to add you to the CircuitPython East's Discord role. As I mentioned, there is a notes document that accompanies the meeting. The notes document, when you're watching it after the fact, contains time stamps to go along with the video, so you can easily skip to the parts that interest you the most. The meeting runs anywhere from 45 to 60 minutes, and so we find it's helpful to have the option to skip around. Then after the meeting, I will post a link to the meeting notes for the next week, and we invite you anytime during the week, up to when we start the meeting, or up to when you are talking, to go ahead and add your notes about what you're up to, your up-to-dog reports and status updates that we will go through during the meeting. So the structure of this meeting, after the intro, we've got five parts. Next up is community news, which is a look at all things Python, CircuitPython, and Python on hardware in the community, and a preview of our fine Python on microcontrollers newsletter. Next up, after that, we head to the state of CircuitPython, the libraries, and Blinka, where we take a statistical overview of the entire project by the numbers, separate from what we're all up to. And then third, and the first round, Robin's section, is called 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, and you guys are awesome. The fourth part is status updates. It's really the meat of the meeting. Status updates is an opportunity to sync up on what we've all been up to. So you are invited to take a couple of minutes and talk about what you've done since the last meeting and what you'll be up to until the next meeting. And then the last part is called In the Weeds. If we've got a longer discussion or a little bit of public decision making to do, this is the time for it, whether it is something that you identified during the week, something you identified during status updates. I just asked that if at all possible, you add that to the document before I reach that section so we know whether there are items to discuss or not. And that covers how the meeting will go. And so with that, I will scroll back to Community News and read you off a preview of the newsletter. So first up, I can take credit for sending this into Ann. I may not have been the only one, but Arduino is planning to support the use of MicroPython and introduces Arduino Lab for MicroPython. Arduino has partnered with Damien George to use MicroPython on a number of Arduino products. So this new alpha release is a rebranded fork of work done by, I apologize for butchering your name, Marillo Polizzi on an IDE, which has a similar look to the current Arduino IDE. And there's a link to the Arduino blog and to Arduino Labs. Next up, PyScript Updates, the bytecode alliance PyOdyde and MicroPython. Earlier this year, Anaconda unveiled PyScript to enable users to create Python applications in the browser. In order for PyScript to succeed, Anaconda must make strategic investments in both the project itself and its core technology dependencies. To that end, PyScript has been improving its technical foundations over the past few months. Okay, that's just a bunch of marketing speak, but what is actually really exciting about this is they've got a version of MicroPython that runs in the browser. And so it's just about 300 kilobytes to load and then MicroPython starts running in your browser in a tenth of a second. So it's like instead of a JPEG image at the top, you can load an entire Python runtime and then code your web logic in Python, which I just think that's super exciting. And somebody should do a circuit Python version of this. Anyway, that's my excitement about that little project. Then the newsletter continues with a bunch of projects just by people in the community. And I picked only one of them, but there are so many cool ones in there. So in a minute, I'm going to ask you to subscribe to the newsletter. This is why if you want like 10 more like this, just go and subscribe right now. Quote, converting C code to circuit Python lend me down a rabbit hole with how display functions are handled. Had to consult the source code and some great Adafruit learning guide slash examples. A most enjoyable adventure writes the flying kipper via Twitter. And it looks like some kind of cool, is that a battery gas gauge kind of thing? I'm not sure what it is, but love seeing the display IO projects. It really helps show what circuit Python can do. And anyway, lots more projects. So the circuit Python weekly newsletter is a community run newsletter emailed. It is a CO2 meter. It says CO2 right there. Thank you, Ann. It's a community run newsletter emailed every Tuesday. The complete archives are at adafruitdaily.com slash category slash circuit Python so you can get an idea of what you're in for. But basically, we really want to highlight the latest Python on hardware related news from around the web, including circuit Python, Python and MicroPython. And we want to hear from you whether you ran across a news story, whether you did a good job, you can edit next week's draft on GitHub and submit a pull request with the changes. You can tag your tweet with hashtag circuit Python on Twitter or you can email cpnews at adafruit.com. And in our internal meeting, we were discussing lots of people share their projects on Discord. And because to view messages on Discord, you have to sign in with the Discord app and join the Adafruit Discord team. So I'm going to go ahead with the Discord app and join the Adafruit Discord. That doesn't produce a great way for us to turn that shared project into an article or a feature on the newsletter using things like Twitter where you can post up some images, whatever you feel about Twitter, I'm not hot on it, is better than Discord. But what about Mastodon posting asks David, I think Mastodon posting is probably great because you've got a chance for some text, some links, some pictures that anyone can view without signing in. But I don't think you can tag it hashtag circuitpython and get the same reach. So you'd want to email cpnews at adafruit.com or put it in that pull request on GitHub, which I think Anne would love for you to do because she does a ton of work putting together the newsletter each week and just to reduce the amount of work she does on an individual item. So email that Mastodon link to Anne and we would love to include that in the newsletter. And I'm on Mastodon. I saw Scott and I think I saw you, Anne. I saw Katny. I saw Dan. So some of us are dipping our toes in that. But anyway, I'm getting a little bit off of the track because that wraps up community news. It doesn't quite wrap up community news because the other thing you need to do is go to adafruitdaily.com and actually subscribe to the newsletter. We don't sell that email list. It's disconnected from your store account. We just use it to send you the newsletters that you specifically subscribe to. And there are a couple other ones. There's an IOT monthly newsletter that's pretty cool. Anyway, check it out. But we are moving on to the state of circuitpython, the libraries, and Blinka. So this report contains information from the previous seven days. It's a report that's run in the middle of the night U.S. time. So like stuff from today is not included in this report. And sometimes things that happen on the boundary just get missed because of the way we generate it. So anytime we appear to overlook your contribution, we're blaming the computer on that one. But we had a big number of pull requests merged overall across the project with 81 pull requests merged by 25 authors. And some of the names that I don't see as often are new to me, R.M. McGowan, Alan Tore, Crotwell, Dav Clark, B-Born CR, Cam Davison-Palon, Drone CZ, Gruma, and Kyle McCreary. And maybe TC Franks. That's not a super familiar one. Thank you very much to all those authors. Whether you are a first-time author or a repeating author, we couldn't make Circuit Python the thing that it is without you all. And you're making your projects better and you share it back with us. And we're just extremely grateful for that. We're also grateful to our reviewers, who are people who in a more official capacity are making decisions about whether to accept pull requests. And those are Makar Melissa, Eva Harada, Tektrick Brent RU, Jepler Fomey Guy, Dan Halbert, and Catney. And also a big thanks to everybody who's not in an official capacity but is able to give us useful feedback on pull requests like I tested it and it worked and all that stuff. And Catney will talk more about all that stuff. I have one more stat and then we will hear from Scott. So issues-wise, across the whole project, there are 34 closed issues by 10 people and 37 open by 16 people. We've had a pretty good downward trend lately, so seeing a little bit of an uptick is not a huge deal. And we just keep working through those issues and closing those issues and that is really heartening to see as well as just the range of people participating, those people filing issues, those people who are authors of pull requests, those people who are reviewing and commenting, we're really grateful to all of them for the work that they're doing. But now, Scott, it's your chance to make your voice heard and tell us about the core of circuit Python this week. Hello. So I don't have much context on this, so don't expect any color commentary, but I'll read it off here. So we've got 16 pull requests merged from 12 different authors, which is good. A number of folks that I have not seen before, given that I haven't been looking for the last 12 weeks as well. Emma Gowan, I do recognize. Edel Lantor is new. Kyle McCrary is new. B-Born CR is new as well, so thank you to them. We have two reviewers, Jeff and Dan, so thank you, Jeff and Dan. We have 28 open pull requests, which seems a little high to me, but it looks like 13 are drafts. So I'm excited to dig in and see what all those are. Issues-wise, we had 11 closed issues by four people and nine opened by six people for a total of 569 open issues. There are seven active milestones. 8.0 has 30 open issues. That's going to be a particular interest for me. Interesting. There's a new category, third parties. That sounds interesting. And there are four issues not assigned to Milestone. And I think those are the highlights. All right, thank you, Scott. It's good to hear from you today. Thanks, Jeff. And with that, I will hand the baton off to Candy to tell us about the libraries and more about contributing to Circuit Python. Thanks, Jeff. This section applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore circuit python underscore, as well as a few extras such as our cookie cutter and the community bundle. Across all of those repositories, we have 58 pull requests merged from 10 different authors, including a number of the new folks that Jeff wrote off earlier, and seven reviewers. Let's see. Fully one, two, three, four, five of those PRs are over two weeks old with the oldest being 190 days old. So it's really great to see that we're still getting through some older PRs. And that leaves us with 38 open pull requests. We had 11 issues closed by four people and 26 opened by nine people. So we're up quite a bit and that leaves 586 open issues. 99 of those are labeled good first issue. 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 of this information and more including a list of open pull requests, the list of open issues, and some library infrastructure issues. If you want to start reviewing, check out the open pull requests. If you have the hardware, test the PR. If you don't, take a look at the code, let us know what you see, leave a comment and let us know that you did that, and that's still incredibly helpful. If you, and once you're comfortable with that, we can talk about leveling you up to the review team. If you're interested in contributing code or documentation, check out the open issues. If you're new to everything, good first issue is a great place to start. We also have a guide on contributing to Circuit Python using Git and GitHub, and we're always available on Discord to help you through the first steps. So don't let that part intimidate you. We want you to be able to contribute in a way that works for you. Next up, we have library PI PI weekly download stats. Super excited about this. I will probably say that for the next few weeks. So the total library stats, which is PI PI downloads over 323 libraries, is 178,753. And then there is a list of the top 10 PI PI downloads, or libraries by PI PI downloads. Bus devices, but basic and requests are probably both top for the foreseeable future. They're used by a lot of other libraries, and so when you download Blinka, often that'll come with it. And then there's really no surprises in the rest of it. So take a look at that list in the notes if you're interested. And there is a file which I will actually have added to the notes here in the next however long. So there's a file on the bundle, the Adafruit Circuit Python bundle, that contains the entire list. So if that's the sort of data you're interested in, we do have it in an easily accessible place. In case you want to know what is the library with the fewest downloads, the saddest, loneliest library that deserves love and attention and affection. Or the very newest library. Or the very newest library. So in terms of library updates in the last seven days, there's new libraries, there are none. And in terms of updated libraries, there is a short list which I will not read off. And there's been a number of updates to the library section in this set of notes. We're basically trying to get data that we used to have, which is the PyPI download stuff, and get more data that we're interested in added here. So you'll see that there was a couple changes here. I don't foresee very many more. But it was important to us to get that stuff back and into the brains of other people. And that's what I've got. All right, thank you. And last up to round out this section, I will read about Blinka. Blinka is a circuit Python compatibility layer for MicroPython, Raspberry Pi, and other single board computers. So basically, you want to run your circuit Python code anywhere, Blinka is your best friend. And within that project, we had a really large number of pull requests relative to usual of seven pull requests by five authors and four reviewers. So thank you to Happy Me 531, which I don't remember seeing in the above list of authors. That's interesting. And Cam Davison Pallon, as well as some of the usual suspects. And thank you to our reviewers. That leaves four open pull requests. Three out of the four have been open over a year, and one has been open 18 days. Issues-wise, there were two closed by two people, and two opened by two people, so they are at issue parity within the Blinka project, leaving 84 open issues. The number of PyPI downloads in the last week was 27,000, and the number of PyWheels downloads in the last month was 10,000. And they are hovering just below an important milestone with the number of supported boards at 98, not counting MicroPython boards. Alright, that finishes the State of Circuit Python, the libraries, and Blinka, and brings us to Hug Reports. As I was saying before, Hug Reports are a time to acknowledge the positive things that are happening in the community around us, whether it was someone who helped you out or something that you observed, Discord or GitHub or Mastodon, Twitter, it's all fair game. We just want to lift each other up for a minute and recognize the good stuff. So I will start it out, and then we will go through the document in order, which is roughly alphabetical order. So I have a big Hug Report to Lady Aida and PT. Welcome to a new adventure. Please carve out the time and space you need for it. And to editorialize for a second, speaking just for myself, I do feel close to those two because of the time we spend on their YouTube broadcasts. They really deserve their privacy about this stuff, especially the new one, who doesn't have any, you know, choice in what their parents do. They deserve privacy, so just be mindful of boundaries and think about the difference between your actual friends and these people that you know on the internet. It's not that I've seen anybody acting inappropriately, it's just, it's important to reflect on that, I think, now when they're visibly carving out the privacy that they want for themselves. Anyway, enough said about that. Katny, thank you for trying to organize the time to chat last week, even though it didn't work out in the end. Hug Report to you, Scott. It's happy to see you back, and I know you're working hard to find that new balance in your life, and I think you're doing a good job. Dan, thanks for being a fond of information this weekend and also Hug Reports to DJ Devin, David Glode, and Bill88T for commiserating about using the wrong stuff. So check if you're using a solder flux containing zinc chloride on your electronics. If you are, throw that stuff out. It's meant for pipes and will ruin your PCBs and components. I didn't really know about this except peripherally, but Dan was really helpful when this came up on Discord over the weekend. Thank you to Mark for providing some tips and small fonts for the project that I'm going to do on the NeoPixel BFF board hopefully this week to DroneCZ on GitHub for sticking through the PR process for new board. There were some bumps, but they got it done. And thanks to MicroDev and Dan for noticing that a problem that was shared by DroneCZ and BeBornCR that they ran into while adding a new board, it was due to an incorrect Get Ignore file, and I said, now we need a PR to fix it, but I actually added the PR earlier this morning. So hopefully that will be resolved soon and not bite anybody else. And that's it for me. I'll go to Dan in a moment, but now I'll read Seagrover's notes, a hug report to Lamor and Phil for taking the next step to upgrade their maker environment. Can't wait to see the new release. And a group hug to the team and community for being well awesome. All right, Dan is up now, but then it's Deshipoo. Okay, thank you, Jeff. Thanks to Scott for a nice catch-up conversation about family and work. I saw the baby in action. That was great. And welcome back. Thanks to Jeff and MicroDev for reviews on Python last week. And thanks to Katni for organizing our internal meetings while Lamor and PT are away and for working on code of conduct updates and update mechanisms. Okay, thanks. All right, go ahead Deshipoo, and then I'll read some notes from some folks. So I haven't been paying enough attention recently so I can tell you it's a good hug. All right, no need to be bashful. We understand everybody has other things that go on in their life and we're happy that you could stop by today. All right, I've got some notes to read and then next after that will be FOMI Guy. But now, DJ Devon 3 writes a hug report to Naradok for going above and beyond, helping me with the TR cowbell. A hug for FOMI Guy for streaming while reviewing my PR. I learned a lot and made my PR better. It's extremely helpful. Would love to see more po-request reviews get live streamed. And last, a hug for Mr. and Mrs. Ada for joining the wonderful and wacky world of parenthood. And then I've got notes from David Glode who has a hug report for Lady Ada and Mr. Lady Ada for the great reveal of their secret family size increase and a hug to Dan for helping me figure out that the flux of everything was not for electronics. All right, it's time for Tim and then next after that is Catney. Yeah, all right. Thanks, Jeff. Echoing a couple people who have mentioned. Welcome back to Scott's. Great to see you back around. Hug report for PT and Lady Ada for the great news they shared this week. Hug report, thank you to C Grover for hanging out during many of my streams and dropping little bits of Python knowledge and most immediately earlier today C Grover shared some syntax around slicing that I didn't know about. It was great to always be learning things. And then a group hug to everybody. Thanks. All right, and Catney, you are up next and then I'll read notes from Melissa. So I have a short list here. Hug report to Liz for swapping hosting the meeting next week. It'll be her first time hosting which bumped it up by two weeks. She was happy to do that. She had some other stuff going on the week she was supposed to host anyway. But I have some very exhausting things going on over the weekend and I'm trying to be good at respecting my own limitations. Thanks to my partner Rose for helping with Python code over the weekend. To Tectric for setting getting CI setup for me on a personal project including reuse, licensing, pylint, and black. To Foamy Guy, a belated hug report for helping out with the initial code for the same project. To Tectric for handling all of the pylint update woes on learn. And to Eva for helping out with the pylint stuff. Sorry. To Todd Bot for explaining wire in Arduino, both standalone and with regards to board.Sema underscore I squared C. Turns out in the grand scheme of things they're very similar. But wire does some specific stuff none of which I understood until Todd Bot explained it. I have a hug report from the original author of the bundle PR that was merged this week. He's called Dav Clark. A hug report to Tim, Dan, and Jeff for finishing up the documentation PR. He actually thought he closed it. And it he was so he was surprised and thankful to whomever got it merged and it was actually all three of those folks. To hug report to everyone else that I forgot, I know I'm forgetting something. Apologize if it turns out to be you and a group hug. Thank you. Next up I am going to read notes from another a number of people, but it looks like Paul, you're up after that group. The maker Melissa writes a hug report to me for getting me unstuck by reviewing a platform detect PR on short notice so I can review other people's PRs. She also has a hug report for Carter for helping with a particularly perplexing fun house board issue in support. A hug to Scott for making it back. A hug report to Tectric for fixes to the Adafruit Blinket Display IO Library and finally the group hug. Next up Mark aka Gamblor has a hug report for me, Jebler, for the NeoPixelate Library and information about how it and the RP2040 NeoPixels work. A hug to Lady Aida and PT for their great news and a group hug. And last in this little group of people who are text only or missing the meeting, Microdef has a group hug and a hug for Scott. Happy to see you back and belated congratulations. All right, so we've got next Paul, then a note for me to read and then Scott. Go ahead, Paul. It's Jeff. I just have a group hug for everybody. Thanks. All right. And Tammy makes things as text only today but is there in the text chat and it has a hug for Ketney for several recent conversations. One for PT and Lady Aida for the great news and a group hug for the community. And that brings us to Scott, aka Tanude if anybody remembers this guy. Thanks, Jeff. First, I just wanted to say a huge thank you to everybody both in the secret Python community and at Aida Fruit. For those of you who don't know, I just took 12 weeks to watch my 7 month old, now 7 month old taking paternity slash bonding leave. I realized that bonding is a good way to put it. It's definitely we bonded over the 12 weeks so it's really great. And it's been well worth it and I hope that PT and Lady Aida take as much time as they possibly can to spend with their new little one or their coming little ones as well. And then I just wanted to say a hug report. So I should also caveat that I am way not caught up on emails so there's a lot of people I'm missing but one thing I did catch was that the Pico W has made a ton of progress over these 12 weeks thanks to Jeff largely. So hug report to Jeff for taking that on awesome to see all the progress that you've made and I'm also very personally excited. I don't have to jump into that when I get back too so thanks Jeff again for doing that. I really appreciate that. It was definitely a group effort there have been a number of other people consistently adding things within Circuit Python but also MicroPython and the Pico SDK were amazing resources and we reused a lot more code than anybody thought we would and that made it pretty easy. Anyway, but I'm going to read notes from Tectric and then we will round out the section with Mototemo. So Tectric writes a hug report for Eva and Katny for all the help with patching things after last week's pylint and CI upgrade to Katny again for always interesting discussion including one about open source licensing a hug to Dan, FOMI guy and maker Melissa for help in diagnosing and fixing an issue with building the contributing page for CircuitPython.org a hug for Naradak for pointing me towards DiscoTool though I didn't end up using it it was great inspiration from what I'm working on and a group hug. All right and Mototemo please tell us what's up. Yeah I just want to welcome Scott back and thanks FOMI guy for doing all the live streams you know I've been busy and haven't been able to watch them live really excited I just found out in this meeting about Lata, Aida and PT and I'm just so thankful for Aida Free for having bonding leave I mean it's just great that people support that I think that just shows what a great company it is and group hug to everybody I wish I could be more involved but I just love this community it's awesome. You could join us today so thank you for that alright and with that we will head on to status updates so as I said earlier it's the time to let us know what you've been up to primarily within the CircuitPython community although we also love to hear some stuff from outside it can really you know give us an insight into who you are when you share what you're up to in your life so anyway just you know now on that throw something in I will start to show how it goes and then we will go through the document as it is so last week I played with LED strips a lot while working on a prototype for the Feather RP2040 Scorpio it works really good makes a bunch of pretty colors and I've been working on making it faster and for my status updates I'm trying something new today I made my status update largely from my GitHub activity logs I'm only going to read a subset of what's in the document because it ended up a little bit long so I did a number of things that were around optimizing the pixel buff in the core and the LED animation library and even proposing a new core class that would be called pixel map that would replace the pixel map within the Adafruit LED animation library so a number of things were relative to that and just before the meeting I was comparing my original script with eight comment animations on eight LED strips with the Scorpio and it went from being able to achieve about 40 frames per second to about 95 frames per second when putting together all these different optimizations and that's with I think it's 240 LEDs so it's like now that we've got this ability to drive a lot of LEDs we can improve the efficiency of the rest of the code and just make the animations more fluid or give you more time to do other things in between animation updates and just improve the capabilities and so I've been excited to kind of find some of those low hanging fruit and actually make improvements and hopefully we can work on getting those all incorporated a lot of these are open pull requests they're not merged yet for the quality of the code Dan and I had both noticed that some things about the PicoW were like making us make changes in the parts of the code that are supposed to be independent of the individual board or microcontroller and I put in a pull request to hide that back where it needs to be next up recently Python 3.11 came out and we started using it on GitHub actions but within the core we found that we encountered errors during the build process and I put in a pair of PRs so that we will be able to return to using the current version of Python for building CircuitPython which is really good Modotimo says we need a Blinka with a heart emoji and that is 100% true so someone please do that and Katnick can add it to our emojis anyway back to me I put in a pull request update micro lab to version 6.0.1 so I do not know what the updates are specifically but it's great to keep up to date with that project that enables a lot of cool stuff on the Raspberry Pi Pico and RP2040 I tried to implement a function called port idle until interrupt which would make sleeping work a little better maybe save a tiny bit of power but it's tricky and people need to check it out and test it before we merge it I have on this list that I added the NeoPixel 8 library to the CircuitPython bundle but that may have been over a week ago a pull request that was merged I think today was the ability to read the voltage monitor on PicoW which was one of these dwindling numbers of things that were not yet implemented so I was happy to see that able to go in and within an Adafruit CircuitPython issue I helped a user understand the distinction between operation with star-star and math.pow on why one was acting more efficiently than the other alright so that's what I've been up to it feels like it was a little bit of a long list this week I am going to write a scrolling text example for the NeoBFF which is an add-on for QtPyform factor boards we'll just scroll a simple text message across it the 5x5 NeoPixel LEDs I'm doing some final checks on three prototype boards and I'm going to draft CircuitPython board definitions for them they're going in as draft because these boards might be revised one more time before they go into production or who knows what will happen because they're not ready yet but there is an ESP32S2 and ESP32S3 reverse TFT feather wing which just mounts the panel differently for putting within something and the ESP32S2 matrix portal which is a replacement for the matrix portal that uses the hard-to-obtain at Melsanity 51 microcontroller and I think will just actually be a better more reliable, more capable product so I'm particularly excited about that one I really hope it makes it through and becomes a product alright that is it for me I think that's quite enough I'm going to read notes from Seagrover and then pass the baton to Dan again so Seagrover writes after revisiting and refactoring the thermal camera code I began to notice opportunities to apply microlab to improve time critical routines in other projects this led to the discovery that displayio.group and displayio.pallet object don't support slice objects even though they act act as lists I'm going to test and contemplate this a bit more I'm going to test and contemplate this a little bit more before submitting an issue this could be a game changer for quickly changing properties such as position and color for a subset of group objects such as game sprites or thermal grid thermal camera grid displays apparently it doesn't actually help to have complete sentences I still stumble over reading your notes alright next up from Seagrover developing a generic quote failover library for portal devices to place a screen or matrix display into a low power mode instead of a bright rebel screen when encountering a fatal error all in an effort to reduce display generated heat it's especially critical for unattended TFTs in tight enclosures or in general for RGB LED matrix displays alright next up is Dan and then I'll read some notes from some other people okay last week I did a lot of reviews that's been truly thanks for everybody we have more contributors than ever it's terrific last week I met with Scott to catch up on things I fixed an STM PW out bug just this morning after working on it all weekend it was an obscure case where well PW out sometimes was either running a half frequency or double frequency and this was extremely confusing I thought it was some kind of code bug but it turned to be out to be an off by one bug we returned the timer number as zero based in one case and used it as one based somewhere else STM numbers them starting at one I don't really know why but they do and so once I figured that out it's fixed I fixed an error in RP2040 pin alarms where when you set up the alarm it was trigger even before you slept and so if it triggered at that time it wouldn't get reset and when you went into sleep it wouldn't wake up when you triggered the pin alarm so that's fixed remember we talked earlier I'm not sure if we talked during the meeting but macOS Ventura 13.0 or later has a problem copying things to the fake uf2 drives like you would find on Adafruit board with uf2 boot loaders or on the Raspberry Pi Pico and there are some other boards that do that too like the micro bit and you can't drag a uf2 in the finder to the drive you get an error so this is documented in a blog post that we did just for in the blog post I discovered a user found that unfortunately for the nrf52 boards this problem is even worse you could work around it by using the command line to copy the file instead of the finder but on the nr52 boards there's something about how their boot loader is implemented that causes them to not work at all even with the command line like the board will think that it has been disconnected from usb after only a second or two which is really bad so and it's hard to upgrade the boot loaders on those boards so we really need apple to fix this so if you are affected by this problem please read our blog post and report your problem to apple because the more people who complain the more squeaky we will get the grease we hope okay that's it alright I have a whole pile of notes from DJ Devin 3 and from David Glode before we get to FOMI guy so DJ Devin 3 writes finished up PR changes in my Adafruit request API examples FOMI guy streamed while reviewing my PR and I learned some new things using string replace instead of regex means one less library it was a great experience having my PR reviewed during a live stream can highly recommend it I learned a lot FOMI guy seemed interested in having a twitch API example so as a thank you for helping me through the PR I dove into that last night running into zero off issues hoping to have it working at a PR submitted for it later next week made a good amount of progress on my TR cowbell sequencer thanks to Naradoc he completely rewrote the code and he added async.io and he did it blind without having my board in his hands he's getting proper credit for his contribution in the GitHub project page after looking at the code he wrote I would never have gotten it I wasn't even close probably Naradoc and thank you went through the eye of Hurricane Nicole it was inconsequential as I was on the weak side of the eye wall didn't even lose power hope and Barella and Reeves brothers made it through scathed due to the hurricane I picked up a battery powered welder soldering iron shot a YouTube video on it that shows me almost setting a search protector on fire there was smoke and I wasn't kind about the design flaw of an untethered soldering iron being able to roll around was inspired by Sophie Wong's designs after watching her talk at the heck of a super con on YouTube ended up making cyber ski goggles the silicon jackets on nudes do not stick to hot glue I'm trying to glue Teflon so you have to go over the filament and tack it down results would be cleaner the custom 3d printed housing you can run nudes without a resistor and they're much brighter as you can see in the image the red nudes have a 68 ohm resistor which is just enough to have a visible difference it's running pulsing animation so I'm not worried about them burning out and next up I have notes from David Globe investigating mastodon and they've put their mastodon handle there in the notes doc and trying to figure out where to do my micro blogging build an alternate network and recover slash convert my twitter archive making the sensor list jiao nrf board easier to find it uses the same uf2 as the jiao nrf sense on circuit python.org building two Adafruit.io temperature sensors with mcp9808 one with a pipe portal and one with pico w to monitor internal and external temperature of an extension of my home and there is a link to David's mastodon in the notes doc failure to make it work with whip or snapper not available on pico w so I use circuit python trying to figure out the quality of the isolation and thermal behavior with various heater settings and finally investing in how to use my new radar 24 gigahertz millimeter wave sensor human stationary presence it has a uart protocol with checksum and the only driver is in c for arduino so guess I will have to do it myself next up are foamy guy and then catney so go ahead tim alright thanks jiff couple things I got into over the past week tested and reviewed the different api examples in the request library thank you to djdevin submitted that one implemented in the core a hidden property for the vector IO shapes so like groups and bitmaps and ondisk bitmaps they all have tile grids I should say they all have a hidden property that you can use to hide and show them vector IO shapes did not use to you could put them in a group and hide the group but with the PR that I submitted you can actually hide them directly without having to use the parent group I tested out a couple of your improvements that you submitted recently for LED animations in the library we tried that out this past weekend I think it was on saturday and then this morning I tried out the core one that replaces the pixel map class I got to say also it was very insightful to see the different pieces of code that are involved in implementing that class inside the core it was really helpful I think and will be I'll refer back to it a couple of times it will be helpful to see an example of a class that's written in the core that also has python code available so I can look back and forth one kind of helps me understand the other so that was cool to get a look at and then before the meeting today I was working on getting the tools needed to run circuit python.org up and running like Ruby and Jekyll and however it serves and that sort of stuff so I got that stuff up and running earlier today to do some reviews on that PR on that repo as well thanks thank you and next up is catney after that I will read notes from some folks alright thanks Jeff so last week I put the pie cowbell proto guide in moderation that guide is fairly simple it was quite involved for me there's four or five rather assembly pages to show you how to put headers on the pico itself and then the four different ways that you can assemble the pie cowbell and because the pins along each side the length of those strips are the same it's very easy to install it backwards or upside down so there's a lot of pictures referring to that and warnings and so on so that bit was a little involved because there were six to eight photos for each assembly page so it took longer than I expected I also on Friday was adding a few things to the aid of fruit community code of conduct in the process of adding the couple new things which were discussed on came up via discord previously we also found a lot of changes that should be made to that were probably in the original that I adopted it from but no longer really applied to us so there's some non-functional changes as well and that will go in as a pull request which I will link in the circuit python dash dev channel on the aid of fruit discord so if folks are interested in that they can check that out and so that was last week this week I'll be meeting with Liz about some questions she has about hosting this meeting and about when we want to do a couple guides that were both working on continue the aid of fruit community code of conduct updates which is to say there's a second piece to that update which is adding a document that covers the update process it will explain how we come up with ideas and then do a PR so that the community can contribute and then once that is more or less approved by the community then it gets added to the code of conduct itself basically this part came out of the fact that we now using the code of conduct folks have to agree to it to be able to make a user page on the aid of fruit learn system and my concern was that we do update the code of conduct from time to time and so if someone checked that box a year ago and then comes to us now and says well when I agreed to it that wasn't on there you can't ban me or something to that effect we needed to make it clear to folks that they should be aware that it is updated from time to time and possibly take a look at it again and within that I wanted to explain exactly how that update process worked so that if those people are upset that it's updated or something maybe actually being able to be part of the update process would help with that so that's where all of that came from I think the update process document will get added as a separate pull request because there's already a number of changes in the first one the next product guide I'll be doing is a quick STEMMA hub breakout a little breakout with a lot of STEMMA connectors on it then I need to decide what's after that which is part of I kind of want to do a project guide which means talking to Liz about what her order of operations is because the two that I have were working together on my list is totally massive so I will not run out of things to do even if we have to shift things around and I'll be out a little early tomorrow going out to dinner this past weekend I finalize quote unquote the code for personal project which is to say it will almost certainly be updated right quick it parses an RSS feed and takes a few pieces of data generates a dynamic string and then sends the string to Twitter and mastodon and this is all written in python it includes customization such as disabling twitter mastodon or both that now has error checking for authorization failure it also includes checking to ensure it does not post duplicate messages if the script is run and no new data has been added to the RSS feed and I included the github link to that in my notes and I'll post it to discord in a moment here that's what I've got that sounds like plenty all right next up I have some notes to read and after that I will be giving the floor to Paul but right now maker Melissa writes last week cleared out remaining platform detect PRs that were in limbo fixed an issue with the web serial ESP tool trying to deploy twice and overriding files reviewed lots of circuitpython.org PRs fixed the Adafruit python shell libraries run command function so it's not locking up occasionally merged in some waiting raspberry pi installer script PRs started working on converting raspberry pi installer scripts once again from shell to python I figured how those python scripts just turned back into shell scripts updated learn guides that were still using some of the old scripts request for a review of two PRs which have been waiting for almost a couple of weeks so if you are inclined to review a circuitpython.org pull request maybe take a look at those two links this week more shell script conversions meet with Scott to talk about working on code.circupython.org and we'll probably move over to working on code.circupython.org some more then I've got notes from mark8kagamalore reassembled my giant 300 pixel neopixel display looking at neopixel 8 for num strands less than 8 need some tweaks with how the data is passed to the pio program I hope you didn't spend too much time on that mark because actually I was working on that as well and had a random thought about making a neopixel frame buffer core module similar to rgb matrix and is31fl3741 frame buffers if anyone has thoughts on this good or bad please let me know alright then we've got Paul so go ahead Paul new episode of the circuitpython show is out today with Joey Castillo as the guest he and I had a great chat talking about a couple of his products using circuitpython to prototype them as well as low power and deep sleep with circuitpython and then last week I also wrote a slash modified a python app to create transcriptions and subtitles that I can use with podcasts thanks that's very cool alright I've got notes from tammymakesthings and then from tanute alright so tammy writes been super slammed with work stuff for the past couple of weeks we're kicking off a new project so I haven't had time to do a lot and have been absent from the past couple of meetings but this week looking at what's required to add support for nrpn messages to ateafruit midi and looking at whether I can implement the mastodon api on circuitpython enough to make a mastodon scrolling latest toot board and we're happy to see you when you have the time tammy and we understand life and work are always ready to interfere with our fun stuff circuitpython and mastodon anyway go ahead Scott what's up hello thanks Jeff so I'm back from 12 weeks of paternity slash bonding leave Ari my baby can now crawl he has four teeth he's got the bottom two are fully and then the top two are coming in which is real pleasant let me tell you he can pick up food and put it in his mouth and eat it but all these things that I do every day that I don't realize that I had to learn is fun to watch he loves to stand on his feet with help and grab everything and anything to put in his mouth I wanted to put a bullet point in there because bonding, paternity and taking care of your kids is important so in the terms of what things I played around with while Ari was asleep he had some quote-unquote hobby projects the very first one was getting circuitpython running on the BengalJS2 which is a watch that we sell in the Adafrit shop it's by the Aspirino folks which is kind of like the javascript version of micropython circuitpython so it's like embedded version of javascript but I've got it running circuitpython and it shows the time the most recent important notification where important is kind of encoded in the circuitpython code so I've been using that as my daily watch for the whole 12 weeks basically so I've got some outstanding code that I'm going to need to get in and then we'll have it and folks should be able to use it hopefully which will be really fun we've talked a lot about doing a circuitpython watch and I'm pretty happy with this after that I spent not tech related but I did spend some time doing analysis on the Seattle City Council redistricting alternatives and there was an article in the kind of more uh liberal okay using cuss words kind of online newspaper there about my involvement in that if you want to check that out um I will be putting the BengalJS2 into the circuitpython repo Keith is excited about heart rate monitor but I have to warn you I don't have heart rate monitor working and I don't have the touch screen working it shouldn't be too bad but I haven't played around with either of those things um I spent some time playing with FPGAs which folks will probably know is something that kind of catches my interest from time to time um which is uh is a board that is an FPGA base but it's in a feather form factor I got interested in at risk5 cores that got me distracted in risk5 debug support um and pyocd is is pretty neat but is cortex M only right now so I'd love to find some time to add risk5 support to pyocd which I vastly prefer over the um thanks to Luke W who also works for Raspberry Pi and has their own hazard 3 core so I learned some stuff there and the risk5 pyocd support could also apply to the ESP32C3 because it does have kind of standard risk5 debug spec uh support um another side note here that I didn't write down but uh openocd has a remote bit bang protocol which is just like an ASCII protocol over a socket that is like very easy to write a quick circuit python script to basically be the the thing that actually bit bangs the pins so potentially for us it would be a way for anyone in the community to have access to JTAG and SWD basically um it would just not be particularly fast but it would be something that you could even do over like an ESP Wi-Fi connection which would be kind of neat um so that's something to think about um another thing I've been thinking about I don't see Kmatch in the meeting but uh Kmatch did a ton of work about having an easy open source logic analyzer firmware for for all the these dev boards um he did a lot of work to get it working in Sigrock but the Sigrock project isn't in a good state it's got like two core repos and they both have 50 plus open issues uh or open gprs and github and the only person who's a maintainer as far as I can tell doesn't like using github so it's kind of in a bad space so my brain's thinking about what a better alternative for that in the future is um and then another project I was thinking about is uh a project to control a baby monitor from circuit python this is basically inspired by like he wakes up in the middle of the night and cries for like two minutes but then manages to follow back asleep so I want to be able to use circuit python to tell when he's crying I want to log it locally but then I also want to say like leave the monitor muted until he cries for like x minutes and then turn it on so that he wakes us up if we're not already awake um but as you can tell I get distracted by rabbit holes of these projects um one thing I've thought a lot about is having a programmable semi-qt so uh a board that you would program over i squared c I've thought about this in terms of fpgs but fpgs are really expensive I discovered the lowest like basically the lowest end of the stm32g zero series it's a cheap cortex m0 plus think kind of like a sandy 21 but not the side that we run circuit python but like the smaller side of like 8k stm32k flash they're 80 cents in singles off jlc jlc pcb and they get even cheaper if you buy more the cool thing is stms boot rom which all of their chips have as far as they know support uh i squared c boot loading so you could actually load like arm assembly code and treat it in my marine kind of like a pio but it's a separate chip um and it's also kind of in the vein of um what's the name for it samd9's seesaw so it's similar to seesaw as well but my approach would be to what I'm imagining is that we would have circuit python libraries that are wrapped up and basically ship with binary code along with it where the python library would load the code to the device and then beat it as just another i squared c device that it's talking to like an i squared c peripheral um so I have a design for that that I ordered from jlc pcb assembled which is pretty neat and it was only like 30 bucks for five of them which is pretty wild um that should arrive on Thursday so I do want to pull that thread because um Lamor and I were talking we talked a bit over my leave because we wouldn't going to necessarily overlap um and she mentioned that jlc pcb could be a good way to prototype or even like put a first batch of boards into the store um because their assembly is pretty inexpensive um so I did it all through jlc pcb assembly um and uh yeah so that will arrive on Thursday and I'm interested in pulling continuing down that path um I did get slightly distracted a few days ago um so there's this gdb plugin called pie cortex md bug which allows you to use like an svd command to look at all the registers of different peripherals I usually manage the svd file myself but there is a simsis pack manager thing that pie ocd uses um that includes svds in it so I was looking into adding support to the gdb plugin for using that pack manager because I already and I downloaded it for pie ocd but I didn't have access to it from this other tool so I was taking a look at that as well um this is all kind of backgrounding stuff but I thought I wouldn't talk about it now in case folks are interested okay so back to my circuit python life um the goal this week is to get caught up on communications I've got like I don't know like 2,000 unread emails um I'm going to be heavily stimming um so if there are things that you think I should look at or you want to chat with me about please let me know um I'm really in kind of information gathering mode right now as to decide like both where my work what my work becomes but also um kind of what priorities for the project as a whole will be um going especially as fill in the more are out um things I definitely know I want to do I do want to get the bangle js 2 stuff in um so that you could have a bangle js and you could load circuit python on it um it's been actually I know I'm taking a while so no problem it is a 12 week update to be fair um one interesting thing to know about the bangle js 2 stuff is there's no usb so all of the programming that I've been doing for the watch has been over um over bealy so I've been using the bealy workflow a lot and that's been really interesting to see kind of what is neat and what is um what works and what doesn't work generally it works quite well I've been pretty happy with it uh repl access is something that would be really nice um but I have an idea like there's a way to do that um pretty simply using the existing blue fruit app we just need one change to it because the blue fruit app supports um the nordic uart service which is basically what we implement except for the fact that we change the uuid so that if the user wants to use it they can use it um so it should be a pretty simple fix to blue fruit so that it will support the other one as well um I heard when that tac might be working on this but I do want to finish usb host support um which like I did a lot of the work for but then we needed tiny usb and now we've got that as well or like the tiny usb stuff has been done and I want to make sure that circuit python uh gets that work supported as well um and then of the last but not least thing is that 8.0 is still beta and I want to chat with everyone here to talk about bug prioritization and getting that stabilized hopefully I don't know by the end of the year would be good I don't know if there's anything super big anyway that's an update for me please reach out if you have uh thoughts about that you think I can help with and that's it. Alright thank you Scott uh I have one last set of notes to read and then we will wrap up status updates so techdrick writes last week finished patching all the issues resulting from the ci upgrade to allow use of python 3.11 started work on a command line tool called Cirque firm that will make installing versions of circuit python uf2 very simple I'm hoping it will be a compliment to Cirque up played whack-a-mole with adabot as various checks have been updated and the pipi stats edition continues to evolve and finally reviewed prs now that the ci is sorted out for them this week techdrick will continue to watch for issues resulting from updates made to libraries to fix pylon issues I don't foresee any issues but please let me know if something doesn't seem like it's working to continue working on Cirque firm and begin writing documentation and instructions and techdrick is taking some personal time for a family wedding this weekend so it may be a light week and that finishes up status updates which took fully 35 minutes because there was a lot of stuff which is really exciting anyway we do have a couple of topics we're in the weeds I'd like to thank people for adding their topics there and I will hand these off to the people who created the topics to talk about them so Deshapu would you care to go ahead please okay so this is just an idea I had some time ago I thought I would just throw it out there I do realize that this change why it doesn't really change the mechanism underneath is a lot a big change because all the documentation and all the examples would need to be changed but maybe it's worth it anyways so the thing is there is a lot of infusion from people coming for help to help with circuit python and about how display.io works I suspect this is partly because they are used to frame buffer based model where you just have to repaint everything every turn but I also suspect that the show function that we have in there wasn't like this spell that mental model from them and I notice we already have the root group property on the display and basically all that the show method does is to assign that root group so I thought maybe if we remove this show method at least in the documentation and use an assignment to the root group instead that would make it a little bit more obvious for people new to display I.O. how it actually works that the show doesn't actually refresh the display that it only assigns the root group so that's just an idea for an IPI change and it would be a costly change in terms of changing all the documentation and possibly breaking people's code later when the method is completely removed but maybe it's worth it that's that's it the other idea I just had is we could make show do refresh right? it still doesn't doesn't help with this thing where people expect it to I've seen people create a new group every frame and populate it with the things they want to display because that's how we would do with canvas in JavaScript for instance I'm not sure that that would actually right I would really don't want to change what function does like it would still have to assign the root group apart from doing show I think this is interesting have you opened an issue for this yes of course okay great sorry I'm not caught up on the issues I think it's a good idea yeah I think if setting the property is equivalent to calling the function we've always kind of favored setting a property just as the way we do things in circuit python although I initially was misunderstanding what it was because I was confusing show and update I think that illustrates actually that doing this change might be a good insight so yes please do file that bug so we can discuss it more at length but I think it kind of makes sense at least what to propose people right anyway so yeah thank you and then our other item is from Moto Timmo so please take it away and let us know what's on your mind yeah so these are the communities that I do for my day job and a lot of my hobby work as well so I just wanted to invite folks that's going to be remote or a virtual November 29th to the 1st of December that's like $40 I believe and you know this is the higher end application processors so it's regular embedded Linux but we also do Zephyr and FreeR costs and things like that and then Boston is coming up in February and that's in Brussels always in Brussels and I'm on the open embedded board and so we have an open embedded workshop the day after FOSTA and we're really looking for other interesting topics for the workshop and I think folks would really be interested in hearing about Cricut Python and MicroPython and things like that all of our tool teams are all based on Python anyway so BitBake and other tools that we have are all Python based so I think it's a good opportunity for folks in the community to cross-pollinate and that's it all right thank you David asks is the open embedded workshop also in Brussels yes it's really close to the same university it's around the corner all right so people should look for a call for proposals soon for open embedded is that yeah I put the link there it's just not live yet so it will go up I mean I can see it because I'm you know on the board but it's not live yet so cool do paste those links into the channel you may have to do a little pause between them for the link cool down but just to give more people access to that we really appreciate the invitation and I hope somebody in our community can take you up on it yeah it would be great all right well now it's time to wrap up the meeting it's been really nice spending some time with you all and I just need to get back to my notes for how I wrap up this has been the circuit python weekly for Monday November 14 2022 thank you to everyone who participated especially those of you who we haven't seen in a while it's nice to catch up if you want to support Adafruit and circuit python and those of us that work on circuit python consider purchasing from the Adafruit shop at adafruit.com the video of this meeting will be going up on youtube at youtube.com slash Adafruit and from there we will release the podcast on major podcast services it will also be featured in the python for micro controllers newsletter visit adafruitdaily.com to subscribe the next meeting will be held on Monday as usual at 2 p.m. eastern 11 a.m. pacific that's November 21st the meeting is held on the Adafruit discord which you can join anytime by going to adafruit.it slash discord to be notified about the meeting and any changes to the time or day you can ask to be added to the circuit python easter's roll on discord and that's basically it we hope to see you all next week thanks everybody and have a great week thanks everyone