 and won't just lay data. Hey everybody, and welcome to the late night desk of Lady Aida. All night, can't stop, won't stop. Do an engineering, finding alternative for components that are out of stock. Never boring here at the house of fruit. Yeah, we were filming some cool stuff today at the Aida Fruit Factory. Maskless because we're vaccinated, so no masks for us on site. And everyone around us was vaccinated too. We're gonna have some folks that we invited from the Met Keys Discord. Hello. Hi. I wanted them to see the RP2040 Macrobat. Oh, okay cool. I've been giving them some updates that were making some keys. And I think this will be really handy because they also have some part shortages. But we'll get to the hardware in a sec. Okay. And then we'll also, well I'll just talk about the logistics for the week. We have our shows on Tuesday, JP's product picks. And then on Wednesday we have show and tell and then Wednesday night hit a box. And then we'll release the rest of the videos we normally do. And then Thursday, JP's workshop for our days, deep dive with Scott. So without further delay data, what is on your desk this week? Okay. As we mentioned, we've got keyboards. The keyboards are on the loose. You wanna show them what the keyboards look like? Yeah, we have a logo. You wanna show them that first? Yeah, sure. You want me to go? No, I have a logo. One thing, sometimes we have a bunch of different logos and we don't choose one or different ones because they're too extreme or anything. I think someone on Twitter is like, oh, the fuddy deadies in management. It's like, we're not, we're just rare, the least fuddy dirty. It's nice. We just go with something good. And so the ones that, you know, just they'll zoom in. I kinda like this one. So this is keyboards. And you know, this is a little board and like he's a key cap thing. There's another one. But we're gonna start with this. And this is just the beginning of it. And then we're gonna do a full character around this because we like the idea that we can put this on a PCB and it'll look good. It's one color. It looks fine reversed as well. And so we're gonna start with this. You can print on the silk screen of a PCB. That's for sure. So that's the thing. It's not like we can do anything anymore. So we're gonna start with that. And then, and I think we're gonna do something with these characters, but these won't be the logos. But just that gives you an idea. I have a character, but yeah, I'll probably be alone. The character will be standalone when it's more than just like a PCB or something. Okay. So one of our first keyboards. Let's show some keyboards. Oink, oink. So this is the board, so I put together two. And this is, so it's dark because it was like, you had bright stuff. So let's lighten it up a little bit. So this is our three by four keypad. There's a little neopixel under each key. These are Kale's plug-in switches quite easily. And then for the microcontroller, this is a rotary encoder. This is the back of the rotary encoder. And then this is the USB-C. It's right in the center. And it goes into an RP2040 with eight megabytes of flash. And the flash memory stores assets, such as macro command files, firmware. I can also have HTML files in there. Or like other executables, whatever. What's kind of neat is I was thinking like my keyboard actually, when you put it into boot V drive mode, I have a Kinesis freestyle. If you press two keys, it shows up in the disk drive with like the configuration software on it. I was like, okay, so that's kind of similar to circuit Python. So it has eight megabytes of flash. It's plenty of flash memory. It's quite a bit. And it's got a little buzzer so it can beep. Although I might go with a larger buzzer because I actually have the room for it. I can maybe stick, you know, I can stick the buzzer down here. Like I actually have a lot of room. It's got a STEMI QT port so I can plug in sensors or buzzers or whatever I want into there. It's got a reset button and this is the OLED connector. So this is it assembled. So you can see here's the rotary encoder and actually have it running some circuit Python code. That's why you get the little blink in the corner. This is the OLED. Of course it looks flickery because of the camera but in real life, it doesn't look flickery at all. It looks very nice, high contrast. And I put it on this side. So you know, for people, most people have this on the right side of their computer. You'll be able to, you know, you can reach over and press or rotate the rotary encoder. You can see the OLED. It won't be in your way. Your hand won't block it. And then I've got these buttons and you know, each button has an LED. And so right now I just have it. When you press the button, it toggles the LED. And when you rotate the rotary encoder, it changes the hue of the buttons. This is just a demo. And then, you know, I can remove the key to show it's just a kind of standard Cherry MX key. And then I'll remove this one. Just so you can see the neopixel underneath that lights through. So that's keeping. So the idea is just to make a generic macro pad. It's not that, you know, the macro pad that'll end all macro pads. And it's like, what's kind of like the most basic thing that covers most people's use cases? So I thought, you know, having a display and TFTs, I wouldn't normally actually go in with a color TFT but I actually can't get color TFTs right now because the market is completely screwed up. And so OLEDs actually I can still get. So I can put an OLED on. And OLEDs I think they're kind of nice. So you can do some configuration stuff. And then, you know, we can, of course, program this. Each key is actually not matrix. There's so many pins on the RP2040 that actually have a GPIO for each pin, which is lovely. It's very easy to debounce them. And it's very easy to, you know, if you want to have it, you know, if you're using Arduino and you want them to connect to an IRQ, like you can do that as well. And then this is USB-C. I have a couple of breakouts here just in case I want to connect other stuff. But so far so good, I haven't needed to do that. And then the thing I want to show that was kind of neat. Well, first off, you know, with the RP2040, what is kind of nice is if you ever want to reprogram it, the boot loader is in wrong. But you have to press down the boot pin while plugging it in. I actually made the boot pin be the encoder, which there's a little diode so I can also, you can see it can detect when the encoder is pressed, actually made it. So it just goes a little brighter when that happens. That's how I'm testing it. But if you press this down while plugging it in, it will show up as the boot loader drive. So it's very, you know, it's not, you won't do it accidentally, but even if it's an enclosure, you can still get to that button. And then the next thing, which I thought was kind of neat was we recently did a PR. So let's go to my computer and it can show the PR. So this is PR number 4689. And this is from Dan Halbert, who is working on Dynamic USB Descriptors, something that we've been actually like, it's one of our oldest GitHub issues, so I'm really excited to close it. When we have circuit Python boards, they automatically show up as a disk drive with all your files on it, a USB CDC REPL so you can like send the commands and then MIDI device and also HID device, a keyboard and mouse. But there's a lot of situations where people are like, well, I don't want the disk drive to show up or I don't want the REPL to show up. And in these cases, we kind of were like, well, you can build your own custom version of circuit Python, it's really easy to disable it, but there's no like automatic dynamic way to do it. Like it just, it's built into the firmware. Well, as of 7.00, like, you know, main branch latest, absolute latest, you can disable each individual part of the USB descriptor so you can turn on and off each element as desired. So in this case, he's got some example code and then I was like, I'm gonna write this code and it turned out DevGPu actually wrote an example for me basically, although his is for a matrix keypad, but check it out. It's actually linked off, he commented at the bottom here. He's like, yeah, check out my example code. So I wrote my own version. So let's zoom in. So this goes into boot.py. And you have to import it, it only imports. And then I use the first key and I set it up because it's boot.py and nothing is configured. You have to start from the beginning. You have to set the key as an input, add the pull up. And then if the key is not pressed, I disable the USB drive. That means by default, the USB drive is deactivated. And then if I press the button, that means it will keep the activation, right? So basically, by default, this macro pad doesn't have a USB disk drive show up. But if you wanna like update the code, just hold down the first button. So let's show that, I'll show it on this side. And then, so let's go to my PC. So you see there's no circuit pie drive here, right? Nothing, nothing. But if I hold down this button, this is key one. This is, you know what? You pick any button you want. You can do the combo if you want, but I picked this one. And then I'm going to just be super safe. I'm plugging USB and plugging USB. Now it should, yeah, on the computer, it shows up as a disk drive. So this wasn't there before because I didn't have that key pressed when I put it in. This is a big feature for people who make keyboards because you can always just boot into edit my keyboard mode. And if you want, but you won't get, you won't accidentally get in there and people will be like, why does my keyboard have a disk drive? Yeah. And you do the same thing for the USB CDC REPL. However, I will just say, it's a little risky if you do this, right? Once you start disabling multiple things, if you're not absolutely positive, you can get back into it. You're not like permanently locked out. Like this is not a security feature, but it can be a little annoying to get back in to be able to edit those files. So just like, just be super careful. One other thing, and you know, there's some advanced folks in the chat. There's also some beginner folks or it's also folks who've never tuned into something like this. Look how easy it is to figure out what's going on in this file called boot.py. Import board, import digital IO. Maybe you don't know what those things are, but then like import storage, import USB CDC, import USB HID. So like right away, it's like, oh, this thing, there's this, this thing has storage and it uses USB and HID stands for human interface device. So that's kind of neat. Like in looking at the code, the text itself, you're like, oh, this is the key that you press to make it get into this mode. So like, anyone can pretty much start to modify this and build off of it. And one of the things that we want to do, and this is, I'll go to this, we think this is going to be like one of the first times people get into keyboards who do maybe lots of coding. They've never built their own custom keyboards and we'll do a macro pad first. And then there's going to be people who have done a lot of keyboard stuff, but they never really picked up coding yet. And they'll be able to do that with Python and with this. So we're pretty excited about it. That's why we want to show it off, how to press. Yeah, so it'll be fine. Well, you'll be able to print out your mapping or customization on the OLED. So I have a couple more little things to do. I forgot to add mounting holes on the bottom. And I'll get rid of these breakouts or I'll maybe put them elsewhere. And I want to change the OLED to one that plugs in and so solders in to make it easier to manufacture. Well, the circuit Python safe mode thing, default to all descriptors on. I think safe mode does, yes. So you can always get into safe mode, but I think safe mode is not quite working perfectly yet on all these boards. So just don't depend on that. We will, that's one of the goals. It's one of the goals though. But it's just, we have a couple of solutions for this. Okay, all right, so that's the keyboard. Oh, and then this is the code if you want to quickly, I think to quickly show. This is the entire code for the whole thing. I set up the display and I have the neopixel stuff. And then I'm actually using the bouncer, which is this library that was written by David Stiles. And it's actually really nice. It makes it really easy to do, was the key just pressed or just released and it can handle, I think there's an example for key matrices, but it's very nice because it handles like the keywise lower stuff and I don't have to do that logic. Is circuit Python fast enough for the low latency keyboard input? It's fast enough that you won't notice it as a human. Okay. Which is pretty fast. Not worried about it. This is running at 133 megahertz. It's faster than, I mean, it's delayed because I have actually a long delay between stuff, but it's quite fast. And then for the, in the other chat, someone says, can I do this with MicroPython? No, not yet. MicroPython does not have HID support for the RP2040 yet. I think they're working on it, but right now if you want it to show up as an actual keyboard or like, like right now it's not acting like a keyboard, I'm just testing it, but if you want it to actually type things into a computer, you have to use circuit Python for that. I'm not sure, I don't even think Arduino has support for that yet. Yeah, I think circuit Python's the only way to really do this right now. Or Pico SDK, which is not fun. So that, you know, we like using everything, but like let's say if I had a really simple project and I have like a circuit playground express thing, I might use Maycode or if there's something that I care about someone and being able to edit it later, it shows up like a drive, I'll use circuit Python. Or in this case, if I want to do something and have it show up as a keyboard, I'd use circuit Python. So luckily, you know, all these boards, you can run whatever you want on it. Yeah. I mean, this is also not, it's a macro pad. It's not like, it's not a keyboard. I mean, you could do this with a keyboard and it would, again, it would be plenty fast, but it's not a keyboard. All right, what else? All right, next step, we have added our pretty pins diagrams. We were showing off the tool that automatically makes these pretty pin diagrams. So we did NRF 52 boards, Phil B walked out and did them. These are, some of these NRF boards were really annoying. Like the clue, it's like it doesn't have GPIO breakout pins. So it's a little, it's a little tougher, but we did do that. We did the NRF 52 840 feather and the feather sense. And these are just, we have them as PDFs. So the font look good. This one was not too bad to make, but we like to pull apart the internal pins. But what's nice is, you know, I created the CSV file for all of the pin muxing. And so all of that stuff happens automatically. And then I've started folks can, you know, you can run this on your own if you want to pretty pin your own boards. I've started the, we have the Arduino pin updates and is in a pull request, including the, I think the SAMD 21 pins. So maybe I can view this file. Oh, this is not gonna be pretty. Okay, so for the SAMD 21, the thing that's kind of, you know, it's a little annoying is like, there's so many alternative uses for each pin. And we have to have them all on this table. So for every GPIO, there's the interrupt number, whether it has ADC, what's the touch, what's circum, what's the alternative circum, what's the timer, what's the alternative timer, and special inputs like I2S or debug or USB. So I did port A so far, unlike other data sheets that couldn't just copy and paste the data, the mux table for the data, she did not copy and paste in. So I actually had to like hand make this. But the good news is you only have to do it once. And then of course it automatically generated. And then I have this hilariously bad code that you can check out where to determine the Arduino pin numbers for each underlying GPIO number. Like so PA02 is Arduino four on the feather or Arduino pin eight on the clue, whatever. I actually opened up the variant file and like add a bunch of pound defines, delete all the Arduino includes and I actually compile the variant file which has like the special structure. I kind of trick it into letting me compile it and then it spits out the data in the structure because it's very, very, very hard to parse C. It's easier to fake out the file and then add a main function that actually prints out all the pin definitions than actually trying to parse the pound defines and the pin table itself. It's gonna be really, really hard to do that. So we did that and so far so good. Yeah, so I just like, you know, in Python I create a C file and then I let it run and it runs fine. So we'll see, so far so good. I mean, is it hacky? Yes, but I only have to run it once per board. So that's that. Okay, so that's the pretty pins update. And I think that's all I've got for hardware. A couple good questions. I don't know the answer to this. I don't think you do either. Do you have another status of the RP2040 and the ChibiOS thing? I think that's the embedded... I have no idea how ChibiOS is doing. I don't know of any RTOS's or how they're doing it. Yeah, I think that check out their forums. I think there's like a thread on like what they're, they might try to do the reporting. Yeah. Okay. Will the OLED ribbon cable be long enough to route the display up to be flush at the top of the keys? I'm already thinking about designing a 3D printable case wall. It's not, and there's like no real way around it. It's just way too short. I mean, like it's so short. And if I tried to lift it, it would just tear off. So it's, you know, it's not the bestest thing, but for the price. Here's what I'm gonna say. It's gonna be pretty good. Yeah, you're probably gonna build lots of different versions of these. We're gonna have an ink one, like one when there's different types of display. You can also always, you know, connect in another OLED with the STEMI QT port, you know, like there's nothing stopping you from connecting a separate OLED display on, you know, the alternative iSport C address and then using that as the display. Like it's not going to be, you know, that that's fine. Go for it. Is it a great search time? Yeah, it's time for the great search. Where? All right. So every single week, everyone's talking about the chip shortage. Everyone's saying, everyone's saying, oh my gosh, I got to find out where I can get stuff from Digikey, substitutions, part replacements, you name it. And there's only one weekly show that has a weekly segment. The great search, you buy Digikey native root, or lady, it uses all our powers of good to find the things you're looking for at digikey.com. So only, only powers are good. What are you doing this week? Okay, so it's gonna be overhead and I'm gonna show this board off. So this is a board that is, it's okay for now. This is my little iSquared C to Rotary Encoder converter. And in the middle here, I've got my SAM-D09. The SAM-D09 is a very low cost ARM Cortex M0 chip that I got great pricing for. And I use that to read the Rotary Encoder and then I act as a iSquared C peripheral so you can create the peripheral about the Rotary Encoder and that's not having to do the Rotary Encoder math and pin toggling measurements and pin changes and neopixel controlling. That stuff's all handled by this little co-processor that's controlled over iSquared C, wonderful. And I designed like a whole bunch of different boards that were like it. Like I designed this board that has like four Rotary Encoders. This one here, which is still brand new when I designed one that has a slide potentiometer, some folks have seen over the last few shows I've designed them and I designed them all with a SAM-D09. And that's when the SAM-D09 got kind of hit by this part shortage. And so since these boards were just designed, I don't feel too bad about swapping chips before I order PCBs because if I can't get a chip there's no point in ordering the PCBs on a lock. I should get something that I can actually acquire in the next year or so. So I wanted to, there's also a couple of things I wanted to improve on this design. Like this, this is ordering code by the way is like a three year old design. I finally got out the door, so which I'm very happy about. But there's some things that can improve. For example, the SAM-D09, now it's a wonderful chip, but it's three volts only, which means that for it to work over STEM at QT, the iSquared C, I want it to be three or five volt compatible. So I have to have a level shifter MOSFET over here and a regulator over here for level shifting and regulating the possibly five volt power and logic down to 3.3 volts. So one of the things I would like to find is an alternative. If I'm going to get an alternative, I really want to save 15 cents a board and skip those parts because I need fewer capacitors that way, fewer diodes, fewer placements. The boards can be smaller. You can see like it's kind of packed in here, but I still wanted to be able to do all the things that I was having the SAM-D09 do and finding a chip that can do that. I thought I found a good chip and then I'll show you, it turns out that there was not actually a very good option because I can't get it in any future universe that I can see. But I want to find basically a mic controller that is physically about the same size as this. It's not going to be pin compatible. I'm not expecting that. 3 to 5 volt compatible has 8 to 16K of flash. This has 16K of flash memory, but I don't actually need all 16. I think I can do with half as much. I do need a bunch of RAM. I need at least like 256 bytes of RAM. Which doesn't sound like a lot. The iSquirt C buffer itself, I'd like to be, it's going to be 32 bytes in and then 32 bytes out and then I want to control Neopixels and that can be another 64 bytes or so. So it's going to add up quickly. I need 256 bytes at least. I wanted to have an internal crystal. One of the things that I really like about this is you notice there's no crystal or resonator. Those are 20 cents. So I want to cut that out too. What I really like about this is that other than the regulator, there's only like one or two resistors and capacitors needed to get the same D09 up and running. So let's get, let's find something that is similarly very easy to get up and running. Needs very minimal additional hardware because I don't care if the timing is a little bit slow because it's going to be 100 kilohertz iSquirt C peripheral. Doesn't need to be perfect timing. Yeah. General question. Why is the processor rotated 45 degrees on the board? Because it's otherwise it would have gone in the way of the pads. If you look at it, if this was not rotated 45 degrees, it wouldn't fit. I wanted it to fit. There you go. Yeah, it just, it wouldn't fit. Okay. So let's go to Digikey and let's search for this microcontroller. And I'm going to be really flexible about the microcontroller because so I'm just going to search for microcontroller, which I usually don't, right? That's usually... Billions. It's like, is it, you know, yeah, 900,000 results. So there's a couple of different options here, but I really just want embedded, I wanted embedded microcontroller. So let's, let's pick that. So yeah, 90,000 options. So let's zoom in a little bit. So we're going to pick only active parts because I want something that I can get in the next, again, year or so. I don't want something, if it discontinued now, it's never coming back. I'm not going to pick stuff that's in stock, but I'm going to pick something that's normally stocking, right? Cause obviously there's a lot of stuff that's not in stock, but might be in the next few months. That's okay. You know, if I can get samples, I can always scrounge up some samples. I can get the designs developed. And then by the time the PCBs show up in a month or two, I'll be able to go into manufacturer. So this already cuts it down by three quarters. So next up, we're going to actually start picking up specifications. So for GPIO, let's pick that first. That's a very easy thing. I want at least 12 GPIO. I actually probably want more, but the reason I want at least 12 is look, I need, I need, you know, two just for the programming pan. There's a couple of programming pans. There's a reset pan. And then I want it to be able to control, you know, a couple of like four buttons and maybe, you know, four neopixels. And then I want to have address selection pans and the I squared C pans and then maybe an IRQ pan. Basically you do the math and it's like, I need, you know, maybe an activity LED. I need basically 12 GPIO minimum, because I don't want to have a different chip for each of these boards. Like one for the rotary encoder and one for the, one with four keys. I want to have one chip problem. So I'm going to pick 12 minimum. So I'm going to use the min max boxes down here. Great. Next up, I definitely only want to have a surface map part. I am not going to do the whole list, so surface map. For oscillator type, I'm going to want, I don't know what dash means, but I definitely want not external only, like external or internal spine as long as internal is available. For program memory type, there's a lot of these types that basically I just want flash. I don't want EEPROM or UV or OTP or masochrome or FRAM. Those are all going to be very expensive. Flash is the least expensive, most common. So it doesn't actually cut away a lot of things, but just gets rid of the ones I'm definitely not going to use. Okay, so next we can start doing program memory size. So remember I said, I need at least 8K. Now, of course, it depends on the compiler and the optimization and the core and how many bits per instruction, but 8 to 16K is kind of what I want, right? Because also if you think about it, you know the original Arduinos were 8K and then there's the Mega 8 and then we've the Mega 16. And the 32 is wonderful. I mean, I can keep going, but it's going to get more expensive because what you're paying for when you buy a microcontroller is IO pins. It's not really peripherals because like the peripherals are the peripherals. You're paying for flash, RAM and pins. The more you want, the more it's going to cost. But let's just go to 32K. So now we really cut it down because we've gotten rid of a bunch. Okay, so finally RAM. Well, all these are, you know, these all have a fair amount of RAM. EEPROM, you know, if it has EEPROM, great. So the next thing is I'm going to do that power supply because remember, as we're kind of picky about the power supply, I really want to run from three to five volts. In this case, there isn't like a min max. So I'm just going to pick out the ones that go up to five. So here's five and this goes up to five, 5.5, 5.2. The 5.5, so it's just going to kind of go through and pick up the ones that you want. Oh, as you're doing this, you have not been checking the exclude marketplace and all these, is that to add possibilities during the shortages? Yeah, I'm not going to be picky about that yet. I get picky about marketplace later and also usually when, again, as I need something in stock right now and I need it like tomorrow. If this is something that I'm planning for long term, I'm going to pick normally stocking because that means it might be out of stock today, but it would be in stock tomorrow. And marketplace, you know, I'm seeing much more stuff showing up in the marketplace. It's not a bad idea and the pricing can be better in the marketplace. So the oscillator type, what's the difference between external, internal and internal slash external? It means that you can have either, it can support, some chips don't support any external oscillator. Like you can't put a crystal on them even if you wanted to. So I don't care if it allows me to, I just won't connect pins. I won't connect a crystal to it. Okay, so I've picked up all the ones that cover three to five, there's more here, but of course these go above 3.5 or 3.3, so I don't want them. Okay, so now we're down to about 3,000. Okay, so next up, I'm actually not going to select a core processor yet and I'll show you why. It turns out it doesn't really matter. I also don't care about the speed so much because all of these are well, they're basically eight megahertz or above, which is plenty fast for what I'm doing. All of these, I do like that these all have data converters. I'm going to pick only the ones that have ADCs. Some of these have like ADCs and DAX and that's wonderful. They're all kind of a little different. Okay, so selected all of them, except for the one that has a dash because I don't want any that don't have ADCs. Almost all microcontrollers these days have ADCs. And then finally I'm going to do a supplier package. So if you remember that board, I'm actually very picky about the package. I really, really want something that's in QFN, like 16 to 32 QFN because those are very small. The yield is very good. They're easy to work with and they're going to come in tape and wheel and I just like them. I don't want SOIC or SOP, they're going to be huge. I want something very compact. And I found that QFNs, these are sort of my favorite packages. So I'm going to pick out from the supplier device. I'm going to skip the SOICs, TSOPs and BGAs. You know, depending on your soldering, sometimes people are like, no I only want SOICs, I want them very easy to solder. Great, go for it. I want something very compact. So I'm going to pick out the QFNs, QFN, and then you see like a VQFN and VQFN, that's like the density, but I don't really care about those. So there's quite a few of them. That's okay, let's go get through them all. QFN, QFN, not QFP, not QFP. And then a couple more QFNs here. Although now I'm getting into like, once I'm getting into this many pins, I don't need something with this many pins. 32 is actually kind of the max. Although 33 usually just means the ground plane. So I'm going to, I'll add that in. Okay, so now we've really cut it down. So now we're down to like 400 options. And we're not going to get all the way down to like two. Right, that's not, that's not going to happen. However, we can start now, let's look at prices at 1,000 pieces because that's what I care about. So there's a couple options here and I'm not surprised by the options. So the first one is the MS51, which nothing beats how inexpensive it is. However, when I went to put it in my cart because it's like, well, it doesn't have the lead time here, but you know, I do a little trick where I go, I put it in my cart and then I click to check the lead time here for 1,000 pieces. And it says it's not going to show up here till 2023, which I'm not even sure I'm going to be alive then. I have no idea what my life is going to look like in two years. So that's kind of scary to me. So that's why I did get a dev board for this before I saw the lead time, but it's a little bit too scary. For the rest of these, a lot of these were really good. I will say I selected, yeah, normally stocking. Yeah, so all these looked pretty good. There was the, a lot of these had EEPROM, which I kind of liked. And once I sort of saw that there were ones with EEPROM, I sort of started thinking like, well, I kind of want to optimize for those. I want to have EEPROM because it is kind of nice if I can save the iSports address or configuration in it. So I started like once I saw that there were ones with EEPROM, I said, okay, well let's filter out the EEPROMs once. So the next one, so that actually got rid of the MS ones. So there's the ST8S. This one also had a pretty scary lead time. But what I liked is that there were a bunch of AT Tiny 806 and then 816s. So these were the ones that were available and were about like 60 cents in quantity before I even got a quote. And given that I had a choice between, you know, basically for the same, it wasn't that much different in price, the STM8 series and the AT Tiny series, I actually ended up saying, okay, well I'm probably gonna try the AT Tiny series just because I know that there is, you know, an Arduino core for them that I can use so I don't have to write as much code for them. The AT Tiny 816 in particular, I liked it had both capacitive touch and a DAC. So I ended up getting that one to start because I do use capacitive touch for the soil sensor and I'm probably gonna have to replace that one. I'm probably not gonna be able to get that chip either eventually. So I ended up getting, this is a sample and what was kind of nice is for the, in my cart, one second, go to my cart. When I checked the lead time, it was like, well, it's gonna be, you know, August, which was kind of like, which is actually pretty good, like, cause a lot of chips are not available till next year. So the fact that they're gonna have it in a couple months was kind of promising to me. I sort of liked that idea. And they did have SOIC versions of this chip and stock which I ordered. So I got a dev kit for this board. So you can show it on the overhead real fast for this family. And this is the 817, which is a little bit bigger, but it has the debugger built in and has, you know, it has capacitive touch, which I thought, again, it was just kind of a neat thing. Buns and all the GPIOs. And this even has like an Arduino-y pin out. So I can get started with this and there's the X mega core, which uses this chip to give it like an Arduino compatible core. So I can use things like the wire peripheral code. I don't have to do a lot of porting from the existing seesaw code I have. I can port it into Arduino, which I'm very comfortable with. I should be able to do that in about a month. And then I can kind of redesign all the boards that I just did into this new chip set. And I like it. It's a very, you know, very compact chip, very inexpensive. It's about 50 cents per, has everything. And then to program it, it actually uses a one wire program, which is asynchronous UART. So I don't even need to have all six, you know, SPI, ISP pins, like most, if you remember most, you have all six, you need six pins. Clock, mostly me so, and reset. You don't need those. You only need the reset pin to program it. So this is my great search. I think this is, I think this chip is the right chip. So I'm going to get some. And if you're looking for a low cost microcontroller, I think this one's going to be in stock. So check it out. And if you're not looking down, no worry, we'll be soon. Okay, that's the great search tonight. All right. All right, and that is desk of Lady Aida for this week. Don't forget, Wednesday, we'll be doing show and tell. We're hosting it. And then Wednesday night though, APM is Ask an Engineer, but it is the Aida box unboxing. So you'll see that with JP. That's right. So if you got your Aida box, tune in, get the guide live, got lots of projects. It's a good one coming by. You might see JP dress up. One question before we go, since one came in. Hello, you recently did a bunch of rotary encoders. Do you have, or are they absolute or just integral? The rotary encoders are not absolute. They only increment positive or negative. You're thinking of rotary switch, which is absolute, but they're much tougher to rotate. And you need a lot more pins for them. These are just two pins. Okay, all right. Question right at the mark. All right, thanks everybody. See you next week.