 and welcome to DeskLadyAda. Hey everybody, it's DeskLadyAda. I should actually have to grab my camera thing. You wanna give them the news, Mr.LadyAda, while I grab my camera sample? Yeah, I will. Okay, I'm gonna jet. All right. This is the callin' the biz, you know, dead air. Anyways, during the week, we have our shows, now I can announce it. Everybody's back, so we have Tuesday, JP Product Pick, Wednesday, you know I'm Pedro, 3D Hangouts. Show and tell, ask an engineer. Yeah. JP's workshop on Thursday, deep dive with Scott. Yeah. Okay, we're back. All right, thanks. Sorry, I forgot to grab my camera. Can I show off my Kramas stuff that I was demoing in a little video, but I thought I'd show the camera. Yeah, we have a bunch of videos we'll be posting throughout the week. We have samples and more and stuff from the mail bag today. Yeah, tons of stuff. Show them off, what do you gotta do? So let's start with cameras. So we're rounding the band of all the camera stuff that we've been trying to do. We've been trying to add camera support for like cross-platform, RP2040, ESP266, and SAMU51 to Circuit Python, and also to Arduino as well. Cameras are those things where it's like, there's always like example code for using a camera with a microcontroller if it hasn't been peripheral, but it's always like it just supports that camera and just that resolution. It's like all really like tough to use in my opinion. So we wanted to make something a little easier so that we could actually start doing either like machine learning or like vision recognition or just like image capture for microcontrollers. We're gonna have, I think, one of the best, first, easiest to make your own digital camera. I don't see any of them out there like that, but we're gonna do it. It'll be the easiest to make yourself your own digital camera. You can do stuff just like you can make your own keyboard. We're gonna have a lot of things like that. So you wanna show this off? I do, but you know, I've, yeah, here you go. So, okay, so let's go to the overhead and I'll tilt this like this, which is gonna be a little bit weird. Okay, so you can kind of see me, huh? Yeah, it's real. Okay, so this is actually running in Circuit Python, which you can see when it boots up. It has the little Circuit Python thing. I forgot, the one thing that's a little bit annoying about the Kaluga, this is the Kaluga kit, is that this USB is not the native USB. It's FTDI USB. It's like the debugger. You actually have to connect a USB like, you know, pin out or break out to one of these GPIO pins to get USB. So I'm not gonna show you the code, but this is, and you can see me, hi, hello. This is me going through this camera, which is an OV2640, which is kind of like the modern camera module that people use. These modules are only a couple bucks a piece and, you know, they come with a little flip top. So they're easy to use. We added support for the OV7670, like a month or two ago, about four, six weeks ago. The OV7670 is like the older camera, which is not as modern. One of the nice things about this, the OV2640, is first, you can get it now. It comes in this little mini module version instead of like this gigantic chunky camera that needs a lens, like this is all lens inclusive. You can just use it as is. And it has like some funky things built in, like JPEG mode, like you can actually have it encoded JPEG and download it. So it's an all in one camera module. And so in this code, what we're doing is we're, we allocate a buffer. Like, so the nice thing about the ESP32S2 is it has like that two or four megabytes of PS RAM. And so we can buffer a whole 320 by 240 bitmap image that comes from the camera. And then we blit it out to the screen. So, you know, it's not super fast, but there's no, there's not a lot of optimization that we've done yet. Like right now we're like halting the whole system while we read from the camera, because we have to do this like, that you can't, you can't DMA from the camera because you can only DMA to the internal memory. There's not enough internal memory. So you have to DMA and then computational buffer and blah. So, you know, it's not super fast, but this is 320 by 240. Probably in a preview mode, we actually do a smaller resolution. So it's maybe a little bit faster, but it just shows that you can do 320 by 240. And this is great. I mean, this is really good quality for just like circuit Python with an external camera peripheral. So Jepler and I, Jepler with the code, I only tested it and didn't do anything with it. But he got through it all and we just merged in the changes. So circuit Python seven is going to have native camera support. So if your board has a camera peripheral like the SAMD 51, ESP 32 S2, or the RP 2040, which has the PIO camera, you know, you could fake the camera peripheral with PIO. You're rocking. You can do camera stuff. So that's pretty cool. I'm very excited for that. Okay, what else was next? Okay. Thanks for making the demo. So the next thing is, I did some playing around with, you know, what I'm still on, I'm still on the keys. So let's go to this. So this is a Geekhack 60 compatible. It's called the MJ 61, but it's like a 60% keyboard. And it's got sockets and LEDs, such a kind of a nice board. I want to make something that's circuit Python compatible. And this looks familiar. This is, you know, I didn't have all the keys in, but you can see the keys snap into place here. And there's a little RGB LED that comes out of here. And if you look carefully, you'll note that the RGB LEDs, okay, the RGB LEDs are not in the pixels. You can tell because there's no like black dot in the center of them. That would be the chip. These are just actually raw RGB LEDs. I think I even maybe showed this board off a few weeks ago. And here's the controller chip, which is a STM32F303. It might be able to run circuit Python barely, but we don't have a ton of support for the F3 series. This is a Cortex M3. And because these are LEDs that are not neopixels, they're not smart LEDs. Each one is actually addressed individually. And it's done by this chip, right? This chip is the ISI31FL3741. This is a handful. This is a LED, I squared C to LED driver chip that has all the PWM dimming you need for a matrix of LEDs. And I can do nine by 39. So total number of LEDs is 351. Usually you have three LEDs per RGB LED, or you have red, green, blue. So you divide that by three. So it's like 112 or something, which means it's common for a lot of keyboard projects to use this chip because it can control about 110 ish LEDs, which means it's a full keyboard. You don't want an LED per keyboard driver. So that series of chips, the IS31FL3741 may sound familiar. It's very similar to the chip that we've used in our Charlie Plex wing, right? So this is a monochromatic LED driver, I squared C chip over here, and it can drive 144 LEDs. Again, you could divide it by three for RGB. In this particular case, although I think it's actually Charlie Plex. So in this particular case, it's good for monochromatic LEDs, but you can see that they do dim, right? This is an on-off. It has eight bits of dimming per LED, and it does do it for you. So you just set the memory buffer and I squared C, and it goes ahead and it does the rest. So I feel you want me to show this off. Yeah, so this came in the mail bag. This is from Trevor Flowers from Transmutable Goods. And I'll put the links in the chat. And here's the kit. It's all open source. This is so bright. I gotta turn this out of the way. Yeah. And that's what you get, Kit. Yeah, it's a 3D. Yeah. Do you want me to show it off again? Yeah, let's show it off. So it has the feather on the bottom, and it has even a little slot that you can put. Yeah, I want to try to focus in on that. We got a lot of LED stuff going on tonight, though. Yeah, it's kind of freaking out constantly. And then on the top, you can remove this. Yeah, it's cute. Insert the feather wing. So it's like a nice little desktop. Yeah. Desktop, can you film an OLED or something or display? Sometimes folks send us things with the things that they make based on the things that we've published. That's kind of nice. Yeah. So I got a... So I'm interested in this IS-31 FL-3741. I just have a really long part in that number. So I got an eval board, which of course, now just isn't... I unplugged something. What did I unplug? Or maybe it just needs to be reset. There you go. It just needs to be reset. So, yeah, let's go to the overhead. So this is a... Yeah, I'm trying to... Yeah, there's so many things I gotta do here. So I just thought maybe I would put this on top. That was a little bit. Let's try it. Let's try it. Okay, so, you know, it's right. Of course, it's legible if you're a human. Can't wait to like it so much. But up here, I've got my Metro mini and it's connected over I squared C to a dev board with... It's 13 by nine. That's like the number if you divide by three. It's 13 by nine LEDs. RGB, so you can see like each color. This is a gradient down here. So it goes from dim to bright and then it's got that colorful Adafruit. It's in some tech scrolling because I got it working with GFX. This dev kit actually comes with also an STM chip, but you can remove the jump first quite easily to make it so you get access to the I squared C. So you can send data over. And I published the repo. So if you want to use this chip, you can. So I'm probably gonna start with making a breakout for this chip or maybe an RGB matrix for this chip to try it out. Like, yeah, like I've got the eval boards and I know my firmware is good, but I have to find the RGB LED that's small enough that I can use it in a keyboard, surface mountable and also make sure I've got the package for the LED and all the peripherals going well. So I thought I would do one last thing before we head into the great search and show off that we did get our, I'll just turn this over. Oh, we've got our macro pad, PCBs here. Getting closer. Getting closer. So we're gonna start fabbing this so people have watched me build this. So we're doing keyboard stuff and this is our first keyboard. We're starting with a small one, three by four with an OLED here over this key space person, space cat. And then a rotary encoder, 12 keypads with sockets. They can plug them in. So the Adafruit macro pad is coming to life. All right, so. Yeah, one question. Are those analog RGB LEDs? Yes, they're analog RGB LEDs. I guess that's what we'll talk about that in a moment. All right, do you wanna do the research now? Yeah, if there's no other questions, let's head right in. Yeah, we're gonna do that. Every single week, Lady Aida does a great search brought to you by Digikey. Thank you, Digikey. And Lady Aida uses her engineering skills for good and shows you how to find things on digikey.com. Lady Aida, what is this week's? Great search. Okay, so this was great search. I just talked about how I'm working on keyboard design. So let's go to the overhead real fast because we're gonna split this off. So it's good to really show this. So this is a keyboard PCB. People who make mechanical keyboards. Each key has an RGB LED underneath it, which looks like that. And the RGB LEDs here are analog RGB LEDs. They're not digital, they're not smart. You know, neopixels, dot stars. These are plain, you know, one anode or one cathode and then RGB, that's four pans total. And they're driven by this chip here, which is the ISS, ISSIS31FL3741, which is a 351, 39 by nine LED matrix scanner driver, PWM driver. So that this will be able to control each of these LEDs. And you can have up to 112 or so LEDs, analog LEDs controlled by this matrix driver. So you're probably wondering, and here's the dev board that I've got for this chip, the IS31FL3741. That chip again here, this is a STM, sorry, this chip over here, this is a little STM helper driver. So this chip, you know, is designed to drive a large LED, large, you know, 120 LEDs with full 8-bit PWM per channel. Okay, so folks who know Adafruit are probably like, why use analog LEDs when you can just get NeoPixels, you don't need a driver chip, you don't need to route all the lines, you don't need all the, you just send data over one pin and you're done. Well, let's go to the computer and let's do some math. So the reason why we might want to use, here's just showing you the matrix driver and how it works. Why would you use a chip that costs $2 and then end all the LEDs instead of just NeoPixel LEDs altogether? And there's nothing wrong with using NeoPixels, go for it, they're totally cool. However, NeoPixels cost, you know, about 10 cents a piece. And if you do the math, let's say you have, you know, 100 keys on your keyboard and you're doing them with NeoPixels, so times 10 cents a piece, that's like the best price if you're getting, you know, wheels and wheels of them, you're gonna get as low as 10 cents. You're gonna spend $10 just on the LEDs, which isn't bad, right? If you have a very nice keyboard, you want one LED per key. However, once you get to these large quantities, the price of analog LEDs, you know, you might be able to make it up, but even though you have an external driver, so if you have 100 LEDs and your analog LEDs cost four cents a piece, which will show some of them are even less, but let's say, you know, large quantities, four cents. Okay, $4, you know, that's still a bit because you have to add in the $2 driver, but you're still ahead by four bucks. And if you're making a lot of these, a lot of this product and you have a lot of LEDs, you can see how once you get to like about 64 LEDs-ish, it starts to turn into, you know, you might be better off getting a driver chip, especially if you can get all the LEDs driven by one chip, but you get one chip, it's two bucks. Yes, that's your setup cost, but then each individual LED is only two, three, four, five cents instead of 10 cents. And yeah, for something that only has five LEDs, I always go with dot stars and neopixels because they're so cheap and so easy. But when I'm thinking about a keyboard design or something with a lot of LEDs on it, I'm gonna use a driver like this. So that said, we need to find a low cost analog RGB SMD LED, which is what this great search is all about. Let's find these little friends here, RGB, right? And here's the thing. There are basically three kinds of RGB LEDs. You can have four pin, common anode, four pin, common cathode, or six pin where each LED is individual. These days, I don't see as many RGB, we do stock RGB 50, 50 plain LEDs here, and you'll see that these do have six pins on them because it's R, G and B. There's three individual LEDs. However, I don't see these in the smaller sizes. So just be aware, it tends to be a common anode, common cathode, and this is kind of what I see more of these days. In this case, because of the way this is designed, common anode is more popular and this is showing a common anode configuration, but you could use it with common cathode as well. That said, we'll probably gonna look for common anode design, which means that, let's see, I think we have a couple common anode. Yeah, we have common anode LEDs. There's a gigantic one, of course, but you'll see there's one positive, there's four pads, one positive, one red minus, one green minus, one bead minus. So usually NPN transistors are a little stronger than P-channel or PNPN or PNP type transistors and that's why common anode's a little bit better, a little bit better. It's insignificant really, but it is a little bit better. So this is the driver chip again that we're using in case you're interested. They're gonna have some in stock shortly. So let's look for RGB LED. So we're gonna just search for RGB LED. Don't forget there's the addressable LEDs, these are the neopixels and dot stars and stuff, good things. Here's like our favorite, the jewel, but we don't want that we want discreet. We want individual LEDs, non-addressable analog. Okay, so I told you about the configuration you can get, let's see what you do, let's see what you mean. We can get common anode, common cathode, independent or standard, what's standard, I don't know, but we're gonna actually ignore that for now. Let's just start with, we just want active and let's go with normally stocking because right now there's a lot of stuff that's not in stock, so a lot of times I'm like, I only want to get stuff in stock if I'm getting replacement part or a one-off, but because stocks or components are just so volatile right now, I'd rather see everything and then check what the lead times are. It could be reasonable, usually LEDs are not, I don't think LEDs are strongly affected by the silicon shortage because they're not complicated transistor-based silicon made by TSMC, they're made more locally, they're made by smaller fabs. Okay, so next question is, do we want surface mount bottom entry right angle through-hole? Well, I definitely don't want through-hole. In this particular case, I don't want right angle or bottom entry, although I might eventually look for a bottom entry one just because I want it to poke through the PCB underneath the each switch. So I'm gonna go with your surface mount. So I already only have like 200 options available. So the next thing is, is that like everything else is kind of, I don't really care. Again, common anode, common cathode doesn't matter. Cut tape or tape and reel, I'm gonna eventually push tape and reel. Because I'm gonna be using so many of these, I do want to see the prices at a very large quantity. So about 50,000 is what I'm gonna put in for the prices. And then, so what I did for fun, which is sometimes my trick is I sort downward by quantity. So for example, this LED, it's a very small LED but you can see it's got four pads. This is I believe a common anode. And there's two million in stock, which is pretty cool. This happens to be a one by one sized one millimeter by one millimeter LED, which is a little bit small. I want something a tiny bit bigger. So I will show what the one millimeters are used for. So if we go to the overhead real fast. So this is a ultra, I mean it looks like, it looks like it's a texture, but it's actually your individual LEDs. These are one millimeter by one millimeter, I think LEDs here. So they're used in LED panels. Also sometimes I see them on deaf boards as like micro indicators. They're super cute, but this is a little bit too small for me. I want something a little bit bigger and a little bit brighter. So let's go back to the computer. So for dimensions, you know, I think I'm gonna go at least 1.4 squared. 8 by 8 is kind of big, but let's just do that. Okay, so we got rid of the ultra tiny ones. And so this one is kind of neat. This is actually a reverse amount one, which I thought was kind of interesting, but I actually, I think I'm going to start with, you know, this size, which you can see there's a couple of options that are very similar in size. I think this is one point. This is three, sorry. This is 1.6 by 1.6, which is, you know, a little, you know, it's a bit bigger, but it looks like there's a couple of different standard sizes for this. And in fact, if you look at the, so here if we look at the overhead, so this grid, this matrix grid, these are, this is that size. And I can even tell by looking at it, it's the same package. So this LED is similar to what was used on the eval board. Let's see if I can, this doesn't zoom in, right? Yeah, here's a minute. Okay. So yeah, you can see these are, these are a little rectangular. Okay. So let's go back to the computer. So I ended up deciding to go with this. And there's a couple of things that I liked about this LED. One, it's nice and big. Looks like I can even hand solder it. The other one obviously is picking place only. This one, I like how you can, I could debug, you know, solder this pretty easily with a fine tip. It has a common anode connectivity and the LED milcandela's are really high. So 630 milcandela for each one is, I zoomed too much. 630 milcandela each is nice and bright. It means that even when a PWMing, like it'll look really good. You can do global current control so I can have a lot less current and still get a very bright light. Also sounds like, you know, it says mixed white. I wonder if this is balanced so that when all the LEDs are on, it kind of looks, it kind of looks white and looks like these are bend as well. So this is a pretty nice LED. And again, it's like five cents in quantity. So a good, if I'm looking at making something with 60 LEDs, like a 60% keyboard, adding these up and then including the driver chip could end up being a really good option. Another nice thing about these LED drivers is you don't write the entire number of LEDs at once and also happens over I-squirts your SPI so you can use DNA. And you can change individual LEDs, you don't have to write the whole thing out which can speed up the system quite a bit because you're just writing out like, set LED to X or set this other LED to Y, you don't have to write out the entire LED strip like you do with neopixels and dot stars. So pretty cool. I like that there's a couple options in this size as well and there's 12,000 stocks. So I'm digging it. This is the B38 G3 RGB from Harvard Tech. There's a lot of LED makers. So it looks like a jelly bean part and I'm gonna pick some of these up and then you'll probably see these in a couple of weeks when I design them into my keyboard controller. Very exciting. All right, that's a great church. Where are you? Questions. Great. Someone had something they want to check out in Discord. I'll show you after the show. Okay, cool. What's about it? All right, thanks everybody. We'll see everybody during the week. We got all the shows going on. Thank you so much for supporting. I'm just gonna say it until someone will actually means on Twitter or something but I think thanks for supporting the only 100% of woman-owned manufacturing company in New York City. Yeah, sure. Okay, oh, there is a question. Can that driver work with RGBW analog lens? It'll work. LED, sorry. Yeah, it will, but you'll just get, of course, you'll have to do four LEDs. Okay. LED. Oh, looks like tomorrow's sold out so it'll be a long Monday. Longest Monday of the year. Oh, that's great. That's cool. Okay, we'll see everybody later. Good side. Bye-bye.