 Hello everyone and welcome to the Circuit Python Weekly for, wait for it, January 3rd, 2022 is the first meeting for 2022. This is the time of the week when we get together to talk about all things Circuit Python. I'm Katny and I'm sponsored by Adafruit to work on Circuit Python. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit, so if you want to support them and Circuit Python, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join any time by going to adafru.it-slash-discord. We hold the meeting in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. This meeting typically happens Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with the U.S. Holiday. In the notes document, there is a link to a calendar that you can view online or add to your favorite calendar app, we also send notifications to our about upcoming meetings via Discord. If you would like to receive these notifications, ask us to add you to the Circuit Pythonistas Discord role. There is a notes doc to accompany the meeting and recording. The notes document contains time stamps to go along with the video so that you can use the doc to skip to the parts that interest you most. This meeting tends to run 60 to 90 minutes, so this gives you the option to skip around. After each meeting, we post a link to the next meeting's document in the Circuit Python Dev Channel on Adafruit Discord. Check the pin messages to find the latest notes doc 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 that document for us to read during the meeting. This meeting is held in five parts. The first part is community news, which is a look at all things Circuit Python and Python on hardware in the community. It is a preview of our Python for Microcontrollers newsletter. The second part is the state of Circuit Python, the libraries and Blinka. This is a statistical overview of the entire project. It is a chance to look at the project by the numbers separate from what we're all up to. The third part is hug reports. Hug reports is an opportunity to highlight the good things folks are up to and taking the time to recognize the awesome folks in our community. The fourth part is status updates. This is an opportunity to sync up on what we've been up to. Take a couple minutes to talk about what you've been doing in the last week since the last meeting and what you'll be doing over the next week. The fifth part is in the weeds. In the weeds is an opportunity for more long form discussions. These discussions can come out of status updates or be something you've identified ahead of time is too long for status updates. And that is how the meeting will go. So with that, I will get started with community news. So first up, Circuit Python 7.1.0 final and 7.2.0 alpha one have been released. 7.1.0 is the latest minor revision of Circuit Python was just released. You can check out the details of what has been added since the last one at the blog link in the notes and also on Discord. And 7.2.0 alpha one has also been released. It is the latest unstable version, but it is very stable. And again, check out the details in the blog or the releases on GitHub. There was a lot of changes, a lot of boards added that sort of thing too much for me to read off in this section, but check them out in their blog posts. Next up, we want to hear from you about Circuit Python in 2022. Let's take some time to share our goals for Circuit Python in 2022, just like the past years and the full summaries are available. We'd like everyone in the Circuit Python community to contribute by posting their thoughts to some public place on the Internet. A few ways to post are a video on YouTube, a post to the Circuit Python forum, a blog post on your own site, a series of tweets, or a just on GitHub. We want to hear from you. In the post, please add hashtag Circuit Python 2022 and email CircuitPython2022 at Adafruit.com to let us know about your post so we can blog it up on the Adafruit blog. The post can cover any topic related to Circuit Python. See more at Adafruit.com slash Circuit Python 2022. There is a work in progress floppy disk interfacing with microcontrollers. Adafruit has been working on using low-cost microcontrollers to integrate with floppy disk drives. There is an active interest from the Archival Maker and Retro Computer communities in working with floppy disks. Lots of folks want to get possibly valuable data off of old disks. Lady Aida has now developed Arduino code for the inexpensive Raspberry Pi Pico to work with 3.5-inch drives with additional work on the way. Adafruit Floppy is a project to make a flexible, full-stack, open-source, hardware, software device for reading, archiving, accessing, and duplicating floppy disk media. Next up we have a project from a community member coding the Fibonacci Micro 64 board with Circuit Python. John Gallagher posts a video on programming Evil Genius Labs Fibonacci Micro 64 LED board using Circuit Python. There is a YouTube video and code on GitHub. As well, Jason Kuhn has coded a simple demonstration reel for the Fibonacci Micro 64 using Circuit Python. Quote, it runs really well on the QtPi RP2040, much slower on the SAMD21, and requires Adafruit Pi Pixel buff on the SAMD21. It uses a palette blending the fancy LED library, and there's an info on that on Twitter and GitHub. Next up, making a RISC-5 chip to run Circuit Python. The ultimate goal of the Pi-5 project is to create a RISC-5-based microcontroller with the ability to easily support Circuit Python. They've received some early silicon in the last week, and there's a Twitter thread on that. The Circuit Python online IDE has had some updates. The third-party Circuit Python online integrated development environment has received enough changes updates for the developer to post a new introduction video. On YouTube, you can see and use the development environment, and the GitHub repo is also available. The IDE supports Chrome or Chromium-based browsers, such as Microsoft Edge. General editor shortcuts are available in a document in the notes. And finally, in PCB creation news, KeyCAD 6.0.0 is out. It is the open-source electronic design automation package. Created in 1992, it has hit a major milestone. The launch of 6.0.0 30 years after the software's first release. The new release is available on their website with downloads and a range of operating systems, including Linux, macOS, and Windows now available. The source code is published to GitLab, and there is an article on hackster.io. This has been a preview of the Circuit Python on hardware Python for microcontrollers newsletter. The complete archives are available at adafruitdaily.com slash category slash Circuit Python. It highlights the latest Python on hardware related news, including Circuit Python, Python, and MicroPython developments. To contribute your own news or project, you can edit next week's draft on GitHub. You can submit a pull request, or you can tag a tweet with hashtag Circuit Python on Twitter, or email your information to cpnews at adafruit.com. And as always, thank you to Ann for all of the work she puts into putting together this newsletter for us, and that is community news. Next up is the state of Circuit Python, the libraries, and Blinka. This is a chance for us to talk about the entire project by the numbers. It gives us an idea of the health of the project, and what we'll do first is talk about the project overall, which includes everything, and then we will talk about the core, the libraries, and Blinka each separately to give some more details there. So overall, we had 34 pull requests merged by 23 different authors and a few new names that I've not seen before are Retired Wizard, Unwired Ben, Danny Staple, and Zero Hot Pop Man Zero. And there were 10 reviewers, which I also there's a couple names I don't recognize in there, which is excellent. Dave Putz I don't typically see in Danny Staple. I definitely haven't seen as a reviewer, so thank you to everybody involved. We had 22 closed issues by 13 people and 21 open by 19 people across the whole thing. So we're down one, which is good to see. And with that, I guess I'll turn it over to Jeff to talk about the course and Scott is absent. All right, happy to do that for you, Catney. So in the core, we had 18 pull requests merged from 13 authors and a couple of those that Catney mentioned are on this list. We've got Hot Pot Man, Retired Wizard, and Danny Staple. So thanks for those contributions. And we had seven reviewers. So thank you for that. In terms of open pull requests, we've got 13 that are awaiting some kind of activity. One of them has been open 121 days and then one of them was just opened on within the last 24 hours, I guess. So if you feel like you're waiting for us, please give us a ping and we'll figure out how to move your pull requests forward. Issues wise, we closed nine issues and open seven. So slight downward trend there, which is always good. Our number of issues that is open stands at 465. Most of those are long term issues, which are issues or feature proposals that are totally valid but not currently prioritized at Adafruit. So instead we look at our open issues by Milestone. 710 reached zero open issues and that is part of why we released 710 this past week. 720 has four issues and 7xx has 15 open issues. So those are primarily bugs that we like to be resolved in a bug fix release. And then finally for version eight, we have 10 open issues and we have five that are not assigned to Milestone. And that's mostly because we depend on Scott to do the bulk of the categorizing and he is on vacation. So I have to extemporize as to the narrative summary, but 7101 out and we feel like it is a really good release. It adds exciting stuff like async IO and the first alpha of 720 is out and it also has a bunch of new stuff. One that I'm keeping my eye on is the upgrade of the ESP IDF that added support for the ESP32S3 chips, which they seem to work. I haven't worked with them much, but that's an area where we could particularly use people's feedback. And yeah, I think that about reps it up for the core. Great. Thank you very much. So next up, I will talk about the libraries. The 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 couple extras such as the bundle and the community bundle and our cookie cutter. Over all these repos we had 16 pull requests merged by 12 authors and eight reviewers, leaving us with 36 open pull requests. The oldest merged pull request was 465 days old. I'm very excited to see that we're still getting through the older PRs that we were talking about in the last couple weeks. We have 13 issues closed by eight people and 10 opened by 10 people, leaving us with 636 open issues. 241 of those are good first issues. If you're interested in contributing to Circuit Python on the Python side of things, check out circuitpython.org slash contributing. You'll find all of this information and more. You can search the open issues. Good first issue is a great place to start if you're new to everything, bug or enhancement. If you're looking for something a little more complicated and make a comment, let us know you're working on it. And we are always available to help you get settled into using Git and GitHub. We have written a guide on how to contribute to Circuit Python using Git and GitHub. And we're also always available on Discord. You can also contribute by reviewing. Check out the open pull requests. You can take a look at syntax, et cetera. If you have the hardware, give it a test. If you don't, just leave a comment and let us know you looked at the code. That always helps. And once you're a little more comfortable with that, we can talk about promoting you to joining the review team. In terms of library updates in the last seven days, there was a fairly lengthy list of updated libraries. So instead I've included the link to the Circuit Python library report on AWS instead of blocking up most of the notes with a whole bunch of updated libraries. But there was a pretty significant number and there's no new libraries. So with that, I will turn it over to Melissa to talk about Blinka. Hello, Blinka is our Circuit Python compatibility layer for MicroPython Raspberry Pi and other single board computers. And this week we had zero pull requests merged, probably because I've been out on vacation. There are currently six open pull requests and there were zero closed issues by zero people. But there are four open by three people that leaves 72 open issues currently. There were 13,607 pie wheels downloads in the last month. And we currently are supporting 85 boards. So just overall there hasn't been a whole lot of activity. There was a few new issues open by a few people and that's about it. All right. Thank you very much. That is the state of Circuit Python, the libraries and Blinka. Next up is hug reports. Hug reports is a chance to call folks out for the great things that they're doing in the community and just to say any positive things that you would like to say to the rest of the community, obviously. This is held as a round robin where I will start and then I will go through the list alphabetically. If people have notes, I will read those off. Otherwise I will call on you when I get to you and you can read off your hug reports. So I will go ahead and get started. First up, thank you to everyone involved in getting 7.1.0 final. That means everyone from the core devs and Dan doing the release all the way to the folks using the pre-releases and letting us know whether or not it worked for them. Even if all you did was download it and use it with your project and not find an issue, you're still helping us out. So thank you very much for that. To FOMI guy for continuing to get through older and current library PRs. I'm always really excited, can't see the happy dance, but there is one. When we're getting through these really old PRs, it's just we didn't have the cycles to get caught up at any point. And some of them just need to be closed, some of them need to be merged, etc. But somebody has to actually take the time to do it. And FOMI guy has been doing that to Jeff for making some excellent suggestions regarding the boilerplate for this meeting and to make it more concise and to the point. Thank you to my moderators on discord and throughout the community for making it possible for me to take personal time without needing to worry about taking care of the community. This is an unbelievably important thing for all of us involved in moderating and building this community to have built a team that makes it so that a number of us can step away at the same time and not worry about this is a huge thing. So thank you to all of the members of that team. And thank you to the community for being amazing and making us not have to do a whole lot of moderating. I'm looking forward to Circuit Python in 2022. Remember to let us know what you'd like to see, whether it's more of the same or suggestions for changes. It takes a community to develop Circuit Python and Happy New Year and a group hug to the entire community. Next I have some notes from Charles Burniford who says group hug and Happy New Years and thanks to FOMI guy for the live stream on Friday. I have some more notes from C Grover who says group hug and congratulations to the team and community for the release of 7.1.0 looking forward to all that 2022 will bring to the purple snake zone. Next up is Dan. I'd like to echo what Katty said about thanking everyone who was involved in the 7.1.0 final release. Thank you all who contributed. Thanks very much. And then thanks to everyone for we had a really good year for Circuit Python in 2021. There were many other things about the year that were terrible, but I'm looking forward to 2022 for Circuit Python. Okay. Thanks Dan. Next up I have some notes from David Glauda who says group hug for all the 2021 contributions to the core, libraries, documentation, translations and support. To Lady Aida for the great floppy disk video series and an ask can someone with the control on the Aida for YouTube channel ask the boss and do a playlist. We'll see what we can do. And to retired wizard for PyDOS and PyBasic on the PyZero 2W. And there's a video that says maybe for the newsletter. And next up is Foamy Guy. All right, thanks Kenny. This week hug reports for Dexter Starbird first who clued me in about the fact that there's actually two serial channels to connect to Circuit Python devices. I never knew there was a second one and that turned out to be incredibly helpful for a project I was working on. So thank you to Dexter and also to Dan who wrote the guide that shows how to use it. Thank you to Keith the EE who shared some commands I could use inside Minecraft to make it always daytime because I kept finding myself switching it from nighttime to daytime and they shared a way I can keep it permanently day. To Tetrick on GitHub this user has submitted tons and tons of typing PRs and as well has started working on some of the other open issues and older PRs that got hung up for whatever reason and they're kind of picking some of those up and running with them. So I really appreciate all the work that Tetrick is doing. Noah and Pedro who create I believe most of the CAD parts for Adafruit devices. I've found a couple of those very helpful for designing like 3d printed cases and things but they also turned out to be useful in some other stuff that I was working on this week so thank you to all of their work. Noah and Pedro and then Warrior of Wire which is the person who contributed vector IO to the core kind of a hey wouldn't this be cool if we had this ability that grew out of a stream I worked on a week or so ago. We mentioned that to them and they made that new feature for us like really really quick within a few days it was amazing. So really appreciate all of the work that they've put into vector IO and especially continuing to add things here and there when they come up and then a group hug for everybody else thanks. Thanks so much. Next up is Jeff. Hi, I have a hug for PT and Lady Adafruit dropping by the meeting. Last week it's nice to hear from them we know their time is super valuable and super over committed so it's just all the more special when they are able to stop by. And thanks Dan for doing the legwork to release 710. And then out of curiosity I tried to count the people who contributed to circuit Python in 2021. I ran a very simple script and the answer came back 260 different names, although some of them are duplicates. Still that's got to be 100 plus hugs to 100 plus contributors again counting just the core. And then a little extemporaneous bit again about the circuit Python in 2022. If you're listening to this and you're thinking that you just don't know enough to to contribute or to make a suggestion. You are someone we want to hear from. It might be that you have a project idea that is a unique project or you just see things in a different way. And so we really want to hear from you no matter what your experience level is and just get the widest range of ideas that we can so hug to you in advance for more stepping up and talking about what you want, even if it's a little uncomfortable. Thank you. Thanks Jeff. All right, next up is Jerry. Okay, there's only one push. Yeah, just a big group hug to everyone and happy new year. Thanks Jerry. Next up is Melissa. I wanted to give a hug report to Dan for keeping up with the circuitbython.org updates over the break. To find me guy for helping out with display stuff while I was going and for to discord for adding a suppress everyone and hear notification setting which has been very handy. And a group hug to everyone else. Alright, and to round that up I have some notes from Mark gambler who says group hug and happy new year to everyone. And that is hug reports. Next up is status updates. Status updates is an opportunity for us to sync up on what we've been up to since the last meeting and what we're going to be doing until the next meeting. It is held around Robin again same way I'll start go through the list, etc. So with that, I will get going on my status update. Last week, almost nothing work related. So that worked out. I decided I had a time to remain somewhat caught up on email so I wasn't graded with a massive heap today. So I archived everything I didn't need to deal with and left the rest on read only 15 on ready emails this morning so I'd say the plan was successful. Spent time with family went through a bottle organizing and putting things away set up new speakers in my office. I'm still waiting on the subwoofer to be shipped. I got my booster and spent time recovering from the booster. This week, finished up the QDPI ESP 32 S2 guide. Start the arcade stem and QT guide ensure the factory reset templates are set for both RP 2040 and ESP 32 S2 and are added to the appropriate guides. Make a decision on the IS 31 updates from Mark. And write a template for async IO later this week, although that might get bumped to next week. Alyssa, did you need to go earlier? Did you accidentally put your notes out of alphabetical order? Oh, I thought we were doing it where like kind of wraps around or something like that. No, we changed it up. It doesn't matter. Time stands with it. So go ahead right now. That works. Okay. Okay, so during the last two weeks, I did a little bit as wrapping up the Blinkett display IO and restructuring the changes. And I was out on a much needed holiday break. And this week I am going to get a peer ready for Blinkett display IO and get that submitted today. And add some missing boards to circuitbython.org and work on adding little FS support to whippersnapper. And that's it. Excellent. Thank you. Next I have some notes from Sea Grover. Who says took a deep dive down the resistive touch screen path after experiencing some spurious inaccurate button presses after trying various filters, squelching, and hysteresis methods. It was found that the existing sampling logic just needed a slight tweak. The updated Adafruit touch screen library is currently in is in the current bundle release as a byproduct of the touch screen journey and created a calibration helper that's especially useful for screens with many active button areas that inherently require increased accuracy. A screens calibration varies from device to device and needs special attention if the screen orientation is other than zero degrees. This helper and initiation example can be found in this repo, which thank you for linking that to Sea Grover. Getting back on track to complete the RPN portion of the retro CG35 calculator project for the sake of historical accuracy and resisting the overwhelming urge to convert it to algebraic entry and to right justify the digit display. Designing a standalone 6E5 magic I2 replica replacement using the Q2pi 2040 and a 1.3 inch 240 by 240 TFT display, still looking for compatible one inch round TFT display. The goal is to make it as pin compatible with 65 vacuum tube as possible, including operating from a typical plate power supply, which is 125 to 250 volts, hoping not to burn my fingers on this project. And next up is Dan. Okay, so as mentioned, last Tuesday I released 710 final and then also 7.0 alpha 1, which is the first public alpha. If you're using the Raspberry Pi builds, use the alpha build. Late last week I enhanced count IO to count rising edges as well as falling edges and also added support for pull ups and pull downs. I added a minor feature so that if you circuit python starts up and there's no circuit pi drive available, you will go into safe mode and it will print a message. We've had a few examples of people having bad flash chips and it's hard to diagnose immediately. There's no reason not to have a complaint. I'm now working on more sophisticated examples for async I go. I have a CO2 monitor planned out with multiple ways of notifying you, but I'll also be doing a simple neopixel example soon. And then we're going to move on to other more sophisticated examples. And I've been doing a lot of support stuff recently because there have been a lot of support issues that seem to be having to do, maybe had to do with something with circuit python being not working, but I haven't, in general, those are not circuit python issues. There are other issues, but I have to follow them up anyway. Okay, that's it. Excellent. Next up, I have some notes from David Glauda, who says adapted the disconnected CO2 data logger from Liz Clark to the SCD 30 and now I know the air quality in our room during the night. It was originally made for the SCD 40. Found the screen of my clue broken, but Lamora is selling a replacement so I will attempt that surgery. David's had it since February 2020 but transporting to frequently within bags killed it right now it is like a feather sense NRF failed to order one of the 99 QT PI ESB 32 S2. I saw them but due to postage tax I always hesitate to order direct missing the fun with the new board removed all traces of old python version from my PC and a fresh install with the latest circ up working and updated most of my boards to 7.1 and matching library. Next up is funny guy. All right, thank you. The probably the most exciting thing that I worked on this week was started working on building or not really building but importing a replica of an RP feather 20 excuse me RP 2040 feather into Minecraft. I wanted to try to make it synced with an actual feather plugged into the USB port so that you can control redstone circuits in the game using physical electronics connected to the real feather and vice versa you can have real components connected to the physical feather and those can control redstone circuits inside the game as well. I kind of mapped out individual proof of concepts for all the different parts and pieces that come together to do this so now I need to kind of tie everything together. And I also want to add some visual enhancements to make it look a little nicer as well right now I just have everything as one type of block but I want to add some colors and stuff. Beyond that I have been working on PR still and I also this week picked up some new toolboxes with a bunch of different compartments with the goal being to go through all of the stuff that I have and organize it, which will take a while but is much needed. And that's what I got thank you. Let me know if you want some suggestions I just went through and did that. Nice. Yeah. All right, next up is Jeff. Yeah, so it's been a light couple of weeks for me. Last week I finished up my LED lamp project and the guide is now live. There's no circuit Python in this one so technically I shouldn't even mention it but I had a lot of fun with the 3d printing. This week I've been drawn into what I'm calling the great winter floppy drive storm of 2020 2021. I hope soon to get the drive spinning and some bits reading out with circuit Python and we'll go from there. Yeah, and then you know always odds and ends. Yep. Excellent. Thank you. And finally we have Jerry. Yeah, boy I sure can't say I miss floppy drives. So really nothing much to report this week I just spend a bunch of time playing with the Broadcom and the ESP 32 s3 builds just to try them out and made a trivial PR to the Broadcom build. Mostly just to exercise my setup make sure I still could actually do it that worked. The change really has no impact but it made me feel useful to actually be able to do a PR so that was fun. Excellent review. All right. Thank you everyone. That is status updates. Next up is in the weeds. In the weeds is an opportunity for more long form discussions we have a couple topics already. So I will turn it over first to foamy guy for his topic. Yeah, thank you, Kenny. Let me get the thing scrolled down so essentially my question is about this guide page which is linked in the docs here I'll put it in discord as well. Basically this page it's for a touchscreen or it's for a screen that can be a touchscreen. And the guide section mentions that it doesn't show an example for circuit python touch so the kind of high level question is do we want an example there I think it would be good to have one. But a little more specifically it says there won't be an example but it points you to a couple libraries. One of which is the STM PE 610 library. And I was looking around at that library and this guide and from what I understand I think that's maybe an optional driver if you have an extra little breakout device then you would use that driver. But you could also, if I understand correctly you could use that screen, which the guide is for directly with the Adafruit touchscreen library, and then you don't need STMP driver. And so do we, I guess kind of secondarily, do we want to point to that touchscreen driver as well in addition to the STM PE 610 or possibly instead of unless you can get those breakouts still. So I wanted to open that up to see if other folks had lots of ideas on that. I think it should be made much clearer that it's optional for sure. I think adding a circuit python demo is always welcome. And using Adafruit touchscreen, that's absolutely fine. It's, I hesitate to remove references like from existing guides like just in the case that if folks are using or if it's been there for a while, etc. It's better to try and work around it than it is to just delete stuff. In that case, that guide, that board doesn't have an STMP 16, 610 on it. Yeah, I'm not quite sure why it was ever linked from that one. Okay. If that's the case. If there's a separate breakout. Yeah. You could put the breakout on but it doesn't mention that that you would actually need that hardware. Okay. For that touch output like that, the only certain builds support the touch inputs. Or you all build support that. I think all build support it because it only it just uses analog IO and digital IO. It doesn't need like. Oh, it's not touch. Okay, it's not touch. Yeah, it's not. Yeah, that's a good point. It's not touch like a capacitive touch. This one is resistive. And so it's just reading analog. And so I think it's how it works. I actually kind of came to the conclusion. I don't understand how it works as much as I thought I did based on some of the discussion this morning in the help with room. But I do know it's not, it doesn't use touch IO or I believe anything other than analog and digital. I was surprised when I saw your link there and I went and looked at that board and it was really confused. I've never really noticed that one before. I don't have that one. But some of the other boards like the most of the early ILI 9341 boards, those do have the STMP 610 on board on the same board. Yeah. Okay. A feather wing or something that does the wing and the most of the pie TFTs. I think. But that's so that's all done to it to an I squared C interface. That makes sense. Yeah, I didn't realize until this morning that there was kind of two, two layers to that. But I think it's starting to make sense again. So as long as because the like the Python page, for example, has a bunch of different displays on it. I guess as long as whatever page you're referencing doesn't the hardware doesn't have the STMP bit. I don't see a reason not to remove it. Okay. Because that could be confusing. And I but I do think adding a adding an example would be would be excellent. Okay, yep. I will work on that. I think we can even just embed one from the touchscreen library or maybe we want to make one with different pins. I guess that was hard coded to pi portal pins, but I'll work on changing that up and getting an example for it. Okay. I think that sounds good. If you have any questions along the way, obviously, paying us and we can discuss. Thank you. All right. Next up, I have a topic from Mark gambler. Are you able to talk? Yes, I am. Excellent. If I don't break out on a coughing fit. But I think this might actually be better deferred to next week because I know you haven't had a chance to look at it and Scott's not here, but I'll just give a quick summary. So it's there for next week, but the key part of this was as I added in. I S 31 right function similar to the neopixel right. So you're doing all the writing to the bus in native code, not just in Python. From my testing, it is just over twice as fast as doing it in Python only. So there is a speed improvement. And really that's the mapping between the LEDs to sort of which pixel numbers you're lighting up is the slow part in Python that gets sped up in the native. So whether that should or shouldn't be included in the core, I think I'll leave till there's a little bit more. More people have got a chance to look at this. The one part that I think will have to be in is the mapping of sort of the pixels to the LEDs. I had one person in discord ask me for my code for which I was able to give. But the native code would be a lot easier with the sort of the the sole devices predefined for people. But yeah, the rest on whether the the native part sort of the neopixel right part is worth it. We can leave to next week. Okay. Yeah, got it on my list to look at this week. I my my major concern is if the library as it is runs on small boards. We may not want to beef it out so much that it doesn't. But it also may not actually run on small boards right now anyway. I'm not sure I haven't tested it. Yeah, I haven't tested that either. So it's a chance I can grab one. It's possible that that that it's a non issue. But that would really be my only issue is we obviously we try to keep the libraries as backwards compatible as possible. When it comes to good point size changes, I think is really my major concern. And if it's a non issue then I think it should live in the current library in some way shape or form. Because I think having a having another library might not make as much sense but there we do have like something something something display IO libraries as well. But I don't think typically there is a non display IO version of those libraries I think we just included the display IO and the name because it uses it but there's not a non display IO version that it's differentiated from. So I don't think we've got any that are library name, and then also another one called library name underscore display IO, which I feel could be confusing and I think honestly the improvements that come with this. It, it makes a lot of sense to make this available to folks and in the least confusing way possible. All right that sounds good. One other idea I had for whenever this is sort of resolved is the glasses I'd shown off sort of with the sport stuff going on I was thinking of writing up and posting somewhere just as an example so that's also something else that's available. If you guys want, well will be available I haven't written it yet. Yeah, if you want as another example for what you can do that would highlight the native part. Oh that's excellent. Yeah, we would definitely if we do this will want something to make it easy. Okay, sounds great. All right, perfect. Then we will touch base about this again next week. And I think we are good to go. Okay, so that's what I was that's what I was wondering. Yeah, no that that makes sense to me now. If I get a chance I'll look at it but I understand. And I don't want to break anything obviously with existing examples and boards so. Right, right. And we'll keep that in mind for sure. Okay, sounds good. Excellent. Well that sums up in the weeds and since that sums up in the weeds I think we'll go ahead and wrap up as long as I can get over to wrap up here. So this has been the Circuit Python weekly for January 3 2022. Thank you to everyone who participated. If you want to support Adafruit and Circuit Python and those of us that work on Circuit Python consider purchasing hardware at Adafruit.com. The video of this meeting will be released on YouTube at YouTube.com slash Adafruit and the podcast will be available on major podcast services. There will it will also be featured in the Python for microcontrollers 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. This meeting is held on the Adafruit Discord which you can join by going to adafru.it slash discord to be notified about the meeting and changes to the time or day you can ask to be added to the Circuit Python Easter role. And with that, we hope to see you all next week. Thanks everyone.