 Hello, everyone. This is the Circuit Python Weekly for Monday, July 24th, 2023. This is the time of the week where we get together to talk about all things Circuit Python. I'm Liz, and I'm sponsored by Adafruit to work on Circuit Python and some other things. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit, so if you want to support Adafruit and Circuit Python, consider purchasing hardware from Adafruit.com. This meeting is held on the Adafruit Discord server. You can join anytime by going to adafruit.it-discord. We hold the meeting in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. This meeting typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with a U.S. holiday. In the Note Stock, there's a link to a calendar you can view online or add to your favorite calendar app. We also send notifications about upcoming meetings via Discord. If you would like to receive these notifications, ask us to add you to the Circuit Python ESA's Discord role. There's a notes document to accomplish the meeting and recording. The final notes document includes timestamps to go along with the video, so you can use the doc to skip around and view the parts of the video that interest you most. The meeting tends to run 45 to 60 minutes. After each meeting, we post a link for the next meeting's notes document to the Circuit Python Dev Channel on the Adafruit Discord. Check the PIN messages to find the latest note stock so you can add your notes for the following meeting. If you wish to participate but cannot attend, you can leave hug reports and status updates in the document for us to read during the meeting. This meeting is held in five parts. The first is community news. This will look at all things Circuit Python and Python on hardware in the community. It's a chosen set of items from our Python on Microcontrollers newsletter. The second part is the state of Circuit Python, Libraries and Bolinka. This is the quantitative overview of the entire project. It's a chance to look at the project by numbers separate from our status updates. 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. Fourth part is status updates. Status updates is an opportunity to report 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. And the fifth part is in the weeds. In the weeds is an opportunity for more long form discussions. These discussions can come up out of status updates or be something you've identified ahead of time as too long for status updates. And that covers how the meeting will go. And with that, we will get started on community news. So, we had a newsletter go out today, actually. Silicon Labs introduces support for Circuit Python. Silicon Labs is supporting Circuit Python on their XG24 boards. And this exciting development expands the capabilities of the XG24 Explorer Kit, XG24 Dev Kit, and Spark Fun Thing Plus Matter MGM-240P, allowing users to leverage the power of Circuit Python's simplicity and flexibility while harnessing the advanced features of SI Lab boards. Another piece of news, Circuit Python hack chat with Adafruit. That is happening Wednesday. Hackaday is hosting a Circuit Python happenings hack chat with Scott, PT, and Lady Aida from Adafruit on Wednesday, July 26 at 3 p.m. Eastern, 12 p.m. Pacific. And then the project of the week was a Circuit Python-powered typewriter. Max Lupo created a custom PCB that connects to a KB2040, running Circuit Python to control a Swintech 1146 typewriter. Circuit Python code on the KB2040 blips out a sequence of binary data into the typewriter's parallel port one character at a time. When the typewriter receives a new line, it tells the code it's busy and taps out. It's text buffer. I thought it was very cool. I saw it go by on Macedon and the code is all on GitHub. So this and more is available in our weekly Python for Microcontrollers newsletter, which goes out via email on Tuesday mornings, but today it went out at 11 a.m. So it's already available. You can visit AdafruitDaily.com to subscribe to the newsletter. Thanks to Ann for putting the newsletter together, and for the past three weeks, thanks to Catney and Paul Cutler. If you have any Python on hardware projects to share or find content you'd like to see included, please consider contributing to the newsletter. You can open a PR on GitHub, tag AnnEngineer on Twitter with hashtag CircuitPython, also works on Macedon, or email cpnews at Adafruit.com with a link. And that was the community news. Next up, State of Circuit Python, Libraries, and Blinka. Overall, there were... I'm so sorry, I will go back. This is a quantitative overview of the entire project. It gives us a chance to look at the health of the project separate from our status updates. So we'll talk about the project overall, then separately discuss the core, libraries, and Blinka. And first up, overall, there were 20 pull requests merged from 18 authors, and DaBing, Scott, AnikData, Fomiguy, Catney, Jepler, KB, Shririum, Hexthat, BiffoBear, FastEddy516, KolkMVD, Michael, Pakusa, DJDevon3, Santis, Eva Harada, Kyriad, UnexpectedMaker, and Weblate. Apologies if I pronounced your username incorrectly. There were also six reviewers, AnikData, Scott, Jepler, Dan Halbert, Fomiguy, and Brent. And 15 closed issues by seven people, and four opened by three people. And next, we will go to the core, and that will be read by Scott if he is available. Okay, so numbers for the core. We had 12 pull requests merged from 12 different authors, so thank you to those folks. Andy Bing is a new name here, KolkMVD is also new. Santis is new. Kyriad is new, and KB Shririum is new for the core. So thank you to those folks. We had three reviewers, myself, Jeff and Dan. We have 45 open pull requests at the time these stats are done, but this number has gone down a lot, actually, because most of these new ones are backports. So thank you to Dan for those. So that number is temporary one, and we're already back down. We had five closed issues by three people, and zero open for zero people, which is surprising. For a total of 675 open issues, we use Milestones to track our triaging of it, and then prioritization for fruit-funded folks. There are 17 open issues for A2X, and 45 open for 9.0. Those are kind of like the latest two or the top two Milestones for us. Generally, we're trying to pin it to 9.0 as well. So that is a brief overview of the stats for the core. Excellent. Thanks so much, Scott. And next we'll hear from Katny for the libraries. Thanks, Liz. This section applies to all of the Circuit Python libraries, everything that starts with 804 underscore, Circuit Python underscore, as well as everything in our community bundle. Across all of those libraries, we had eight pull requests merged from seven authors and four reviewers. A number of those merged, well, actually all but one of those merged pull requests was over 20 days, one of them was 240 days. So I'm really glad to see that we're getting through the older PRs. And that leaves us with 55 open pull requests, which is starting to get trend down a little bit, and that's excellent. We had nine closed issues by five people and four open by three people, leaving us with 631 open issues. 46 of those are labeled good first issue. If you are interested in contributing to Circuit Python on the Python side of things, check out circuitpython.org slash contributing. It has all of this information and more including a list of the open pull requests and a list of the open issues. You can take a look at those, see if anything interests you. If you're new to contributing to open source in general, you can check out a guide we have called Contribute to Circuit Python using Git and GitHub. In fact, it was recently updated, so it now matches the new GitHub UI and no longer refers to our old testing tools. And we're always available on Discord to help out. In terms of library PyPI download stats, for this week, we had 114,193 PyPI downloads, over 311 libraries, and the top 10 libraries are listed in the notes if you're interested. Library updates in the last seven days, we had three updated libraries and no new libraries. And that's where we are for the libraries. Excellent. Thank you, Katny, and thank you for updating that guide. Next, we're going to hear from Melissa for Blinka. Hello. Find the right tab and everything here. Okay, so Blinka is our Circuit Python compatibility layer for MicroPython, RaspberryPy, and other single board computers. And this week, we had no pull request merge. There are currently six open pull requests amongst other repositories. There's one closed issue by one person and zero open by zero people, leaving a net of 99 open issues. There were 12,148 PyPI downloads in last week, 8,657 PyPi downloads in the last month, and we are at 119 ports. And that's it. Excellent. Thanks, Melissa. And that is the state of Circuit Python, the libraries, and Blinka. Next up is HuggerPorts. HuggerPorts is a chance to highlight folks in the Circuit Python community and beyond for doing awesome things. I'll start and then we'll go down the list alphabetically to give everyone a chance to participate. If you are text only or are missing the meeting, I'll read your notes when I get to them in the list. So I will start, I will kick things off with a group hug, and then we'll hear from Dan. Okay. I was waiting for you to do a group hug, but you did. I also give a group hug, especially to people in Discord who are helping other people. We really appreciate that. Okay. Excellent. Thank you. And next we'll hear from Deshi Poo. Okay. So thanks to Gaweng for coming to the sprints on your Python and working on the Python issues. And a group hug. Great. Thank you. And next we'll hear from DJ Devin. I'm going to have a hug to Jay Pisada and Stefan Krueger for their work on the Display.io page layout and Cartesian plotting library examples. Those have been of great help to me. And just having the libraries at your disposal is just amazing to hit the ground running. So thank you to you guys for that. A hug to Foamy Guy for a great episode on the new S3 Matrix Portal. He ran into some issues because I also have an S3 Matrix Portal on the way. So seeing how he dealt with the initial issues, which is so new that it's like some of the stuff isn't even in the download section yet. And I'm guessing that's what all the back porting stuff that I'm seeing happening is all about. So thank you to Foamy Guy. That was awesome. Awesome episode. Great. Thank you. And speaking of Foamy Guy, next up is Foamy Guy. Right. Thanks, Liz. Hug reports for me this week to Katni and Paul for running the newsletter for the last couple of weeks. You all have done a great job. To the user on GitHub, Gal Wang for completing an older kind of nice to have feature in Display.io, which was a way to check the bit depth on a bitmap object. Being that to have that exposed into the Python code is really nice. So thanks to them and a group hug for everybody. Thanks. Great. Thank you. And next we'll hear from Katni. Hello. So first up, a hug for Dan for doing a quick guide review on the get and get hub guide. I redid a number of pages and added a new one and Dan took a look at those for me. And for the final proof on my final newsletter for this run to Paul for all of his work on the newsletter in the last three weeks. His help has been invaluable and I'm deeply appreciative. Paul did most of the work. I did the publishing. But Paul did a lot of the work on getting the content and getting everything good to go before it was published. And it has been an amazing experience. Hug report to Todd Bot for a lengthy discussion about synth basics. Welcome back to Anne and a group hug. Great. Thank you. And next we'll hear from Melissa. So I wanted to give a hug to Katni for handling the newsletter. To Tectric for responding to some of the Blink related issues and PRs. To Paint Your Dragon for looking over the Matrix Portal S3 guide and group hug to everyone else. Great. Thank you, Melissa. And actually hug report to you as well for writing the Matrix Portal S3 guide. Looking forward to it. Thanks. And next we'll hear from Scott. Hello. First a hug to Mewbs, Zip and Dragonmux from the One Bit Square Discord for helping me get in going with the Orb Trace Mini as my debugger. This is a more open replacement for J-Link sort of thing. This also includes Trace support, which should be really cool. Thanks to Tect for helping bug hunting for USB host. Thank you to the JLC PCB folks for helping me fix a couple of footprints. I did a Metro M7 Trace remix of the board and the conversion from Eagle to KeyCad messed up the slots in some of the footprints and they found the issue for me and fixed it. So thank you to the JLC PCB folks. And then last a hug to Dan for back porting stuff to 8.2X for the 8.2.1 release. Great. Thank you. And next is ToddBot, who is text-only, so I'll read. All of CircuitPython folks for such a fun tool. I had lots of fun this weekend in CircuitPython and I did see some of the things ToddBot was posting on socials, so definitely check it out. And then a hug report to Jepler for Synthio Envelope Info updates, which is something I want to check out too. And that was Hug Reports. Next up is Status Updates. Status Updates is our time to tell folks what we're up to individually. I will start and we'll go through the list alphabetically. When I call on you, take a couple minutes, talk about what you've been doing since the last meeting, and what you'll be doing until the next meeting. This is also an opportunity to provide tips and tricks relevant to what people are working on. If a discussion becomes too long for status updates, we can move it to in the weeds. And with that, I will get started. So this past week, I was working on a 4x4 rotary encoder MIDI controller using async.io guide as impending. It was my first time using async.io and it felt at times like my brain was being turned inside out. But with some trial and error and Dan's Learn Guide that he wrote that I've linked in the docs if you want to check it out, I was able to finally get it and I look forward to using it more on complicated and control interface projects going forward. So if you haven't tried async.io and you do kind of more layered, intense projects, definitely consider it. There's a little bit of a learning curve, but then you do get there, I promise. And next is Dan. Okay, thanks. So I'm still doing this MicroPathline V1.19.1 merge. So I had done all the merge comparisons like the conflicts. And I still didn't feel kind of too good about that. So I'm going through and I'm looking at all the changes again, which is actually really helpful because now I have the context of having gone through it once. So that's actually very helpful and I'm actually making some changes in there, which will save a lot of time when I actually try to start building it. And as Scott mentioned, I filed a zillion PRs to backport changes to 8.2.x, so we can have any .2.1 release. That release is the Matrix Portal S3, which just came out, needs some stuff that's not in A2O. There was a hardware change and so that's in there. And by the way, also the guide for the Matrix Portal S3 is being published momentarily if it hasn't been published in the last 15 minutes or so. So those of you who just got Matrix Portal S3s, look for the guide now. Okay. All right, thank you. And next we'll hear from Deshipu. Okay, so I went to the EuroPython conference in Prague last week and I had a talk there about my robots that involve Circuit Python. So I, of course, mentioned Circuit Python there as well. And afterwards at the end of the conference there were sprints as usual and we had people interested in sprinting for Circuit Python. Only one of them actually made patches. That's the going person. However, yeah, I have a topic in the way to discuss this a little bit in detail. That's it. Excellent. Thank you. Always enjoy seeing your robot projects. Next we'll hear from DJ Devin. I continued working on a personal project using Fitbit's API and Cartesian plotting, which plots the last 15 minutes of heart rate data on a 3.5 inch TFT feather wing display. The y-axis automatically scales with the lowest and highest values, unlike a regular Cartesian display, which you give it a set value of zero to, like, whatever. This one automatically scales. So that was a pretty nice feature. And I added the graphing example for the Fitbit API to my personal repo along with a walkthrough of their lengthy OAuth tutorial process. So if you have a Fitbit and you want to, you know, use the API, I recommend checking out my guide because the tutorial is lengthy and it's not an automated process. A much simpler version will be submitted to the 80 Fruit Request Library without the graphing and all the fancy stuff. A Fitbit watch, developer app and API token are required to use it and I'm still working on a better way to automate the refresh token process. All right. Thank you. And I'm sure that'll be really helpful for folks. Next we'll hear from Fomi Guy. All right. For last week I was learning which data goes into and how to get it formatted in order to submit the requests for Oshawa certification for hardware devices. I also did some testing and reviews for PRs, mostly in requests and Wisnet 5K libraries. But I think there were a few other besides those as well. Over the weekend I started setting up the Matrix Portal S3 that I just got I think on Friday or something like that in the mail. And it took a little bit to discover that it needed the newest version and it sounds like there's new release in the works for that. But once I did get it up and running the main thing I was working on with it so far is helper functions to be able to scroll like multiple things across the screen. There are some helper functions for text and those can be adapted pretty easily I think for images or maybe there are some for images but I wanted to be able to just load up a group with different labels and different images, icons in between and then scroll it all the way across. So I have some code now that will ultimately help do that easier without having to do as much math yourself manually. This week I've been submitting a couple updates that are related to the change in Bitmap Tools inside the core to move the Blit function over into there. There's was like I think four or five different examples and learn guide codes so I've been submitting those changes this morning and then the other thing I have in mind so far that's kind of tied to that is I have the outline to label class that is working but does need to be cleaned up a bit and I'm hoping to submit that this week which also relies on that underlying change that was merged into the core recently. So that's what I have got going on. Thanks. Thank you. I'm looking forward to trying out that outline to label once it's in. Next we'll hear from Katny. Hello. So previously which is to say both class weekend this morning Final newsletter went out. Shift this morning. Over the last week I've been working on guide feedback. When you click the feedback corrections button in the lower left in a guide and you leave us a note it goes into a system where we then can go through and handle the feedback. So I have been going through the feedback on the guides that I have authored. One of the guides that had a couple bits of feedback was the Contribute to Circuit Python using Get in GitHub guide. I've wanted to fix this for quite a while. GitHub updated their user interface some time ago. I don't know exactly when but quite a while ago and it changed just enough that what I had which was the previous version was potentially confusing. And it also still referred to our previous code check setup which used Travis for continuous integration testing. And as well it suggested that you use HTTPS for cloning which meant authenticating via command line and you can't use your username and password anymore. You have to use a personal access token and there was feedback about that that the person had struggled to figure out how to get and then use the personal access token to authenticate so there's now a page on how to obtain and then use your personal access token to authenticate. It links to the GitHub documentation because obviously I can't cover everything there is to know about personal access tokens but it does at least give you the general initial steps. So if you were struggling with that you can take a look at that page as well. The three pages that are completely redone are the create a pull request, open your pull request and receive a review pages as those are the ones that primarily use the GitHub interface. It also shows how to submit changes using the GitHub interface when there is a change request. So if you've never tried that before and it's something you're interested in doing you can also check that update out as well. This week I have been sent via email a number of miscellaneous things that need to be taken care of so I'm going to be doing those first and then after that either I will be continuing on the guide feedback that I have left or some other MISC it's a mystery so MISC first and then question mark and that's what I've got. Great, thank you Katni and next we'll hear from Melissa. Hello, so I was gone last week I was at OpenSauce kind of recovered from that. Anyway so this is for two weeks. I updated the Matrix Portal S3 pen definitions I figured out the TSC 2046 config settings for Raspberry Pi to use the kernel drivers I wrote the Matrix Portal S3 guide and I worked on adding my first circuit Python board from scratch which was the Arduino NAN obvious P32 this week I'm going to finish adding that it's just about done and then I'm going to start working on another new board definition possibly starting a new learn guide and then like I said I added a dump in sauce and I tried out some welding for the first time after I got back Great, thank you and I enjoyed seeing your welding on show and tell last week. Thanks. Next we'll hear from Scott. Hello most of what I've been doing is USB host in particular I'm writing I think what's going to turn into a library for mass storage devices so USB drives I've been finding some bugs along the way though so I'm trying to fix those as I find them I also have some tiny USB updating to do around the way that we do attach and detach so I'm going to have to take a look at that this week as well in things that got distracted doing department I purchased an org trace mini which is an open I don't know if the board is actually open source but the software is all open source and it's an FPGA that does acts like a J-link but can also do trace which is cool so I'm using that and switching that trying to switch to that as my daily driver for debugging because trace can be really cool for keeping track of what just happened when crashes happen in order to support that I also mixed the Metro M7 to include a trace which is a 2x10 connector instead of the SWD connector and that will give me a Metro platform to do full tracing on which will be cool and then last up I have a bit of a scattered next few days I have taken one cat to the vet tomorrow morning chat on Wednesday and then the Karma mechanic on Thursday and then some more those days as well Thank you Scott and good luck with all the personal things and USB host Next is Todd Bot who is text only is playing with wavetable synthesis in synthio and it works he did post up a demo I saw that was using some wavetables from mutable instruments which sounded really cool and if you know what that means that means you're also a Eurorack nerd like me and that is very exciting but that was status updates and in the weeds is an opportunity for long form discussions that either come of status updates or the folks have identified ahead of time if you have any in the weeds topics please make sure they get added while we're discussing other things so we're not waiting around to see if anyone has topics however today does look like we have some topics first off we will hear from Deshipu Okay so I mentioned there was a Euro-Python conference and we had a sprint so I will read a circuit python sprint for those people who are interested but I didn't really prefer for a sprint in before because I assumed we should speak some easy to use is a good fix issue issues from there and just work on those and turns out when we got to that seems like most of the good first issues right now were created during October 1st and they seem like they were created by the people who intended to work on them so the description is not great because they already knew what they wanted to do and they never finished them because it turns out something that there was a discussion about whether it's really an issue that should be fixed, whether it should be fixed in that place or somewhere else whether there is some other better fix variable somewhere so most of those good first issues right now in the but for libraries and the core should be abandoned issue that are really hiring not clear what should be done with them and that seems to be pretty discouraging to people who try to find an issue to work on so I don't know maybe we could review them and close them to be done for them or maybe there is some other thing we could do and I don't really have a solution, I'm just pointing out a potential problem so I agree first of all I want to point out that DJ Devin says he agrees as well, as a beginner the type annotations were labeled as good first issue, but I really struggled with it during Hacktoberfest, you must have previous Python experience to really tackle those that is also valid, a huge number of them were relatively straightforward and simple and the plan was that we were available during that time to help the problem is that most of the straightforward ones have been done and the ones that are left which we labeled all of those type annotation issues as good first issue all the ones that are left are the difficult ones so part of there were a lot of issues that were created during Hacktoberfest and were labeled good first issue I guess I was more unaware of the vague ones that were created by different people I was more aware of the ones that were the type annotation ones that we created but it's good that that's been brought to my attention and this is regarding the libraries obviously I can't speak to the core but part of it is we just don't have the cycles to curate a good set of good first issues I think I think it should be at least at some point in the next month or so a priority to go through what's currently labeled good first issue and at least clear out the ones that are definitely not but that means that doesn't mean that we're going to be able to go through all 600 or however many issues I said earlier and figure out which ones are legitimately good first issues I think I could at least go through the ones that have some discussion in them and try to clarify what's the outcome of that discussion so at least the last message in them is stating clearly what needs to be done and if we don't know then we could expose them the ones it's not that many of them because I completely skipped the types type annotation ones because that's as the one noticed that requires vital knowledge and what to do those and then it's not that many mostly issues that either require to have a specific hardware we also skipped for other reasons or that have some discussion that never concluded I could maybe at least resurrect those discussions that we can either close those issues or clarify at the end what needs to be done in them that would be amazing I'm completely on board with that if you have any questions or concerns please tag me while you're doing it I have no problem helping out so that would be excellent I'm going to have somebody probably Tim remove the good, yes exactly Tim says there are still a few that have a limited number of types required but it would definitely be good to remove the first issue tag from any of the ones that are more gnarly that's referring to the type annotation issues so we don't even need to finish those discussions we could leave the issue in there and just remove the label from it yes that is another excellent option so my thought is it's hard when we can't we can't curate things very well if anybody sees an issue that is an actual good first issue hey there's a typo here there's something like that let's see to it that the label gets added to it but most of the time those are filed and fixed so it's a little bit difficult especially with the fact that a lot of things require hardware for us to necessarily legitimately label them good first issue and expect that the community at large is able to handle those I know a solution is obviously that somebody can apply the fix and someone with the hardware can test it but that ends up with very prolonged processes where one person is blocked on another and vice versa so I think it's something to think about and try to come up with a better solution than we have had but right now that would be great to shape it if you could go through things and then Tim if you can do the same we can at least eliminate the ones that we know right now are not good first issues so that we don't discourage folks even if it means we don't end up with very many good first issues left at least we're not creating a situation where it's a negative experience for anybody so that's my thought on that I don't know if you have any other questions or thoughts on that to Shibu I think that covers it excellent well thank you for bringing it up it's something that when I did the sprints at PyCon I reigned into the same thing and it was frustrating but obviously at the time the sprints were very populated and I didn't have time to actually sit down and think about the fact that we need to fix it so I really appreciate you bringing this up so that we can take another look at it when we're not all under pressure so thank you and I think we're good on that alright thanks folks next in the weeds issue is from FOMI guy yep I think this probably will be quick I heard earlier about the 821 release which I think is probably solving this exact thing so but what I had noticed over the weekend was the matrix portal S3 downloads page it has 820 as its download but that one at least for the matrix I have had some weird kind of duplication type artifacting or just was not putting the pixels in exactly the right spot and the newer one does so I was going to ask if it's possible to suppress that top right panel but truthfully if the next release is already kind of in the planning stage or in the works then it probably does not make nearly as much sense unless it's a super easy on off switch somewhere so yeah I don't know if I'm going to do a release like I hope tonight or tomorrow morning okay yeah I think that's I don't know if one of the guys just went live will put I'll look to see what version is referenced in the guide and put in a temporary warning box nice right now so yeah cool that's good that is all ahead on that front thanks alright thank you and the next is from Todd Botte I know he is was not present but I will read it ESP32 Synthio voices from default 2 to 12 he opened a PR to increase ESP32 Synthio voices from default 2 to 12 and he's wondering is this an issue it's not critical if it is but ESP32 S2 S3 has a bit more CPU headroom than RP2040 and it would be great for synth stuff I also know that Jeff is out who has primarily worked on Synthio so I'm not sure if anyone else from that does core things would want to comment or if it should be maybe move to next week I think we want it okay yeah I want Todd Botte to test it on other ESP32s so we were talking about getting it 821 should be simple yeah cool and then it looks like someone just added an RF52840 Nina not updating to 1.75 I'm not sure who added it DJ Devin hello would you like to discuss that DJ Devin I was on mute okay I ran into an issue last night in the help form help channel where the NRF52840 co-processor on the Metro M4 was not updating to 1.75 the Nina firmware correctly they were running into some issues and they had to roll back to 1.74 I have no idea if this is related to back porting or if it's just its own individual issue and also the bullet saying I could not get the line up correctly it's okay we'll fix it first thank you if anyone has any ideas on why that might happen I have no idea I told them to file a bug report but with the back porting stuff happening and it's related to ESP 32 spy library which I know has had a lot of work done I have no idea if it's related to that either okay so just leave it as a bug report I guess I don't know I would say yeah bug report sounds good unless someone has other things but I don't have any knowledge of that to contribute yeah it doesn't sound like anyone wants to chime in with anything though okay I just wanted to make people aware that someone tried to update Nina to 1.75 and it just completely failed last night okay well thank you and thank you for the bug report as well it's much appreciated alright so I think that's going to wrap up the in the weeds topics healthy discussion today so that also ends the meeting this has been the circuit python weekly for July 24th 2023 thank you everyone who participated 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 video this meeting will be released on youtube at youtube.com adafruit and the podcast will be available on major podcast services they'll also be featured in the python for microcontrollers newsletter visit adafruitdaily.com to subscribe the next meeting will be held next Monday as usual at 2pm eastern 11am pacific this meeting is held on the adafruit discord which you can join by going to adafruit.it to be notified about the meeting and any changes to the time or day you can ask to be added to the circuit python nisa's role on discord we hope to see you all next week thank you everyone