 So, it's me, JP, and it is time for another JP's product pick of the week. Can you believe it? Here we are again. First thing I'd like to do is there's this piece of tape that's been sitting here bugging me, and I never really wanted to reach out during a show and grab it and take it off, but I finally decided the time was right for that, so thanks. Thanks for putting up with that. Hi, Mr. Certainly. Hello, Johnny Bergdahl. Hey, see Grover. We've got people in the chat. Dave Odessa. I'm seeing people in the chat over on YouTube as well as in our Discord. If you're wondering where the chat's at, that's where it is. It's in the Discord. You can go to adafru.it slash discord. You'll get an instant invite, and then you can head over to the live broadcast channel, live broadcast chat channel, where people are hanging out, and if you have any thoughts or questions during the show, I'll take a look at that. If you're over on Twitch or Periscope or LinkedIn or any other places that we're broadcasting, I'm probably not in that chat, Facebook, but I am here in Discord as well as YouTube, so come on over. All right. Well, let's see. Let's see. What's the first thing I want to do? The first thing I want to do is actually get you to head on over to this page right here. That is where you're going to find our product pick of the week, so I know I've given it away a little bit there, but the product pick of the week is at that URL right there, at the bottom, or that QR code, and if you head there, you can watch the show from inside the page. This YouTube video streaming inside of there, and you'll get a 50% off discount on today's product pick of the week, so head on over there and watch the show and maybe buy some of this cool new product pick of the week. So without any further ado, let's have Lady Aida tell us a little bit about what we've got this week. That's right. It's time for the RP2040 QT Trinky. Thank you, Bungo Cat. So this is a new Trinky, and this Trinky has a lot of different purposes. So first off, it plugs into your USB A port, of course, it's extra thick, so it fits snugly inside, and it has inside of it an RP2040, you'll look at the beautiful photography with the Raspberry Pi logo. It's got eight megabytes of flash on the left there. It's got a reset and boot button, so you can reset it, and the boot button is also a user button, so you have like one input button if you need. There's a little neopixel for status, or you want an RGB LED, and then on the right, yeah, the buttons are on the side, and the reason for that is because the shape of it is one inch, the body is one inch by 0.7 inches, which is the same as the majority of our Stemic QT sensors, which means that you can, if you have some M2.5 machine screws, nylon screws recommended, so you don't short anything out, you can attach it on top, but you can still get to the buttons, even though something's attached on top, so you can make a customized USB to iSquared C connector, and so here, for example, what's interesting about this is that you could have circuit Python running on this board, which I think in this case is what's going on here, you program it over iSquared C, you program it over USB circuit Python running on the RP2040, and then stay connected to this iSquared C OLED, or what you can do is you can drag and drop this special firmware called U2IF, which I know sounds a lot like UF2 or U2F, but it's not, it's this intermediary format that does USB to iSquared C, and then you could use C Python on your computer to send data to the RP2040, sort of like a little bridge USB to iSquared C device, so you can use it to program any of your Stemic QT enabled devices, OLEDs or displays or sensors or fan controllers or what have you, and the RP2040 is powerful enough, has enough RAM and there's enough storage on board that you can basically have every single Raspberry Pi driver on there, and it's definitely fast enough to drive, and have enough memory to drive any of our sensors and devices, so we went with the RP2040 because it's inexpensive, but powerful, and it's a great USB trinky friend for connecting to any iSquared C device. Alright, that sounds terrific. In fact, I've got to go and grab one right out of my mystery wonder cabinet of drawers of good stuff. Be right back. That's right, the product pick of the week this week is the Trinky QT 2040. This is a USB key and it's a QT with the RP2040 chip running on it. It's got eight megabytes of flash RAM, so you can load up a whole bunch of code and libraries on here, and then since we have that USB A connector, you can plug it right into the side of your computer or a laptop, or you can use an extension or a hub if you want, and this gives you instant access to circuit Python running on the chip or using the U2IF, which is a USB to interface code that you can run on here, you can then access any of the Stemic QT sensors or inputs that you want to plug into here, including screens, I'm going to show you a couple different demos of that, and access those directly from your computer using Python and Adafruit Blinka. So we've got a lot of options on how you can use it. In those cases, in fact, you can use it under Windows, Linux, Mac OS, or you can run just straight up circuit Python on here. So we have a lot of options. What I want to do, in fact, is let me show you a couple of things. First of all, let's take a look at the product page. If we head, how about over to this one right here, you can see this is the product page. And if I reload that right now, you'll see that we are selling these right now for half off. So 50% off, you can get one for $3.75, which is fantastic. This is essentially the same thing as any of our QT RP2040s, except it has this really cool, convenient factor of plug it right into your computer without a USB cable at all. And it's also got the mounting holes in a slightly larger size than our QT that allows you to attach most of our sensor boards that you see over here on my wall of STEM at QT stuff, right to it using a couple of or four little standoffs and screws. We like those M2.5 nylon ones that we have in the store. This does not have the castellated pads or the general purpose IO, because you're really meant to plug it in and then plug a STEM a QT thing into it. But it does have a couple of buttons on it, one of which you can use as a regular button once your code is running. Otherwise, it's going to act as a boot button for flashing it. And we also have a neopixel built right on there. So you can do things with that for lighting up based on different factors going on your sensor code, that sort of thing. So head on over there to check that out. You can then go over to pick up the circuit Python build for that if you want on circuitpython.org. It's all there. Or if you head into the learn guide for this that Katni wrote, you'll see we have not only the usual circuit Python, but we also have Arduino and we have this U2IF Python example. And that's actually what I'm going to show you first. So let's get set up for that. I'm going to head on over to a terminal. And that ought to work. So what I'll do is you can just plug these right in. I've got, this is like a little hub I have sitting here. And the one I'm going to use actually has a little sensor breakout board built onto it or plugged into it rather. Get my glasses on so I can see this stuff. So what I have going on is a TLV 493D, which is a magnetometer. And you can see just for quick access, I've put a couple of little standoffs on here that I can pop it onto the board without needing to thread it on. That'll sort of stay in there for the demo. And then you can see I've got a little stem of QT cable here, plugging those two into each other. And I'll go ahead and plug that into this hub. Now what happens when that's plugged in, since I have the U2IF code running on there, what I'm going to do is head over to my terminal and whoops, accidentally launched my calendar. There we go. There's my terminal. So here I've got a bit of code I'm going to run here using Python 3. So this is running on my computer. This happens to be a Mac. And when I run this, what it's going to do is watch for a magnet. Let's see, is this running? Oh, I've done something bad. Let's see if I can... Let me move this out of the way first of all so that we can see. And, okay, it was running. What happened? Did I run the wrong code? I think I did. No, that's the right code, yeah. You know what? I may need to run environment variable first. So hold on one second. Let me see if I can find this in my history. Oh no, you know what? I think I relaunched this terminal. Okay, hold on one second. And what I'm going to do actually, I'll show you where I'm getting the answer to my question here. I will go back to Chrome here. And in this U2IF example, it tells you how to get it all set up. So you're getting Blinka set up in some of the libraries you need. And then, excuse me, we're going to let's set... I'm going to go to this setup on PC. I'll head to the Mac section. This tells you what to install. And then I have to set this environment variable, Blinka U2IF. And this is what's going to allow this USB device to be found via Python on my computer. So I'll just actually just copy this code. I'll go back over to my terminal here and paste that code. Okay, now we'll try running this again. Oh no, disaster. What's going on? What have I forgotten? All right, you get to watch. This will be a longer episode because I'm going to go ahead and do some troubleshooting here. So I'm going to put my... I'll leave the terminal up so you can see what I'm typing in. I'm going to put my Chrome browser where I can see it. And let's see, what am I forgetting? That's all good. Let's do a Python 3. So from here, what I'll do is I'll import HID and the device. I'll try seeing if I can import the board definition. Make sure that that's all running. So this is all the answers I'm getting here are in that circuit Python libraries on any computer with Raspberry Pi Pico. That's been extended to work on a number of our boards. So back in here in Python, I'm going to import HID, HID enumerate. This will show a big huge list of the things that are plugged in. And the one I'm looking for is right here. It's the QT2040 Trinky U2IF. So that's good. And the release number, manufacturer string, I need the manufacturer or the vendor ID, 9114, product ID 265. Okay, all that is good. So let's thank you over by way in the chat. People are trying to help me figure this out. So I'm going to run through a couple other checks here. Let's do device equals HID.device. And then I'll do device open. So open the USB device. And actually, I can't use the one on that page. One second, I'm gonna, we just updated this guide so that we can type in the right vendor ID and product ID. So vendor ID is going to be 0x239A. That's the Adafruit vendor ID for USB. And then the product ID for this one is 0x0109. And it opened. That's good. Okay, so I can close that. And let's see if I can run. Oops, let me exit. Okay, yeah, let's try running that. Python 3, 2IFQD magnet. Oh, I wonder if I just, I may have actually updated that code in a bad way. Let me open up, I'll show you the code in Adam that I'm trying to run. Switch over to Adam for a second. Yes, it is this. And ah, okay, it might have been working. And yeah, it was working the whole time. I turned off my print statements and confused myself. That's what I did. So let me, let me turn that back on for a second just to, okay, so I'm saving, this is Python code on my computer. So I didn't just save to the device. So now what I'll do is I'll head back to my terminal. And here I'm gonna cancel that code that's running and then relaunch it. I just resaved that. Did I save it? Oh, I didn't save it to the, where did I? No, okay, that should be showing those print statements. What did I do? I didn't save it. All right, let's do one more try. There we go. Okay, so now that I've plugged the device in, there's a couple things I want to show you. I have the magnet sensor here and I have a couple different magnets. This one's a ring, a magnet ring that's actually used by magicians for different magic tricks and magnet tricks. And what you can see is that there's an X axis and I am, as I move the magnet, I'm getting different, I think it's micro Tesla values reading out on there. And then you'll see that on the board itself, what I'm gonna do is give you a close up and switch to that view. Should be able to see that. There's a Neopixel built right onto the Trinkie QD2040. And as I move my magnet closer and further from that, I'm just adjusting the brightness of that Neopixel. So you can imagine, I'm gonna put the ring on, I'll put it on my index finger so I don't block as much. But you can imagine now, if I'm gonna use this for some sort of proximity sensing thing, if maybe we want to have a control of some kind or if you're using it for some sort of secret magic trick escape room kind of thing. Now we can just sort of subtly, we're not touching anything, not clicking anything, you don't have to make any contact. In fact, this can be hidden. So if you have that magnet sensor hidden under something, it's still gonna react as I get that magnet closer and further. And so all that code is running right on that QD. There, that little Trinkie QD. And you can stack your sensors on like this, like I'm showing here. What I'll do, I'm gonna actually stop that program running and show you a different example. So in this example, go ahead and plug that. What I've got here is one of our breakup boards for the Nintendo Nunchuk, the WeChuk. And so I have the QD with the Nunchuk adapter. And then I've also plugged in, continuing that STEMA QT I squared C goodness, I've also plugged in a little display. So if I plug this into my hub now, give that a second run. So this one is not running on the Blinka on the computer, but it is instead running just as a circuit Python device. However, what I'm using it for is the USB HID mouse library that we have. And what I'll be able to do is, as I adjust, I'm just using the joystick on this and a couple of buttons, what you'll see is if I press the C button, it tells me the coordinates of the joystick. So if I move left, you'll see we get a low number on X. If I move right, we get a high number. If I go up, I get a high number on Y. If I move down, I get a low number on Y. And so what I'm using this for is actually adjusting my mouse cursor. And then I'm going to use the Z button as a mouse click. And so in order to demonstrate this, what I'll do is I'm going to open up Photoshop here. And we'll go to a view like this. And maybe I'll try to keep that grungy looking. This is one of our real old Wii controllers, a little dirty. I'll keep that sort of in view here. And then if I switch over to Photoshop here, what you'll see is, see that little circle? That's the brush cursor. And it actually moves really smoothly on my screen. It's going to, I think, appear a little jittery on this screen capture. But what I can do is if I press and hold the Z button there, I can now use this as a drawing cursor. And I actually set this up to have sort of an acceleration. If I hold it slowly, I can move at a sort of simpler increment. If I move it fast, I kind of accelerate. And so you can paint with that. You can also switch to other tools like, let's say, a paint bucket and come around and fill in some blanks here, which is fun. And you can imagine you can also use something like the accelerometer that's built into these. There's a three-axis accelerometer. So you could do a lot of different functions with this as essentially a mouse with a joystick, a couple buttons, and motion sensing. And all of that is thanks to this lovely little Trinky QD2040, allowing me to plug in all of these I2C devices over Stem-AQT. These are I2C devices. A lot of the Nintendo accessories are pretty much I2C devices, so we have libraries for that. But I'll go ahead and unplug this again, and you can see what a neat little package we end up with by, hold on, there we go, by simply plugging right into our Trinky RP2040 QD. And since it plugs right into USB on its own, it doesn't require another USB cable. So you can imagine you can now plug this into pretty much any laptop, any computer, and any hub, and use a sort of array of I2C devices. You can stack them up if you want, and then plug those right into your computer and use them either with the circuit Python code, Arduino code, or using Blink as I showed before. So let's see. Let me see if there's any questions. I'm going to run over to the chat here for a second. Yeah, someone asked about Arduino. I think Arduino's support is on the way. Katniss said there's an Earl Philhauer Arduino core, which has RP2040 support. So yeah, there's a link in our Discord. I don't think I have, oh, there's the Discord. Yeah. So bring that up. You can see the conversation there about how to get Arduino running on there. Someone said, for the Photoshop demo, vision impaired, nice contrasting colors would be great. Thanks for considering. Oh, I thought those were contrasting. I hope they were. I tried to do contrasting colors with magenta and blue, but maybe I should have gone more aggressively with that. Sorry about that. I know the cursor is hard to see. The cursor is just a little thin white circle. But let's see. You can probably even see this if I click over into Discord, you'll see that cursor moving around. That's my thumbstick cursor. If I click, I can double click, triple click. I can pick some text, that sort of thing. Let's click and hold. So that's all using this lovely little sensor, Nintendo Nunchuck, plugged right into our Trinky QD2040. Let's see. One thing I completely failed to mention is that we've got a delightful mascot for that guy right there. That is our QDRP2040 Trinky Gator Croc. Not sure which, but he's a lovely fellow. I have him all over the screen now. I think that's going to do it. Let me know again if there's any questions in the chat. I'll pop in over on YouTube. David Eskaz, how do you know which drawer to open? They all look the same. Some mysteries are never meant to be explained. The Sparkle Beard says, really nice baseboard for some sensors stuck directly into a wall wart USB charger. Yeah, that's a great point. We actually, there's a nice, I think, two or two and a half amp USB 5 volt wall wart that Adafruit sells. And you may have these from your phone chargers as well. But you could plug a sensor right in or stack a sensors right in without the needs of USB cables. Someone says, it'd be amazing to see a future version with a Bluetooth radio. Oh, yeah, that's a good question. I don't think we have any Bluetooth Stemma QT devices yet. So if that's possible, we'll probably do it. All right. Good. Well, thank you all so much for stopping by. Thanks for your questions and comments. I think that's going to do it for today. So that is our product pick of the week. It is the Trinkie QT 2040. It's a USB key and a QT RP 2040 all in one. You can plug lots of Stemma QT I squared C devices into it and get to work. So I'll place that on my Stemma QT wall of goodness over there. And I'll remind you if you want to get one or a bunch of these right now, head on over to the product page for that, which is right here at product ID 5056. And for the duration of the show, they are $3.75, which is 50% off. I think you have a maximum order of 10. And go grab some, grab some other stuff while you're there because you can plug pretty much any Stemma QT thing into it that you want. All right. Well, thank you all so much again for stopping by. I'm John Park. This has been JP's product pick of the week. And I'm signing off. Thanks, everyone. Bye-bye.