 And welcome to Escalator. Hey everybody and welcome to Escalator. It's the end of a late night tonight because we had a jam packed weekend. Good reason. We did all sorts of stuff. We saw Dune Theater, we are so vaxxed up. Yeah, we saw Dune, we went there with Vance and then Vance had this cool shirt and then today, what did we have fun today? Yeah. So Neil Dash came by. Yay. And you know, we did some stuff. He brought by a 30 year old floppy and we wanted to get the data off of it. This is when Prints, formerly known as Prints, had all these floppy disks sent to journalists and more because they said, hey, name change. So this is what you're gonna use from now on. And we wanted to get the data off safely. There isn't any of this on archive.org but there's articles about it. But we ran into Neil at the park and we said, hey, let's schedule some time to get together. We tried everything but turns out what worked was a very old Mac PowerBook 180 I had. Yeah, this is HFS formatted. So it turns out that you actually really do need to have System 7 running on a old computer with a floppy disk but it popped up and it worked fine. We got it. So it's two tips and what's amazing is they were distributing 3,040 pixel by 3,232 pixel at the time. And at the time, it was Monday, July 13th, 1992. Yeah, that's when the file was, it's the creation dates wrong because this is before we had, I think creation and modification dates. So the only date on there is the last modified date which is in 1992. So we're gonna put this up on GitHub, archive. We're gonna do a blog post. We're gonna team up with Neil and do a bunch of stuff in addition to this but this was super fun and thank you so much, Neil, for coming by. You got the purple turtleneck. Came in, diced to the socks. So let's kick off this show tonight, Lady Eda. Okay, so in honor of Neil and Wink, this EFF shirt, he's on the board. He's on the board, giving Tuesdays coming up. EFF is one of many places and nonprofits that we recommend or we personally donate to. We think they're a good organization but there's lots of organizations. So check out when we post about giving Tuesday coming up in like one week, almost. Okay, so in between going to see movies, eating popcorn and then feeling a little sick afterwards because I haven't eaten popcorn in a long time. We worked on some testers. So next week we are going to fab the KB2040 or RB2040 Pro Micro-ish board designed for people who want to make keyboards and they want to use RB2040 especially since CircuitPython has HID support and we also have native keyboard support like key scanning. So, and we're also working on asynchronous stuff right now. So this can make it for a very good inexpensive board that can be used with keyboards. So let's go to the computer. You can show the board itself. So this is the board. It's got cast-related pads and cast-related pads always kind of look a little bit weird because what we do is we put in oval pads and then slice them in half. We put the dimension layer through it. And so far, every board house has known exactly what we meant because we'll just put in the notes like cast-related on two edges and they'll do the right thing for us. That's nice. So we have to test all the connections especially since this is a 0.4 millimeter pitch chip and we do get a gold coat stencil which really helps with the release of the paste but still we want to have a good tester test all the pins. So far, our test code has done really good. We've sent out thousands of RP2040s. In fact, we're going to be doing a cool giveaway with the pink RP2040 feather boards. This week's a stay tuned on Wednesday when we pop those into the shop. And then, right, so we're going to make a tester for this. So the testers, I think people have seen these can go to the overhead. The tester uses a, so I know some of you can see. It uses a teensy 3.6 because I use the USB port and thanks to TAC, we actually have code that loads the UF2. I don't use SWD because it's actually just as fast to just use USB, I actually literally mount this as a mass storage on the teensy and drag the UF2 file over and that's much easier than messing around with a bin file because Arduino core for RP2040 generates UF2 anyways. So, yeah, the good news is that this is pretty fast. Oh, you can't really see it, hold on. Let's try this again. Oh, it's so bright. Super bright. Well, you can see, it had some text time before but it takes about 3.3 seconds to test and then once you're done testing the little neopixel glows rainbow and this is kind of nice when people get this. I like to have the neopixel on board to glow because it tells people the board's working and there's firmware running which is a really good thing for people to know because sometimes we're like, I was on board bricked. It's like, well, if it came in, it has the rainbow glow. It passed test and got code loaded onto it so the USB port must be functional. It's gonna be something with your setup, usually a bad USB cable or a bad USB port. So as I was doing the testing, writing, so you have to write a lot of test code. Just gonna go back to the computer. So I write a lot of test code and there's a lot of repetitive stuff. Like for example, there is a, on the tester, there's an analog divider to test the raw voltage to make sure that the raw voltage on the raw pan is at least like 4.6 volts or so. It's the five volt output with I think a diode so it's gonna be like five volts and drop a little bit so it's like 4.6 cause there's a little bit of that voltage drop on the protection diode. And I also do another analog test and you're testing analog voltage first. You read the pin and that gives you an int and then you have to multiply by the VRaf which is like 3.3 volts in this case. Sometimes it's five and then divide by the bits, the least significant bits per read which is 1024 usually for 10 bit but on the RP2040 it's actually 496 because 496 because it's 12 bit and then you multiply by the ARaf, I don't know if I mentioned that, but basically you have to do a little bit of math to get that voltage from the pin. And so I kept copying and pasting this code from tester to tester which worked totally fine but it was a little bit annoying cause it kind of made the code like a little bit clunky. I was like, oh man, I got to the point where I was like I should have a library that does some test bed help stuff for me because I have such common requirements. So I published a library, it's not in the Arduino core library manager yet but it's on GitHub. So for example, stuff like scan iSquared C-Bus. This is a common thing I have to do. I have to detect it before I initialize a sensor. I want to just check like, does it even appear on the iSquared C-Bus? And that way I can, or if I'm doing address checking like I sometimes short the address pins to power ground and then reset the chip and then make sure that the address incremented up or down or whatever. So I have a little function that just does the thing where it does the begin, begin transmission, check that there's a delay and it returns the whether or not it found it. So that's such a common thing that I was doing all the time. So now I have it. You know, again, it's in this class. It's kind of a static function except that I can configure the iSquared C-Port. So that's another thing. There's always little details like, oh, what if I want to change the iSquared C-Port? Or a common thing is if the iSquared C-Scan failed, I want the tester to say what addresses it did find. So I have another helper function that, you know, it goes through and it prints what was found on the iSquared C-Bus, which is a good debug thing because sometimes my math is wrong. It's like, oh, I thought I was doing address two but it's address zero. So it saves me a couple of minutes because I can, I just call this right after the failure. I have stuff like read an analog voltage and it does the thing where it divides it by the bits and it multiplies it by the A-Rap. And there's a multiplier, there's this divider. And it does all that little math for you when it just wraps into a function and then I can have a prettified test analog voltage function that it'll print what the name of the thing it's testing and then what voltage it's supposed to be and which one it did find and it's within 10%. So, you know, just making it a little bit clear and easier. And then my really common test pins function which is it tests the two pins are shorted and it also checks all other pins on the board to make sure they're not shorted. So it's kind of my like basically GPIO test without having to do like any sort of JTAG boundary scan type stuff. It's like literally I just short two pins that are not mechanically next to each other on the chip and then I verify that no other pins are shorted to it. That's a great way to detect shorts. Okay, question. Does the test firmware have console ripple output? It prints a serial port, right? Which is how, you know, I don't run circuit Python for test code because circuit Python, while wonderful, you know, I want something very, very small and very, very fast. And that timing is important for tests. I need to have it boot immediately and test immediately. And I don't want to have anything in a ripple. So it just prints the serial port. And then in the tester code over here, like this is the TNC output, it reads the serial data and whatever it is printed out, it displays for you. So you can, you see that what would normally be on the USB serial port is displayed through the TNC. USB, I'm like USB to USB. Which is why I haven't two USB ports, it's kind of nice. Okay, all right, thanks. So that's the test bed code. So I'll be adding more to it, you know, I'm adding, as I do, as I redo testers often, we have to redo them. You know, I'm gonna throw more and more stuff in here to make it easier for me to, all the little shortcuts. It should make all my test bed a lot easier to program. So, you know, we have, you know, a nice code here where it's just like, oh, I just do test pins. And then my test library is, my test example sketch is quite short, which is kind of nice. Another thing is it has like a little NeoPixel helper. Like I often have one NeoPixel on the board. So I just call like set color and it will do like setting, you know, the pin and it sets the NeoPixel and does the right. And it kind of just, it just shortens everything a little bit. It'll just shortcuts. So that's good for me. And then to the KB2040, we'll fab tomorrow with luck if everything works out. I want to see this is actually how we internally track a new board. So I've got all of the components listed here and then how many we have in stock. So, you know, we have, you know, 1.5 million, 10 microfiber capacitors. Now that sounds like a lot, but it actually isn't. We go through a lot of 10 microfiber capacitors. A lot of boards have five or six of them. We're fabbing thousands of boards a day. So we easily go through, you know, 10 to 50,000 10 microfiber caps per day. Header and switches. And so you can see all the components that we have that we're going to be using for this build. Another thing is, you know, of course we stocked up on as many parts as we need for the next quarter because we don't know, especially with the Chinese New Year coming up, it's going to be hard to ship things around. It's hard to get parts. So we've got everything. And then if you sort by, you know, quantity, basically we can make up to 720, just common. I usually order about 600 to 700 PCBs for my first batch of PCBs. And we fab 250 for the first one. I found that 200, 250 is exactly the number that if you have to rework a board, it isn't terrible, but it's enough that we can make sure that we get into the shop and then people have a chance to pick up a couple. So that's the upcoming board. So I thought next step, we would go into the great search unless there's a question. We will. You know, one thing I got to do though is I didn't get the great search question into the... Oh yeah. Into the thing I had to get it into quite yet. So I'm going to do that now. That's okay. I'm going to do that now. And while we're warming up for that, here's what's going on this week everybody. So we're going to have a weird week this week. It's a weird week, because it's a short week, don't forget. Sort of, it's a long week for us. So here's what's happening for us this week. Yes. We are... Tuesday. Tuesday we're volunteering at a food bank to get food to homeless shelters for Thanksgiving. Turkey. And then Thursday, we're going to visit eight or fruit employees in the hospital. They're okay and everything. We just don't want them to be alone for Thanksgiving. So that's going to be on Thursday, Wednesday is a normal show. So don't worry about that. Yeah. Show and tell. I mean, JP's out this week. Yeah, I think it's either us or no on Patreon for show and tell. I'll remember that later. Yeah. Live shows are minimal this week. And then there's nothing Thursday and nothing Friday. But you should be enjoying your turkey. And if you're not an American, well, have some turkey anyways. I think turkey's okay to have once a year. I don't know about that, but I do think that you could always play the shows. You know, they're always online. Okay. So let me show the great, let me get this thing ready here. Okay, you ready? I think it's ready. That's cool. Give me another one second. Sorry, everybody. I just gotta do a couple odds and ends here live. Okay. Well, while you're waiting, post your favorite print song in chat. Okay. You ready to do the great search? Yes. Okay, here we go. The great search brought to you by Digikey and Eight or Fruit every single week. Eight or Fruit. Digikey, show you how do you find the things that you are looking for and that is something really important, especially now. Lady Aida, what is this week's great search? Glad you asked. This week we had a request. Email came in. Somebody was asking for 1206 sized warm white LEDs. We use them in our LED sequence. That's product number 1758. And they're like, I just want to use these. I don't want to desolder the LEDs. Because yeah, that kind of sucks. So, can you just buy on real? So we don't sell SMT warm white LEDs on a real, but the good news is that Digikey has like thousands of LEDs. And we've done some high current output color neutral LEDs, but we didn't do this particular thing, which is like an inexpensive diffused-ish 1206 package warm white. So let's go to the computer. Jewelry. So if you go to Digikey, so white LEDs are kind of interesting. They have two locations they show up in. But let's just search for 1206 LED because that's kind of we, you know, whatever we're looking for the size of the LED. So again, there's, you know, white and discreet LEDs. I'll say look in both, but in this case we're going to look in discreet. We want one LED indicator. And there's a couple of different colors available. And there's Milacandala, you know, there's a lot of options. But the most important thing is we did pick 1206. So let's go for color. So, you know, of course, LEDs come in all sorts of colors, but we want white and particularly we want white warm. I will say, you know, what is cool, neutral and warm? It really does depend on what is your definition of. I mean, I know that there's probably some like formal definition, but you have 6000K, 3,500K, and then 2000K, I think are usually the three kind of boundaries. But of course you want to be more specific about color binning and how warm you want the LEDs. You can look at the data sheet and be more specific about that detail. For stuff like the LED sequence, we don't, it's not really like binned or formalized. These are very inexpensive LEDs. So just be aware, like there's times where you're like, I need it to be like exactly this temperature because I'm using it for illuminating something that needs to have like a full spectrum or like a neutral light. In this case, it's just decorative. It sounds like this person's doing a decorative project. Okay, so applying this, there's a lot of options that come up, I will say. However, you know, again, there's like white LED. A lot of these, if you want to know what is the color, like it doesn't necessarily like, you know, here it's actually described as cool white. And of course in the data sheet, you can get more information, but it's not the wavelength, sorry, the color, there's a lot going on here. Sorry, so the color here white is generic and doesn't necessarily indicate that it's a warm white type LED because again, usually the Kelvin warmth of an LED is only used for LEDs that are illumination, not indication, so like bright LEDs. That said, as I was looking, this LED popped up because I was like, well, what if I actually do say I only want warm white and I don't want to like dig, you know, because I wanted to get this person to answer really quickly and I was like, I'm not gonna dig through every data sheet. So I clicked warm white and the thing is that only one thing came up, but it was actually like a pretty good option, which is weird, right? Usually there's like, you have to sift these things. But this is the warm white LED. It's a little bit, you know, an unusual package. It's not like the flat, but I kind of like it's a little bit of a bar shape. And it's 1206, it's quite bright, but that's okay. It's a 2700 milli-candela, which is a bright, it's actually illumination LED. However, that's good. Just the choke resistor used just like making it 10K. It's like you're losing less current. So, you know, good for everybody, everything. And it is cataloged as a warm white and best of all, there's a lot in stock. So, you know, it's 100,000 in stock and the pricing is like pretty cheap. It's like three, four cents a piece if you're buying quantity even. And small quantities, it's like five, seven cents. So this is like, I was kind of like, this is kind of my pick. There could be other LEDs that are more in that, you know, like, you know, Ziggurat shape, whatever, like the Foxy shape. But if you don't mind having a slightly unusual looking LED, you know, maybe it's miscategorized, but this LED would do the job. You don't need to, if you're using something for indication, you can use an illumination LED and just like under drive it and it will work fine. So I think that this is my great search pick. Maybe not what you expected, but there's a lot of them in stock and that's the most important thing right now. One question was why not apply in stock when you were looking up stuff earlier? I didn't because this happened to be in stock, but yeah, usually, you know, if it wasn't that I only had 50 choices, I would have, but I'll say another thing. The LEDs are not as affected by the silicon shortage. So if it is out of stock, it's somewhat likely to come into stock very quickly. Whereas with silicon, if it's out of stock, there's like, it's a mystery when you might get it. So I'm a little biased on some things, but also wanted to have something to recommend for long-term use and this isn't my project. This is another person's project. So if there wasn't really good LED and it was out of stock, but it would be in stock in a month, I'd still send it over and say, hey, look, you know, this is unavailable right now. I don't know what your needs are. If you can wait a couple of weeks, this might pop up. So there you go. That's a great search. Where are you? Okay, so a couple of quick questions. I answered these in the chat, but yeah, yes, Lady Aida wrote much of the software, some of the software and none of the software of our internal system. Some she did, some she worked with our team and then some our team did. Some of the very, very old original code I did, but I honestly, I think it's probably been all yanked out by now because I'm better at hardware than in software. Although it's funny, you know, software people say I should stick to hardware or people say I should stick to software. Well, not our community. You're talking about jerks on Twitter. Okay, and then we fabricate thousands of boards a day. Yep, Monday from Friday. Oh yeah, easily. Easily 5,000 boards a week. Easily 5,000 to 5,000 to 10,000 boards a day, easily. So, and I was putting it in the chat. We ship over 30,000 orders a month. That doesn't include Aida Box, which is every roughly three months now because it's gone to seasonal. Some folks really like how fast we ship. Thank you. And next up, any good suggestions for a USB hub microcontroller breakout PCB for Raspberry Pi? I don't know. I mean, actually we have one, we have the zero hub, but I don't say I just get a hub, you know? Couple, some folks like Purple Ran, I mentioned the solo performance in the Rock and Hole Hall of Fame honoring. It was George Harrison. George Harrison. And they played while my guitar gently weeps and prints it an amazing solo. Let's see, do, do, do, do, do. I think that is it. Good. Okay, keep it straight to the point. Yeah, so anyways, that's our schedule this week. Don't forget Tuesday we're out, Wednesday show, no shows Thursday, Friday, but we'll be around. We're posting tons of stuff in social media. We're exploring New York again and we're doing all sorts of fun things with people and going places. And what a great time and a great city. And thank you everyone for joining us and making this a great community. And one of our favorite half an hour, hour issues that we do every single week on Sunday or sometimes Saturday when we have stuff going on Sunday, this was The Disco Lady. Bye everybody. Have a great week. Happy Thanksgiving. There's new buttons on this thing.