 of the show, it's me, John Park. It's time for JP's product pick of the week. And first of all, I want to thank the chat over on our Discord for asking about the weather. No leaks. Some of you may know I've been having repairs done both here in the workshop and in our house roof-wise. We appear to not have, I don't wanna jinx it, but we appear to not have water coming into the house. It's all staying out. It's Southern California is getting hit by, what do they call this? Like a thunder river, something like that. There's some grandiose name for what we're experiencing and LA can't really handle the rain. So it's wild out there, but I am seemingly dry in here. I'm so glad. Thanks then, man, glad to be back. And hey, over in our YouTube chat, thanks for stopping by. Jeff Hunt, David Essa, Andrew Farnsworth, who's able to catch one of these live. Yay, OG Thinkster, hello. So, what do we have going on here today? I've got a cool product pick for you and you can get a big, tremendous, huge discount on today's product pick by heading over to that URL that you see right there or that QR code. It's 50% off during the show, so you don't need a coupon code or anything like that. You simply put it in your cart up to 10 per customer, no resellers allowed, and you can just buy it during the show. The price will go back up just after the show. So, that is the URL you wanna go to to check it out. And before I go any further, I will have Lady Aida tell us about this product pick. Take it away, Lady Aida. The USB host feather wing. This is using a chip that's actually, I won't say long on the tooth, but it's a tried and true. The Max 3421E has been used for USB host shields for a very long time, and we've been doing more stuff with USB host. And one of the challenges with USB host is not a lot of chips have USB host support. There's a lot of chips that have that you can make the main USB port act as USB host, but then you lose the main, like they don't have two ports, you only have one. And then when you swap it in between the two, it's gonna be a pain. For the RB2040, we made the USB host feather, and you can do that on the RB2040, but what if you wanna use the ESP32S2, or you wanna use your SAMD51 or the NR52040, or other chips that like I said, they don't have a secondary USB port. That's where this chip comes in. So this again, it's tried and true and it's been around for like a decade or more. Over SPI provides a USB host interface, and what's really neat is TAC, who's developed a teeny USB and works with data fruit, has added support to teeny USB for the Max 3421E, it's sort of like as a native backend. So for chips that have teeny USB support, like the ESP32S2 and S3, RB2040, SAMD chipset, NR52s, if they have teeny USB support and they can use the teeny USB Arduino library, you can now have USB host work with it and it works really great. So you've got keyboard and mouse and mass storage and CDC, serial input, it's the low cost way of adding USB host without having like a separate chip that some of my control that could do the interfacing. So check out the teeny USB library for some of the demos that we've got. I've been using the USB host mode and teeny USB for a couple of months now to do all of our programming and it's great. I'll say you're not gonna get super hyper speeds because it's going through SPI, but you definitely can add keyboard, mice, disk drive, you can connect to a USB serial converter like an FTDI chip or a CP 2104 or a native USB if you want. Could be interesting for hacking or like making more complicated projects use off-the-shelf USB perform. Indeed, that is what it is. So check this out right here. Bum, bum, bum, this right here is my product pick of the week this week. It is the USB host featherwing and this has the Max 3421E chip on it. Did I get that right? I have that written down somewhere because I don't use that name a lot. What are you? What kind of, what's your name? Chip, no, oh, that's the wrong. Max 3421E, I think I got that right. Yeah, it's got the Max 3421E chip on it which is a USB host on a chip. This is in the familiar feather form. This is in the familiar featherwing form factor which means you can either plug this right into a feather if you have the socket feather sockets on it that you can press down into. You just solder on header pins onto here or the way I really like to use it is with a feather doubler, a feather tripler, a feather quadrupler. It allows you to stack sort of side by side, place the feather that you want to use with this and other feather wings. And the really nice thing is that this allows you to pick from the feathers that you want to use. So pick a feather if it's one that has the tiny USB compatibility, it's going to be pretty easy to use this along with it. So that can be our P2040 feather. It can be an ESP32, S2 or S3. It can be NRF52840. You can use a M4 or probably an M0 although that's a little underpowered but I've tried it with a couple of those and it works great. So what can you do with this? So normally your feather is going to have a USB port on it so that it can get data and power but it's not really convenient to try to use that port as the host port for another device and that's where this comes in with this paired up with your feather, you can plug in your sort of normal USB-A cable right into this and then have a keyboard on the other end and you're hosting the keyboard, a mouse on the other end, a USB flash drive which is pretty cool. In fact, I've got a demo I'm going to show in a second with that. But first let's take a look at the product page right there. So you can see this is during the show it's $7.48, so nice and cheap. Half the price of the usual and we have a link here to the primary learn guide. So if you check that out, Liz Clark wrote this, thanks Liz. You can get some info about that, there's some nice pictures on there, close ups, there is the pin out. So this operates over SPI, so it uses the SPI bus. And in fact, you could use this with other boards other than a feather if you wanted to, you're not gonna have that same pin out that'll just mate right into it. But if you wanted to, you could wire up directly to the SPI pins that you need. And there is a little in-depth about an advanced use using this GPX pin but you don't usually have to worry about that, just the usual SPI interface will get you what you need. This also has a five volt boost converter on it, so it'll give you a nice one amp five volt that's available to the device which generally speaking is what a USB device that you would plug into this is gonna request. So it'll be happy with that power and should work just fine. You can do some interesting things with this. So besides plugging in a mouse or keyboard and using that data, one that I'm really interested in is using this to host a USB thumb drive. So I wanna show you a little demo I put together and I'm excited about this because this is actually something I've wanted to do for a long time which is, you can see here, I'm gonna pull out that camera a bit and it's just refocusing. So what you can see here, I have a Feather M4, it's on a Feather quadrupler. I have a Neopixel Featherwing on there, I'm not actually using that. I have a little OLED Featherwing, I will use that and then we have our USB host Featherwing. So this is actually, I've got it working battery powered as well though right now it's hooked up over USB and I'm charging that battery. And so check this out. What I've wanted to do for a long, long time is be able to pick up random thumb drives from around my workshop and office and find out what the heck is on them without mounting them onto a computer and then having to eject them if we're trying to be proper about it. I just want a quick sort of gizmo that lets me know the contents of a drive, at least the top level contents. I don't need a deep dive. So what I'm gonna do is plug this little USB thumb drive into the host port and it immediately mounts that and starts reading the contents off for me. So these are just the names of the files that are at the root level and then have it I think looping through there three times. You could of course refine this much more use a larger display, have multiple lines, use maybe this little knob here to scroll through them if you have too many items. But just the fact that it can do this, it can read that fat drive. I think it's only gonna work with that format of drives and tell me, hey, what's on this thing? I didn't involve a computer. I can just unplug this, no harm, no foul and move on to a different drive to see what's on it. And we can also, if I jump over here to, this is in Arduino using the tiny USB library, the Adafruit tiny USB library. I'm going to just give me a moment. I need to pick that board and open up a serial port. Let's see if it'll connect to it. If I pick the right, I'm gonna reset this too. Make sure I pick the right serial port for that. I think that's right. Yeah, okay. So what we should see here is the, I'm gonna expand the size of this little serial port. And now I can plug it in again. It immediately checks this out. I have it doing a little delay. I would actually rip through this list really quickly on the computer, but since I was using my tiny OLED there, I didn't wanna miss stuff. So there it is. This is my list of items. I have it just, like I said, looping through it a few times. So you'll see some repeats on there. But now I know, oh, this has Lars recipes folder on it. And it's got that unknowable things. So we can't know that. There's a read me, there's a read yourself. It's a whole bunch of fun stuff that I now know on that drive without having to plug it into a computer. In this case, of course, I'm using the serial output, but I really like this idea of I'm gonna unplug this from here, a easy to use, completely untethered, plug that in, and it's just gonna read me the contents of the drive. I'm so excited about that. So I might refine this into a little bit nicer package than that and give it some more interaction so you can scroll through your list. But how about that? Can you believe you can do that? Yeah, and DJ Devon three in the chat says, and finally I've found something. I can hot swap without consequence. I'm always messing things up with that. So if you take a look here, this is in Arduino. I have in the library manager here, there is a Adafruit Tiny USB library. Right here, so if you add that, you get some more info on this. You won't see this right now, but it tells you all of the different platforms that that supports. So you can see their NRF 52, SAMD 21, 51, RP2040, ESP 32, S2 and S3. And there are some example sketches, Arduino sketches that come with that. This is one of them right here. I didn't have to do much to this other than adding the OLED support. So you can see here, it gives you some options. I think I cut those out, but it gives you some options for which wire interface it will use depending on the architecture of the chip you have. Otherwise you can see it's bringing in SDFAT, which is how we're able to read the file system. USB H helper. And then most of this is really over my head and is just in the tiny USB library. The way it's able to do this, you instantiate a USB host, which is the chip they're running on that USB host featherwing. And then we're using some file system to read that and print that out. So the example sketch will get you started. I haven't done anything very fancy with it yet. And I think one thing I'll point out, this has an addition to it, which was, do I have it in here? Oh, you know what? I'm showing the default one. The default one worked with serial, but not with OLED. Todd Kurt wrote a new library for SDFAT new variation that allows it to print that list as sort of separate items on the OLED. So in the chat maybe we can discuss that later if you have questions about the exact way this one's working. But if you look in the example folder in Arduino, there is a tiny USB library dual role. Gives you serial host bridge, some HID device report. You can have it just tell you a little USB HID device info that is given up by the thing that you plug in and you can find out lots of interesting things about different devices. Mass storage, there is a data logger example that I believe is in the learn guide that Liz put together. So if you wanna log some data on something on a USB drive instead of flash or instead of a SD card, this is an option. And then there's a couple of other device info scripts that you can test out there. So there it is. I don't dare grab a random drive here and plug it in and be horrified about what's on it. Let's see what happens actually. I have a, here's a SD card reader. I don't know if these present themselves as a USB drive. I don't think so because it's not saying that that's been added or removed. I don't have an SD card in there right now. But pretty cool option there using that as a SD, or rather pretty cool option there using that as a USB drive reporter to tell you info. Let's see some questions in the chat. Is there circuit Python support for this? There is not. This is Arduino only as far as I know unless someone has put something together out there that I haven't heard of. Not sure if the circuit Python support is planned, also another excellent question. If anyone knows, maybe Liz, have you looked into this? Anyone else who knows about possible circuit Python support? But right now it is running in Arduino only as far as I know. Any other questions? Let me check out the YouTube chat. Can I play MP3 from a USB stick? Gosh, that's an excellent question. RollVS asks, I do not know. There's probably, there are some pre-existing, prior to teeny USB, tiny USB, there are some pre-existing USB host libraries for Arduino that have had a lot more example sketches written for them so you can look into that, try looking at Arduino USB host and then examples such as MP3 to see if that would work. If so, that would be so cool. Again, you'd be able to just grab a USB stick, plug it in and play some music off of it, very cool. Yeah, Liz says, believe that it's gonna be investigated in the future doing the circuit Python version. Is tiny USB able to support a USB hub plugged in? That's a good question. Let's try it out. Let me, do I have a, oh, you know what? I don't think I, oh yes I do. I have a hub over here we can steal. This one's a powered hub too, so that might be helpful. You know what, I'm gonna ignore the powered side of it because I can't get that cord easily. Okay, so here's a USB hub. Let's see, with that plugged in, does that confuse it or can it still detect the drive? It has its own hub chip, so who knows how well these play, but I think it should present itself, should present the drive. Okay, so myself up there, okay, so you can see, now I have, all right, to test this out, I've got this USB hub plugged into the USB host featherwing and now I'll plug in a USB thumb drive into there to see. Does it notice that? It does not, now I don't know if I'd need, oh, there we go. Just needed to turn on that set of the ports there. Yeah, so I've got 10 ports here, so. I don't know what happens if you start plugging in multiples in there, it could get super confused, but hey, neat, great question, and yes, it works. So, risky live demo, I know, but there we are. We've got USB hub into USB hub featherwing and a USB drive showing up and announcing itself. So, I won't be so lucky as to get it to work a second time, it looks like, let's try this. It works once, apparently, I pressed my luck. What if we do it this way? No, all right, that's flaky, I wouldn't rely on that, but we can pretend that never happened. All right, let's see, what else I think that should mostly do it, that right there is what it looks like front and back there, has a nice sturdy USB-A connector in the base there that you can plug into. If you wanna pick one up for the discounted price, just head on over to that URL right there and go get yourself one, let's see, here it is, $7.48 and that price will last just until the end of the live stream or a few minutes after. How fast is it, was the question, so this is running at what, I think USB one speeds, is that right, the limitation is SPI, so it's not going 480 megabits per second, which I think is USB two, so this may be running at USB one speeds, not terribly fast. One way, by the way, to look at the data sheet here is to go into the learn guide, click on downloads, here's the data sheet on the chip itself, which maybe, I don't know if this tells you what speeds you'll get running through the SPI interface, I'm not sure if this chip has other interfaces it can do. Yeah, so at host, it's 1.5 megabits per second, they're saying, I'm not sure if I have enough knowledge to answer that question, but there is the data sheet on that, you can check that out, see if that lets you know. We're asking the chat, someone might have figured out the speeds on it, not blazing fast however, that's the layman's version of it, so all right, then I think that's gonna do it. Thanks everyone for stopping by, that is my product pick of the week this week, it is the USB host featherwing with the Max 3421E chip. That's gonna do it for me, I'm John Park, this has been JP's product pick of the week, I will see you next time, bye bye.