 Hey everybody, it's me, Lady Aida. We've got a Monday night, I think it's Monday, right? Monday night, Desk of Lady Aida here at Hacker O'Clock, which I guess is almost 10 o'clock. We just got back from a long weekend visiting family, so we were out of town this weekend. That's okay, we're gonna do a quick and eventful Desk of Lady Aida now that we are back in town. Mr. Lady Aida was with me on camera control. Hello. Hello, do you have any updates or news? No, we're gonna just jump right in. We'll be on show and tell this Wednesday, 7.30 p.m. Eastern time, and also ask an engineer tonight. We just shifted Desk of Lady Aida one day so we could try to do this in the same location and trying to do it from... From a hotel room, not so... Yeah, so, you know, you know, it goes. All right, so take it away, Lady Aida. Okay. So a couple, I did get a couple of things done right before we got on a train. So let's go to the overhead real fast. I can show my power monitoring kit. So I've got here, well, here's another one. Here's the TFT ESP32 S2 Feather. I actually ordered the PCBs for this design and then realized that I'd made a mistake and I did order a stencil, but it was like I really wanted to fix the mistake. So I just reordered the PCBs and I'm gonna have to get a new stencil and that's okay. But what happened is I have a regulator that powers the external iSquared C connections so you can power and depower it. You can power it on when you want the iSquared C enabled and depower it when you want to go into deep sleep mode. So that'd be great for like, you know, you plug in sensors like, you know, this PM 2.5 or this OLED and you only power it when you need to and you only need to power it, you disable the regulator. The mistake I made though is I forgot to connect the pull-up resistors to the same regulator. And the reason I didn't do that is because there is an onboard battery monitor. There's like, oh, well, maybe you'd want to read the battery monitor even if the iSquared C is off. Problem is, is that when you did plug something into iSquared C, there would be a little bit of reverse leakage current, not a lot, but you know, it's, you know, almost a milliamp and it was kind of a downer. And I was like, I, you know, I really want to fix this. So I did fix it in this version, which we've got here and it's running a little test right now. Every second it turns on and I know it's on because it turns on the white neopixel. And you can also see the PM 2.5 turns on and this OLED turns on and then it goes into a cycle of one second of power, like full power, one second of a light sleep. That's a sleep that you can restore state out of. So it's like not super deep. It's just enough that it's like, you're saving a lot of power, the ESP32S2 isn't running, you know, the iSquared C isn't on, the neopixel's on, but you can jump back into your program state with whatever settings you have. You do have to reconnect Wi-Fi, but like you're at least not beginning from the beginning of your program. You have all your state and your memory. And then a deep, deep sleep where you're minimal, minimal power, but to get out of it, you have to perform a hard reset so you do start over again. And we've used that super, super deep sleep state on the ESP32S2 with the MAG tag. That's how you can have it run for a month, you know, every day turning on, you know, getting the weather, getting a joke from Reddit and then going back to sleep for a full day and being able to last a month on, you know, a fairly small battery. So let's look at the PPK. I'm using a PPK to run this. This is the Nordic PPK, the power monitor. Just a great power monitor. One thing I really like about this power monitor, it's small. I mean, I like the monsoon. Don't get me wrong, it's a very high quality power monitor, but, you know, having to get the monsoon out, it's kind of like it's on the desk and then the power supply, I mean, it's a much bigger thing, this is, you know, straightforward, but, you know, not as expensive. Maybe it doesn't do as much stuff with power supply modeling, but it works great. You know, you just, I just made a little power cable here that connects from the control output and plugs it into the battery and I just have it simulate a 3.7 volt power supply. So let's go to the computer. Turn on live view. So you can see here, it's, you know, it turns on. You can see the power supply kicking in, you know, to start up the fan on the PM 2.5 and charge up the OLED, there's this huge spike to 100 milliamps as you're charging up the capacitors, you're charging up the power supply, you're spinning up the motor. And then it gets down to, you know, running about, you know, maybe 40 milliamps or so, maybe 20 milliamps of run. That's not with Wi-Fi, that's just like, you know, kind of just doing some basic Arduino stuff. And this is a light sleep. So this is a sleep where it's, you know, one milliamp or so, maybe 1.5 milliamps. Again, you can restore state. And then down here, you see the deep sleep. So it's 80 microamps, which is pretty good. Considering I think the ESP32S2 has, you know, quiescent of like maybe 30 or 40. And then there's two regulators and there's also like 20 microamps a piece, something, something, whatever, 80 microamps. Basically under 100 microamps, which is in my opinion, very, very good, you know, you're gonna be happy with that less than a 10th of a milliamp, you'll be able to run for a long time. And this is without a lot of low power engineering. I'm not using a special low quiescent power LDO because I can't get it. So I'm just using kind of a standard AP2112. But I'm very happy with it. So I'm, you know, we're ordering the PCBs and I'm happy enough with this that I feel like, okay, I can, you know, release this into the wild now. So that's good. All right, so any questions before I move on to the next thing? No, you can go. Okay, so the next thing is I was working on a feather and you came up with a name for it. It's called the Scorpio. Yeah, Scorpio is probably gonna be the name. Yeah, so this is a RP2040 board that is very PIO focused. And the goal of this board is to be able to drive eight addressable LEDs with high speed PIO because that's kind of like the thing that the RP2040 does. And take advantage of all that RAM that the RP2040 has so you can like do massive DMA buffers. And it also happily does it, you know, in a PIO, you don't even, and I think you don't even need a timer. Maybe you need like one timer for all eight, which is wonderful. And the DMA is all handled internally in the PIO structure. So this is the board. Let's look at the top traces. So here I've got, you know, it's basically the RP2040 feather without the SWD connector. Cause like, nobody really ended up using it. You know, I put it on there cause I was like, oh, people are gonna do debug. And it turns out kind of like people didn't really do the debugger much. They were happy to use circuit python Arduino, which is not debugger friendly. So you've got the power supply and USB and battery, you know, the crystal regulator, battery charger for the RP2040 chip. Here's the boot chip. There's a vertical I squared C, so you can, you know, like the TFT ESP32S2 feather, you can plug in I squared C. I got the diode in here so you can use the boot button as a user button. And what's interesting is actually like every GPIO gets used because to do the eight addressable neopixel strands all at once with the PIO, the pins have to be consecutive. Like they can't, you can't have it be like, PIO like one pin one and pin four, pin six and pin 10, it has to be like two, three, four, five, six, seven, eight, nine, 10. It doesn't have to be on a byte boundary. So it doesn't have to start with zero or eight or 16 or 24 on the GPIO map, but it does have to be consecutive. And given that I wanted to make sure that these GPIO pins like five, six, nine, 10, 11, 12, 13 were the true GPIO pins because as I found out, like when we first started doing RP2040 stuff I thought there would be more pin remapping because I'm really into pin remapping. Turns out nobody else is into pin remapping except for me. And so I have to kind of back off from doing all the pin remapping stuff. So I wanted to make sure that like pin five is really pin five and pin fourth, pin four. And you know, these analog pins are analog pins but 25 and 24 are like the real pins. So everything got kind of tight but here is the level shifter and I even stuck some very small series resistors just to kind of reduce any winging from long strands of wire that could, early neopixels could get damaged if you had a spiky power supply and you didn't have a little bit of resistance in there to keep the, you know, keep it from the inductance of the wire from creating a little bit of a spike. So there's a little bit of resistance there and then there's the two by eight header at the end here with eight outputs and eight grounds to match. So that's the design. And then Phil, Mr. Lady eight, I came up with the name Scorpio because I don't just have to ruin it. Why is it called Scorpio? Well, we'll, in some future shows we'll go into how we find some of these names, but... Maybe hint, it's like this part. Yeah, PIO maybe. Maybe. Okay, cool. So that's the design. Any questions about the design? No, well, do you want to generally just say what PIO is for a few people? Oh, PIO is this, it's a programmable state machine that runs within the RP2040 that's dynamically reprogrammable. So you can get assembler speed, data bit banging, but dynamically and even fast, it's like faster than assembly because you can push things out in one cycle. And all the demos you've seen with like HDMI or ethernet being bit banged on the RP2040, it's all done with the PIO peripheral. It was basically a hack so that you didn't, there's a lot of peripherals that weren't included on the RP2040, like I2S. Instead, they're like, here's how you implement I2S or PDM with a PIO state machine. And there's eight of them. Okay. All right, do you have a great search for this week? Yes. So let's go into the great search. It's going to be this little guy. Wait! The great search brought to you by Rude and Digikey where Lidia uses all of her powers of engineering every week to show you how do you find the things in the world on digikey.com? Perhaps the biggest, best place to get electronic components in the world, what do you think anyways? Any who, Lidia, what is this week's great search? Okay, so this week's great search is while I was designing, you know, whatever I was designing, that's kind of what makes into the great search because I was like, I'm actually searching for this and I should do it. This week's great search is a eight channel buffer transceiver, non-inverting, that I added onto the Scorpio Feather that will convert three volt, one megahertz signal, so fairly fast, signals from about three, 3.3 volts, safely up to five volts. That's the five volt signal comes in the USB line. The microcontroller runs on 3.3. I want the output to be five volts. I can't run the microcontroller at five volts. I run the microcontroller at three volts. I output the signal and I buffer it up and out into a pretty five volt level signal and I want a eight channel buffer that does this nicely and cleanly. So let's go to the computer. Okay, so this is my schematic, these are my signals coming in, eight signals. I'm using, there's actually a couple chips that do eight channel, there's literally buffers. This is technically a transceiver, the 74ahc245. And most importantly is I need it to be really small. Sometimes, for example, if I, let me just for fun sake, I'll show the T-SOP. The T-SOP would not have fit. So this would be the T-SOP version and I'm already using a 402 resistors. There really, there was no space. I had to go down to a QDFN. And thankfully there are QDFNs of 74 series logic. But I never showed, I talked a little bit about ignore gates a while ago, but I never showed how I spec this transceiver because the 74 just means like it's a logic with the family, the TI logic family. 245 is the name of the eight channel transceiver, non-inverting transceiver. But the A-H-T, A-H-C-T, hold on, it is the A-H-C-T actually all sort of stands for stuff and you can't necessarily swap out different versions. The A-H-C is I think high speed and A I think means it can run from three to five volts and can take up to, can take voltages that are above the VCC if necessary. So it's got that, can go from three volt to five volts or five volts down to three volts. And the T is transistor level input. If you get the A-H-T, oh sorry, if you get the A-H-C version that is CMOS and when you add the T, it's transistor level logic. And I'll show you in the datasheet why you want transistor level logic. That's actually a tip to Paul S. from PJRC. You can get away with running the non-T version, but it is good taste and it's at the same price to use the transistor level logic version because it does make a difference. If your voltages are a little marginal, it can make a difference. Okay, so let's go to Lydidjiki. That's a friend site. Yes, sorry, Lydidjiki. And I want to look for a buffer, oh sorry, buffer transceiver. Sever, I for E, E for I, should I spell it right? Yeah, so there is a whole section called interface drivers receivers, transceivers. They're all kind of the same thing, kind of sort of maybe, you know, again, I happen to know that I want the 245 series, but I'm showing how you could kind of like reverse figure that out. Okay, so for this, it's going to be an active design, so I only want active parts. It needs to be small, so I only want surface mount, and I'm going to apply. Next step, I only want stuff that's normal stocking, and I'm going to, for now, just exclude marketplace products. So that just kind of reduces it, and then I thought I clicked active, but maybe I didn't. I'll say that the new thing where it previews the things for you before it does them has confused me a little bit. Okay, I think, oh, you know what? I'm actually in the wrong section. There are two places. I went to drivers and transceivers. I meant to go to buffers and transceivers. Silly me. Sorry, that was interface. See, you're learning something from me. I went to interface drivers, transceivers. What I meant to go is logic buffers, receivers, and transceivers, so silly me. But now we're here, and yeah, now you're seeing there's 74 series logic here, so yes. Okay, so again, I'm going to go for active, and I'm going to go for normally stocking, and I'm going to exclude marketplace. Okay, great. So next up, I want non-inverting. Inverting, of course, flips things over, but I don't want that. I want signal into B, signal out. So I'm going to select buffer and transceiver, both non-inverting, exactly the option of what I just clicked, which is ironic. Okay, so next up I want surface mount, and now we're, so technically a transceiver, the day can go either way. So you could use a buffer, but in this case, one thing I want to do is I want, again, to have eight bits of data, and it can be a little confusing, I'll say, because sometimes there's two things here. There is number of elements, and that goes from one to eight, and then there's number of bits per element, and that goes one to 10, and you might be like, well, how do I want one element with eight bits, or eight bits with one element? You try both. In this case, I already looked it up, so I want one element with eight bits, which is a little confusing. So let me apply that. Okay, so now you're seeing, we're seeing a lot of 245s, because that's kind of the classic part number for the eight-bit non-inverting transceiver. Okay, so next up, remember I wanted to have that small package. The T-SOP was too big, so normally I'm not as picky about the package, but this time I'm skipping over all the T-SOPs and the TF-SOPs, and I'm going straight for the 20 QFNs, and I'll say there actually aren't a ton of QFN options, but the QFN, you know, it's gonna be much, much smaller. It doesn't have legs. A lot of the 74 series logic, of course, started as dip, moved to SOIC, then SSOIC, and then you can sometimes get it in VGA, or in this case, DFN. So last up, I'm gonna do the voltage supply. Now remember, it's the microcontroller's three volts, but I want to output five volts. So what I'm gonna do is I'm gonna power the buffer with five volts, I feed it three-volt logic. Whatever it's powered by is the output signal. So I'm going to make sure that this can be powered by up to 5.5 or six volts, and this is where it's like, it gets really limited. So there's only only like a dozen options now, and then let's just look at the ones that are in stock. So now there's only 10, and I messed something up, hold on. Okay, so now there's a couple different versions here. There's like the VHC, the HC, the HC, the HCS, HCV, et cetera, et cetera. And what I'm saying is I'm going to be using the HCT. And the reason for that is if you go to the data sheet, and this data sheet covers both the AHC and the HCT version, again, HC CMOS, HCT is transistor TT at logic. And if you look at the, okay, this is the HCT 245. The high-level input logic is two volts. You can see right here. And if you go up to the HC, the non-T version, it's CMOS, so the voltage input level is going to be much higher. The requirements to port to register is high. If you power it from five volts, it technically wants you to give it at least 3.8 volts logic, which if you're running a three-volt logic, you're not going to get. Now I'll say, because I'm a naughty person, I'm going to get coal in my stocking, except I'm not because I'm Jewish. But if I was, you shouldn't assume that your AHC logic will be happy with the voltage lower than 3.8. DataSheet specs it at 3.8. It wants 3.8. If you're giving it 3.3, it's going to likely work. So like, don't freak out. But the right thing to do if you're speccing the part, and it's the same price anyways, is to go for the AHC T version, which has the TTL logic input, which means that the logic input level is the same no matter what the voltage is. And then maybe one day we'll cover the difference between CMOS and TTL logic. Trade off, use a lot more power on the TTL logic input. So, down side, but if you're driving eight strands of neopixels from this board, you don't care about power, because one neopixel uses more power than this transceiver. So, not a problem. So this part is quite nice and better off, it's in stock. Best of all, it's in stock. So I ordered a bunch of these. And there's a couple again, there's like the VHCT maybe there's, there could be others that also have, can be driven off of five volts and can take a lower voltage, but I don't remember all of them. I do know that this one will work. So I'm happy to purchase it. And if it ever runs out of stock, I can always look at alternatives. That's great, Church. I gotta get you out of here, lady. I know. We've been on trains, planes and automobiles. So we'll see everybody during the week. Thank you so much for supporting us. Cool, interesting, weird art project. We like to call Adafruit. We'll see everybody during the week. Thanks for joining us on Desk of LaData. Don't forget, we still have pink feathers in stock. We do. So if you want to order from Adafruit, you want to free. This is it. Feather. Get them, get them, get them. They're gonna be gone in like two days. Yes, bye. Bye.