 and welcome to display data. Hey everybody and welcome to a Sunday night desk with Lady Aida. It's me, Lady Aida. I'm at my desk with me, Mr. Lady Aida. Hello. I'm camera control. We're just hanging out doing electronics. I don't, do we have any news and updates for folks watching? No, but just to give people a little bit idea of what good progress and maybe the end of these type of milestones. We had lunch with someone who we work with at a restaurant and we talked and hung out together and was awesome. So, you know, full speed ahead in every possible way. It's been a while. There's folks have, we haven't been able to do that with some folks for well over a year. So a lot of progress happened. New York is ready to fully open. Aidaford's been shipping around the clock. Thank you so much everyone. Play some orders when you can to support. One of the only, if not only, woman owned electronics companies in the world and in New York City and full schedule this week. The only thing that's different, Scott is not on deep dive, but JP's up too, right? JP, believe so, maybe. Yeah, so we don't have Scott on a JP show. Yeah, so nothing Tuesday, nothing Thursday, Friday, but Wednesday, big day, no Pedro, 3D hangouts and show and tell and that's gonna engineer. Okay, all right, well, so this weekend, what I worked on the most was I finally got around to porting over the CISO library from Simpsons slash make file stack build to Arduino supported as we covered about a month ago. I can't get SamD chips anymore. Like they're pretty much gone for like a year or two. And so I had a big collection of boards that people saw me design that were like STEMI QTC cell boards that would let you say, you know, connect a rotary encoder over I squared C or I had this like a Neo-key one by four. And I actually started releasing some of them. And then I would have had like, you know, way more products, but all of a sudden that can't get SamD09s anymore. Well, luckily I hadn't even ordered some of those PCBs like a month ago. I kind of noticed this was happening. And so decided, okay, I'm gonna turn around and redesign these using chips that I can get because even though I liked the SamD09, I didn't have to use it in effect. I was talking with Phil. That kind of forced me to reevaluate the chips that I was using and maybe find a chip that made more sense. So an earlier desk of LaVietta, we covered in great search. We covered finding a low-cost 8-bit microcontroller that could do the job. So let's go to the computer. I'll show, I think it was this one. So I wanted to find a very low-cost 8-bit microcontroller and you can watch this video. But basically it came up with the AT Tiny 816Y. It was basically 50 cents available in QFN. It's my favorite format. Three to five volt compatible. So you can use it with three volt or five volt, which is really nice. Regulator or level shifters, because you can use it with whatever. It had ADCs. It has I-squared C peripheral, which is the most important. But also all the other things like that. Enough stuff that it's not like, it's got way more pins in an AT Tiny 85, which I wouldn't use because it definitely does not have enough pins. I need at least 12 GPIO to kind of do all the things I want. You know, I have a four rotary encoder version of this like stick with I-squared C. Four rotary encoders plus four switches. That's 12 GPIOs just for the buttons, which is gonna need Neopixel and then Address Select and then I-squared. Yeah, basically you need 24 or 28 pins easily. So the Sambio 9, again, was a wonderful chip, but I can't get it. I love it because it's very powerful. You know, it's a 48 MHz Cortex M0 with a ton of flash. I think it was like 16 or 32K of flash. And then 2K of RAM. The 2K of RAM is really sweet because it means I definitely didn't have to worry about running out of memory. This chip doesn't have as much, but it still has quite a bit. I found this nice blog post which shows the entire family of this, you know, the AT Tiny series. You know, there's the 8K, 16K, 32K. And you can see they sort of like have the same core and they sort of build up and they get more expensive and more powerful. But, you know, in the 20 pin or 24 pin, this is kind of the zone I'm in, you know, the cost here is 63 cents, here 70 cents, you know, pretty good. Basically I want the 8K version. So these four are what I'm gonna be focusing on. These have two few pins. These down here have two little RAM and this is getting a little bit more expensive. It's starting to get into the dollar range. So these four are the ones that I like. To compare them, I looked up, here is this, you know, Aviar has a full comparison of their chip series. So this is the line. So it's like, what's the difference between the 816 and the 806? Basically, do they have a DAC? That's the big change here is like some of them have an 8-bit DAC and some of them have an extra timer. And then they have Q-touch, they have a built-in capacitive touch. So basically, you know, they're almost equivalent except for this one has the Q-touch, just self-capacitive touch, basically capacitive touch without needing any other components, an extra timer and a DAC. So they're basically equivalent, you know, they also can have a little bit more RAM and they go a little bit bigger. Basically the 806 and 817 and 816 are all very similar. One is a 20-pin QFN, one I think is a 24-QFN. So unfortunately they're like, the 806 and the 816 and the 817 and the 807 are pin compatible, but the 806 and the 807 are not because they're different packages. So it's like the bigger the number, the bigger the package, the more pins. That said, you know, I'm kind of like, what's available, turns out the 817 was more available than the 816 and whatever, the price is so similar that it was like, whatever was available, I purchased from Digikey and got, and you can see that there's still plenty in stock of these chips. So luckily there is this Arduino core by Spence Cunde called MegaTiniCorn. I remember that they did a pull request to add support for their core in Bassayo. Bassayo is the Adafruit I-Squirt C and SPI layer that just makes registers and it just simplifies like bit banging and it kind of abstracts away I-Squirt C and SPI for using with sensors and devices. Having written like 100 libraries, I was kind of like, I need something to help. And I remember they did a PR. They did a core and the core supports basically all of the ATtiny series chips. And it's great because having this core means I could jump right into the code porting and like releasing it and publishing it instead of what we had to do for seesaw originally, which is here, which is at the time this was written there was no the 8168, this is like five years old. I don't think the 806 and 816 those chips didn't exist or I probably would have used them. Yes, this is like four years ago I think because the original four maybe five years ago. So, at the time, the way to do this was we to fit everything in, we didn't use Arduino, there was no Arduino core, we wrote it as a can make file with ARM GCC. It was perfectly fine. I was good enough with the SAMD chip and Dean who was working with us at the time was comfortable enough with the chip that we basically did all in this low level C. It works wonderfully, it's great, but again, we wanted to move to porting this to Arduino. So not everything, I mean, we're still gonna have the old, let's see if I can find it. So now it's called seesaw peripheral. So we still have the old repository and some things like the Cricut are still gonna use the old seesaw code even though I could port it over that the Cricut's complicated enough I don't really wanna touch it. But for the little boards like the rotary encoder that I recently released and the NeoKey iSquared C and all the other, like I designed like 12 of these boards, all of those will be reported and written in this. So kind of forced my hand. I was like, oh, eventually I'll get around to changing chips but my hand was forced by the chip shorting. So the good news is that I did a bunch of code yesterday and the day before and one of the things I thought were, there's two things I did that I thought were kind of neat. First up, the seesaw library is iSquared C to anything. So just iSquared C to GPIO or ABC. This has a DAC, so I'm gonna add DAC. My head, I have NeoPixel and down here you can barely see it, but it says PWM. So I'm gonna add rotary encoder that's missing. There's a couple of things missing. Oh, and one thing that's kind of neat about this is it has EEPROM, this chip. So we can do reprogrammel iSquared C addresses. So instead of just hard coding it, you'll be able to connect to the chip and write a custom iSquared C address which some people were asking for. So to configure it, the way we did it with the old seesaw library was to have, okay, just gonna make this a little bit bigger. So with the old seesaw library, it's done in a makefile. And the nice thing about makefiles is you have a lot of, so if you go to like boards and you go to the NeoKey QT you see here above me, I've got all the configuration. Is there an ADC in which pins? Is there a timer? Which pin is the interrupt pin? So this would be all done in a makefile with Pound Defines is how many pins are for address configuration. This one has four address configuration pins. It has NeoPixel support. So you can't have everything, everything. You do go out of memory if you try to have all this stuff on the SAM D09. And with a makefile, everyone's used to this with doing the makefiles, right? You put a Pound Define and you're done. In Arduino you cannot do this. And like 5% of the pull requests I have to close are people thinking that you can put a Pound Define in your Arduino sketch and it affects a library. That's not true. That's not how C works. You can't have a Pound Define in one file affect another file. Each file is compiled separately. So this is one of the things that I kind of was like, I opened up an issue like a decade ago asking our Arduino to maybe have a way for us to add like command line defines on the command line which is where this would actually affect the libraries that you're including but that sort of never happened for whatever reason and then people use Platform IO which does do that. That's one of the things people like about Platform IO is you can do Pound Defines. But I'm both lazy and don't want to start reintegrating all my code into Platform IO. And also I realize that a lot of people don't have that but I do want to have the ability to use Pound Defines to manage the code and all the different boards like a rotary encoder that's going to need rotary support but it won't necessarily need PWM support. So how do you turn on and off that stuff? To really reduce code size you have to do it with a Pound Define and you if death away code areas, right? That's the only way to really make sure that that code isn't compiled in. Yeah, you can not refer to it but it's complicated and you can structure your code in a way I think without it but you have to do all sorts of like weird externs and constants and I didn't want to do that. So instead what I did is it's a terrible hack but it works wonderfully is you do have your Pound Defines. So like for example, the product code which is burned into the board to let you identify it, the default I scored C address, you know, the default interrupt pin, the default address configuration pins and then you include your library header file, right? And so I just told you you can't do this and I was right, you can't do this if your code isn't a C file. However, if you write all of your code in the header file, it's fine. So all of my code is in a header file that includes other header files but there's no C files and there's no C++ files. Just like poor taste but works great and I'm all into that. So the header file is where? Because header files, if you do have a Pound Define beforehand and you have header guards, the Arduino script will include it first after your Pound Defines, you can then use the Pound Defines to as you see here, you can like only include the NeoPixel code if you have config NeoPixel turn on, right? So all of your flags, do you have debug? Okay, you can have serial prints if you're debugging all of that stuff you can do if your code is in the header file. And we've done this in a few libraries where you have weird compilation problems because our Arduino again, it's greedy. It will compile every C++ file and C file it finds whether or not that is used in your code. Platform IO has a similar issue which I don't use it but a lot of people bumped into this where Platform IO tries to pre-compile all of your files for you, which is fine. The problem is that it pre-compiles files whether or not the code in them is being accessed, right? So at least the Arduino ID doesn't compile files that the code isn't, it'll compile files but only if they're being included in your library, like if they're accessed through your code. Whereas Platform IO is like, oh, any dependency we will compile even if that dependency isn't used because it's behind a if-deaf or whatever. So we have people who are like, I'm running STM32 and I'm trying to compile this, it's compiling this AVR code by accident. Why is that happening? Eventually we figured it out. It's because Platform IO just like loves to compile shit. So compilers, I don't know, we love them but they're a problem. But this header hack, again, portaste works great. I love it. It makes my life a lot easier because I can then have my example scripts use the pound-defines to determine that this is what the code that will be compiled and then go on to the seesaw board. And then another nifty thing that is always fun to do is using CI as a way to verify code size. So for all of the code I'm writing, all the different boards, I wanna make sure that it fit, again, if I can get the 806 or the 807, one has more flash than the other. Sorry, one has more pins than the other and some have the zero series is different than the one series. And so I wanna make sure that the code that I'm writing compiles clearly on all four of this family because I'm not sure which chip I'm gonna be able to get in the next year and a half. So in CI, in the Action CI, I set up the test to compile all four chips. So I compile the 817 series, all of the examples. I compile the 816 series, the 807 and then finally the 806. And I just make sure that all four of them pass. And so this is my way of, as I'm writing the code, we'll talk about this in the great search. My dev board is an 817, but I wanna make sure that when I then finally make my final board designs and I solder in an 807, which is a less capable chip, I wanna make sure that I'm able to compile and fit the code because it is getting, I mean, I'm not like hitting the limits yet. I'm at like 5K, maybe 6K, but there will be some point which I start hitting the limitations of the flash memory and the flash memory will compile to different sizes based on the core because like the one series has hardware will multiply. Maybe it handles floating points a little bit differently. I don't know. I mean, they don't have floating point units, but like because of the hardware support, the code might get more and more bloated, the smaller the chip, the sort of a side effects that the smaller the chip, the less powerful often the code gets bigger because you have to do more stuff in software that normally would be done in hardware. So let's just finish up by going to the overhead and I'll show this and we'll get to the great search. Yeah, this is the thing I was like, we should make this. I don't know, I'll make it, but I just made it today. Yeah, whatever. Okay, so here I've got, this is my Metro Mini. So I like developing on, it's like people are like, why are you, you can have like VS code and Adam and like the most expensive IDEs and the nicest boards. Like, no, I like to use whatever people are gonna be using because it helps me quickly find workflow issues. So I'm using a Metro Mini at 32, sorry, 328. One of the things I really like about 328, I gotta say like it's an old chip, but I really like that when I hit the reset button, I don't lose the serial port. So it's like, I can reset all the time in the serial port and Arduino doesn't go away. I've got it tied over here. This is ground I squared C clock in data. So those are the, I'm connecting to my seesaw peripheral, the thing that will be driving my little rotary encoder here. And underneath here, I've got a T tiny 817 explained. So as I'll cover in the great search, you can't always get the eval board you want, but you'll always get the eval board you need. That's the Rolling Stones. I don't know if you do that. They were saying about that. It's a lot of electronics. It's true. So the 817, I can barely see it. The 817 eval board was one of the nice things about it. And one of the reasons I picked this one up is it has, it didn't come with these socket headers, which I soldered in, but they are Arduino compatible. So it was very easy for me to grab a shield PCB that I had kicking around, put it on top and made this little dev board. So this is a cute little board and it has a little programmer here. This is the actual chip, right? This is the debugger slash programmer. And then here's your USB micro-B, but I can plug this in so that you can see it's on top. Let me reset this. And then this is running a basic program that kind of tests a little bit of everything. So here we've got PWM, so you can see the LED is getting dimmer and it's brightening. So it does analog right from Arduino, it's PWM. Here's a potentiometer. I've got here, I soldered in a little JST port just so I could plug in some NeoPixels. The NeoPixels are really bright, but this analog knob, when I dim it, it will lower it. It will dim the NeoPixels or brighten them, depending on how I turn it. So of course, this is not directly controlling the NeoPixels, this potentiometer is being read over I squared C by the host, which then sends the NeoPixel brightness data over again. So this is a, you know, it's brainless. It's not doing any thinking on its own. It's just reporting over I squared C the data, right? That's what CSaw does. It is I squared C to whatever back and forth. So I have it for doing one analog read. That's another thing about this chip is it's wonderful, there's a lot of analog pins, there's a lot of PWM pins. There's, you know, it has support through Arduino for piezo, so if I press this button. You know, this is a tone, just making one tone, but of course you can play different tones. And then I've got the rotary encoder ready here. I didn't get to adding support for that because we went out to this nice lunch instead, but that's next, I'm gonna add the rotary encoder and this is gonna be an interrupt LED. But I've got that and the eProm all working and this is just, you know, sending data back and forth. Another nice thing is I can sort of set this aside, come back to it in a couple of hours and make sure it's still working, but so far so good. So this is the code, which I can post. Sorry, what I was showing it off. It's over on GitHub under Adafruit CESA peripheral. And, you know, even though I'm targeting the 816 or 806, whatever that series, this can run now, you know, because it's now an Arduino. It can easily be ported to any chip set. One of the chips that I'm going to be porting this to is the RP2040, which again does have Arduino support. That's the nice thing about having Arduino core is that we can have it with the RP2040. I have some projects where the RP2040 again has very powerful capabilities over PIO. So what can we do with I squared C to PIO conversion? We could have I squared C to DVI display. We can have I squared C to, you know, eight NeoPixels output. We can have I squared C to camera peripheral. So, you know, it's a long time coming, four years coming, but I'm glad that we finally, I was kind of forced to port the code over to Arduino. And so I'll be redesigning all these boards like this rotary encoder. You know, we have enough chips to last for a few months, but eventually those will run out. And this is a very popular board. So I'm going to redesign it. Maybe next week I'll show off my redesign. I'll order PCBs and then it's going to be a little bit slow until I get all those PCBs completely, you know, they're all done, got to redesign them all. We order them. And then also we have to design a UPDI programmer. So UPDI is the programming system for these AT tiny chips, but they did a really good job. It's asynchronous UART, which I'm loving because it means it's going to be very easy for people. If they want to reprogram these boards on the fly, you don't need a J-Link. You actually only need a serial port cable because you can use an FTDI cable to program these chips using asynchronous UART, just tie the RX and TX together. It's pretty cool. All right, any questions before we move on to? No, folks are digging it. They're digging it. It's very, it'll deep-diving today, but that's how it is. So, all right, so let's get into the great search. Where? The great search every single week brought to you by Digikey and Interfere. Thank you Digikey, Adafruit, and Digikey team up to show you Lediata's Superpower, which is find the stuff on Digikey. This week, what are you showing? Okay, this week I'm gonna show how I found the eval board because I realized getting eval boards is a lot better these days than it used to be, but you do have to do a couple little, there's a couple of tricks that I have when searching for eval boards. So let's go to the overhead real fast. I'll show you what I got. I'm gonna go a little backwards. I'm gonna show you what I got and then how I got there. So this is the dev board I just showed by prototyping, getting this design together. So let me remove this. So this is the eval board that I picked. So this is the AT Tiny 817 Explained. And I'll show you what I like about it and then I'll show you how I found it. So one of the things I like about, of course if I didn't come with these socket headers, it just came with this board. Number one thing to look for in eval board. It seems silly, but it's really important. Getting eval board that has the programmer built in. A lot of chips these days, you need to program them. And if you don't have a programmer, now you need a second thing. Now, sometimes low cost of eval boards will come with a SWD or JTAG port. There's nothing wrong with those if you happen to already have a J-Link. But a lot of times, especially for a new chipset, I didn't have the programmer. I don't have a special programmer for this. So you'll often see that there's another chip, which in this case is bigger, that happens, which is the debug interface. So that's just something to look for. Second, I'm a big fan of less is more with eval boards. I used to have an STK500 for those two people who were on the STK500. This thing was a beast. It was like a hundred bucks and it had everything. It had seven segments and it had sockets and it had an LCD. And it was like so much, so much, so much, so much. I really like, again, seeing from a socket, it was unsoddered. It had a lot of, everything was broken out. It was ready to get wired up. It has just one button and one LED. These are the only two things that are built in to it. This LED is built in. This is a user controllable and this is a button that's user controllable. But other than that, and then there's like two capacitive touch pads if you want to use capacitive touch. That's it. I love it. I don't like eval boards that are over the top. I mean, they have a place, but I'd rather get two or three under $20 debt boards than one $60 to $80 debt boards because I'll tell you another thing, debt boards break. That's their goal, right? Their goal is you use them so much that they give up their blue smoke monster. So that's another thing. Get two, always, eval boards whenever you want. Okay, so let's go to the computer. I'm going backwards. Talked about the eval board. So this is the chip that I was gonna use, the 816 or the 806. We covered this in a previous great search. So I want to find an eval board for it, but you may notice that there isn't an eval board linked from here. Sometimes there's an eval board that's linked directly, but there isn't. And if I type in 80 tiny 816, you'll see I go straight to embedded microcontrollers. If I type in 80 tiny 816, actually I didn't type this in, but what if I type in eval? No results, okay? So are you gonna cry? No, you're not gonna cry. You're gonna use your great searching power. So most chip companies do not have an eval board for every chip that they make. And that's really common because they have to focus on one device in the family. So in this case, as we have shown, this chip is part of a family, a group of chips where, and this STM is 32s are all so famous for this, right? There's like F05, you know, F013s and there's like characters and there's like how many pins and how much RAM and how much black. It's all super configurable. So you will not necessarily be able to find each configuration of that chip family available as an eval board. So in this case, what you wanna do is, first off, you can just search for, you can search the microchip site, like you go to the site of the company that makes the chip. So if I type in 80 tiny 816 eval here, it'll actually pop up 80 tiny 817 development tools. And so that, again, that's not unusual. You'll often be able to get the higher level, the 817 is a better version of that chip. It has more flash, more RAM. So that's what you're gonna find. You're gonna find like usually near the top because they want to show off all the capabilities. So for example, I like the SAMD51. The SAMD51 doesn't actually have a nice eval board or at least at the time, it didn't have a nice eval board from microchip. Instead, they had the SAMD54, which has, or the SAME54, which has ethernet and CAN, but it's otherwise almost completely identical, right? It has some extra stuff. So in this case, there are two eval boards available. So let's go back to Digikey. So now that we know what to look for, nothing you can do, as my trick is, whatever chip you're looking for, so like I want the 816 eval board, you just take a number or two off. This doesn't always work because depending on how the company's structure, they're part numbers. But in this case, you can search for like 80 tiny 8 eval and then under here, you can see that there's some evaluation boards. So of course, there's evaluation boards that might use this. In this case, none of these are available because they're actually Q-tatch, which happened to use the 80 tiny 88. Under this eval board, you'll see that, okay, sorry, under 80 tiny 8 from within here. Right, so you'll see that there is, this is interesting. So within, of course, if you want to search from within a category, don't forget, I just, I forgot to mention before, you can search from within results. I don't usually use this, but if I'm looking, if I know I want an eval board and then I want one that uses a chip, you go to this section and then you search from within this result. So now I can see that there's only 10 options. There's of course the Trinket, yay, it's like my design, with the 80 tiny 85. And then you'll see the ones that we saw before, the 817 eval board. All-MX has a 80 tiny 85, but yeah, basically there's two boards you can get. So let's open up both, one second. So there's nothing wrong with picking either of these, but tell you what I like. So again, this was the 80 tiny 817 eval board. It's got the debug interface here. I always look for that. The main chip and then a lot of breakouts, but you know, very simple design. And then over here is the pro. So this is deceptive because you're probably like, oh, this doesn't have the debug interface. You don't see anything. It's actually a double-sided board. So what, you know, this has breakouts, but they're a header pin type. And this has a little bit more measurement. It has a little bit more pins. This is the pro version. If you actually want to see what's on the board itself, you need to go to the data sheet for the eval board. And then, I guess this isn't like the most amazingly great eval board data sheet because I wish they just had a photo of the bottom. But if you go near, go here, you can see this is kind of like a diagram on the top. They do have a diagram on the bottom and they show that yeah, there is this like debug interface here and like all the circuitry and it probably does like high voltage reprogramming and all that stuff. So that said, given the choice between the two, I kind of like this one more because it's simpler. But if you want, I think this has like more high voltage. It has the current measurement disconnect. So it's a little bit more, you know, this is called the pro and the other one's called the mini. If you're doing like low power stuff or you're doing something where you need the high voltage programmer, I'd probably go with the pro. But it is 40 bucks compared to this one, which is like 14 bucks, 12 bucks. So this is my winner. This is the one I like. So again, get two. And then once you've done your development, again, as I've said this before, if you're designing with a microcontroller or any chip, you pick the highest pin count, highest flash, highest RAM, build your application, your prototype within it. And then you can tick down and pick the one that will fit. So the 817 has, you know, the slightly nicer chip than the 807, it has more pins than the 806. But it's easy for you to develop on this. And then in your compiler, just select the smaller chip when you're ready to go to production and like see how small you can get your compiler to compile for. And that's the chip you can actually use in production. And of course it's, you know, people forget, you can always rework this chip. You can remove this chip off of here and solder on a smaller, less flash, less RAM version if you need to. It takes a little bit of skill, but that's one thing that I do when I'm getting near to completion of my prototype. And I'm like, well, I really, before I order PCBs, before I go into a more intense design, order some chips, hot air this off, hot air my replacement on, and then I can actually develop with like, you know, a fresh chip in the exact package and size and capabilities that I'm going to target for production. So Valboards, it is. So I got two of these and they're quite nice. I do recommend them. It's great to hear. Where in the world is that part I need? All right, quick comments more. Someone said on Reddit, there's folks that are gonna buy a Valboards to pop the chips off because of a chip shortage. Yeah, I know. Well, you laugh when it's like for development, yes. I mean, if you really just need to get your prototype developed in a Valboard, you know, a $15 Valboard could be pretty good. I mean, usually I don't go with a Valboards, but in this case, it was so cheap and so convenient. It's kind of hard to say no. Okay, what material can I use for good heat conduction and high electrical isolation in, for example, a homemade soldering iron tip or heat gun? Well, there's, you know, there's like heat sink materials. So I'd look at like what people use for padding heat sinks, because that'll be electrically isolated, but thermally conductive. Okay. Do you think the chip shortage have accelerated open silicon movement in terms of new companies getting to make assembly conductors and follow up to that? Do you think it'll bring a greater variety of components to the hands of consumers? I think that it will force companies to get a little creative. Some people are like, oh, we're gonna do more in software than hardware, but I actually disagree because a lot of the chips are unavailable are the ones that are more advanced. So in this case, I'm downgrading. I'm going from a Cortex-M0 to an 8-bit AVR, which normally, again, I wouldn't do. I would have just stuck with the chip that I know that I have the core, you know, all the code working for, but I was forced to, and it's not a bad thing. Like it's working out. There's some benefits I really do like that has EEPROM, which the Cortex-M0 doesn't. I like that it's three in five, but compatible. That's kind of handy. And is the AVR core, you know, I grew up on AVR core. So I really know this core and I'm very comfortable with it. I'm very familiar with it. And I kind of like seeing how powerful they've gotten this chip. My little prediction is, I think folks will choose something like the RP2040 instead of a CMD because they can get the RP2040. So good timing Raspberry Pi Foundation and the chip release because more folks are gonna probably try it. They had really good timing. Obviously it wasn't on purpose, but they were very lucky. Next up, what is the probability of a collision when using iSquared-C chip setup having heavy iSquared-C traffic and also in the project using iSquared-C directly to the main chip, if that makes sense? iSquared-C doesn't collide. It's a polite bus platform. So as long as you have only one controller, if you have like, you know, what's called multi-master multiple controllers, I think it can get a little bit funky, but if you only have one controller, multiple peripherals, you can have very busy traffic. Like for this demo where I have the Neopixels going, it's very heavy traffic. And so to get better response, I bumped the speed up to 400 kilohertz and this chip is another nice thing. It can easily do one megahertz iSquared-C, no problem. But you won't have collisions, but you'll have slower responses. It'll take longer for you to be able to get to the bus. But almost all iSquared-C bus controllers will wait politely until the bus is free to put the, you know, to respond. Right, because it's all address. Like you're not gonna have, you have to have the controller send the request. Everything is controller-based. Like there's no device that's out of nowhere suddenly sending. There's only one controller. So you'll have slower responses because like everything is waiting until it gets its turn, but you're never gonna have a collision. It's not like Ethernet, which is a collision-based protocol. All right, and that is guest lady Aida. All right, thanks everybody. Bye everybody. See you during the week. Thank you once again. Bye bye. Have a great week.