 Welcome to the show! We're here and we're ready for JP's product pick of the week. It's a Tuesday, so that's what that means. And hello to everyone who has bopped on over to the YouTube and is feeling that beat. Can you dance to it? I think you can dance to it. And hello to everyone in the Discord. If you're wondering where our chat is, if you're watching on one of the other services, head on over to Discord. It's the Adafruit Discord server. Adafruit.it slash Discord is how you can get there, and it's over in the live broadcast chat channel. That's where it's happening. So let's get on with it, shall we? First of all, I want to point you somewhere, and that's right here. This is the URL that's going to get you to the 50% off on this week's item. It'll also give you a bit of a spoiler as to what that is. So head on over there, and you will see that this video is playing inside of the product, so you can watch it right from within there if you like to do that. If not, watch it wherever you like. That's fine. We're not picky. And let's see. Thank you, C Grover, for checking the mic level. Looks like we're good. I'm also going to be mixing in some sound later, so we'll keep our ears peeled for that with a second input that has to do with today's product pick. So head on over there to that URL, and you will be ready to purchase, hopefully, that's what helps keep our lights on here at Adafruit, is that you buy some cool stuff. But what I want to do next is jump back in time to when this product was first introduced, and we're going to have Lady Ada give us a little bit of an intro. So take it away, Lady Ada. This is the DRV 2605. This is a haptic motor driver. It drives a vibration motor, and it has effects built into it. It has about 100 different effects, like double click and pulse on and off, and ramp up and ramp down, and all these different effects, and sign you soil, and it can also take audio and turn that into an audio-to-vibration effect board. And you use the iSquared C, and you can basically, instead of you having to deal with having a motor driver, because these motors still need motor drivers, it's kind of a motor driver controller library all-in-one chip. It's got an all-in-one chip that sort of does everything. You solder on a vibration or haptic motor onto the little pads over there, and then you control over iSquared C, and I can just show, I mean, you guys won't be able to feel this because we don't have phyllo vision, but... Not yet. Not yet. Chrome version 50 has phyllo vision. It's a beta. So I can kind of make it like vibrate. I can hear it. Yeah, maybe I'll put it up to my mic. So you can hear it's kind of... Yeah. It's going to look kind of... So that's like... So it's vibrating up and then clicking. So you can tile together a bunch of different effects, and it will go through the effects in order as you want. You can do like a lot of different weird stuff. So you can do like handheld games, or it's used in phones, or tablets, or whatever. That is kind of an interesting chip, because it does something that I've never seen another chip do. You are motor drivers, and you could kind of do this on your own, but this chip like does it all for you. It's very nice, very fancy chip. Yes, indeed it is very nice. It is a very fancy chip. So much so that I'm going to head back there to my cabinet of wonder drawers and go grab one for myself so that we can have a little bit of a demo. I'll be right back. Hey, check it out. It is the product pick of the week. It is the haptic motor controller board. And this is the DRV 2506L. It has everything you need to drive small haptic feedback motors. So I love haptics. I love being able to feel stuff reacting. When I touch it, particularly phones, tablets, game controllers, if you're doing things with capacitive touch, you have no feedback usually, right? There's no actual physical button to press. This may be the answer for you. You can hook this up to small little motors designed for this. It's essentially like pager motors. And it will spin the motor for you. And it will spin it not just on or off or at different speeds, but using a library of 100 different wave forms so that you can get different feels. You can get ramping up effects, ramping down effects, quiet little hums, hard ticks, clicks, buzzes, triple clicks, double clicks, all those kinds of things. Let's take a look, in fact, at the page for this next thing. Let me jump over here. Hey, there we are. So this is the page. I'm going to go ahead and refresh this, because we've got 50% off. So you'll see this is $3.98 US right now, if you want to go and grab one or up to 10 of them. This tells you a little bit of info about the motor. It is controlled over I squared C. So this has your voltage ground, the serial data, serial clock. And it also has the ability to ignore or not require microcontrollers, but instead can bring in an audio waveform, and then it'll actually translate that into the haptics. I haven't tried it that way, but I have tried it with a typical LRA, or linear resonance actuator, which is this kind of little vibrating mini motor. We sell these for $1.95. So this is the kind of motor you want to try with this. You might have luck with other pager motors that you have around. And if you take a look at the Learn Guide page for this, you'll get some more info about it. You'll get the pinout for it. And you can see there those nice two big pads there that you can solder to. You can through hole or even just surface mount solder your wires for your motor there. And one thing I'll warn you, this is something that happened to me as well as to Carter, is if you're not careful, you can vibrate the wires right off the motor. So usually when you're testing these, you'll solder it to the board, and you'll leave your motor on your desk kind of banging against things so you can hear it while you're coding. It'll shake the wires right off. They're tiny little wires, and you can break those. You do want to either mount the motor, which is what it's meant to do. It actually has a little bit of a foam double stick adhesive on the back so you can stick it to something. That's the ideal. Or at least clamp it down or use some tape or some hot glue to add a little bit of strain relief to the wires. And this will show you actually on this assembly step here how to prep the board and attach the motor. Here's an example here, a couple pages with the motor connected. And then we've got info about the library that you can use to code it in Arduino, as well as in circuit Python or Python. And there is a link in here to this Waveform effect list. So that's one of the coolest things. You don't actually have to worry about this stuff on the microcontroller board. Instead, you can just, with our code, and I'll show you what that looks like in a minute, say to it, please grab effect 18. And it'll just grab number 18 from this list, which is strong click 2 at 80%. And you can even build up a little list of these effects. There's a sequence, a little eight slot sequence, where you can have it do back to back to back. It'll play each one in a row. And then you hit the play command. And the nice thing about that is it is non-blocking. So you can hit play and then do other things, like check for buttons. And it'll just be playing these effects for you in the background, essentially. So this is the datasheet for the chip. It tells you all of the, what is it, 123 of these. I'll tell you what, number 118, that's the one that'll rip the wires right off your motor. It's the long buzz for programmatic stopping. I don't know what they mean by that, but that's the one that goes really, it shakes the heck out of the thing. And it goes for quite a long time. It's like 10 seconds of that. So let's get to a demo, shall we? I'm going to jump to how about this view here. So you can see I've got the DRV 2605L here. It's connected over I squared C to a QT pi. And then I have my little motor there is actually stuck down to a piezo buzzer. And that's so that you can hear it as well. I'm going to turn up this other level. Let me know if it's too loud. What happens is when I press buttons on the Wii, or this is the Wii Classic controller that I have plugged in also over the Nunchuck accessories, when I press buttons on this, I'm calling different effects. So you should be able to hear those. And I'm going to stop a second and check the chat once that catches up and tell me if you can hear those and if you can still hear me. That might be crazy loud. So I can mix those down a little bit. Those seem like they're quite loud. That's still pretty loud. All right. All right. Yeah, OK, and I think you can still hear me. Yes? All right, I'm going to wait for confirmation there. Just checking the chat. Hey, Davey B, this looks useful. Yeah, it's a really useful little gizmo. Audio's fine. Great, thank you. OK, so check this out. I've got the, I'm going to say this again just to make my little editing life easier later. So I've got the DRV2605L connected over I squared C to my QDPI RP2040. It's being sent commands to run different haptic waveforms when I press the different buttons of this Wii classic controller. It's also plugged in using StemAQT and a Nunchuck adapter board. They're my little motor. I've actually stuck it with some Blu-Tac onto a piezo pickup so that I can amplify it so you can hear it. So check this out. There's a couple of different. There's a 60% and an 80% buzz. Here's a click, different click. So these all feel really different when you have them connected to your controller. You can tell what's going on. In fact, check out this one. This one's really cool. This is a ramp down. And here's the ramp up. There's a triple click. There's just a big buzz. So all of the different things that you do on your device, be it capacitive touch, be it real buttons, be it some sort of controller like this, you can have the user feel them, which is really cool. Let's take a look now at how this is coded. I'm going to jump to a Adam view of the world. Is that not showing up? Uh-oh. Let's see. I might have some gymnastics to do here. Oh, yeah, there it is. OK. Let's bring me back up there. OK. So in the code here, the way this works, I'm importing a bunch of libraries, including the DRV2605 library, setting it up on the I squared C bus, and then I'm setting up this object called drive, which is Adafruit DRV2605 over I squared C. Then I've created a little function here called haptic. And what I feed to it is an effect number. So that's one of the 120 or so effects that are on the chip built right onto it, as well as the name. I wanted to be able to see this inside of my little ripple here. So let me open this up with screen. Up, dev, tty, usb. OK. So when I press a button, it's going to play that effect. I'm actually not debouncing it, so it's actually clicking a bunch of times. Let me hide that. Like a little less confusing. OK. So I press button A. I get effect 14, which is called strong buzz 100%. Here's B, which is just a little click at 100%. Here's that ramp down long, smooth. And there's the ramp up. OK. So looking at the code, what my little function does there is it prints out the name of the effect and its number. And then I'm creating a little sequence here where I'm doing an effect and a little pause time. So you can put pauses between them if you build up a longer effect. And then I run this play command, drv play. That's it. That's all it takes. So then you can imagine when I'm hitting the different buttons on the controller, I'm just calling that function with different numbers and names, which are what I'm feeding into it. So those are just some of the effects that you can go through and try these out easily. We also have some demo code with the library that allows you to just let them play back to back to back to back. You can check out the whole thing. And you'll see the numbers being printed out so you can decide if you'd like one. It's a really quick way to preview these. So that is the basic functionality of it. Obviously, I'm not feeling it now because I've just got it connected to here. I can probably touch it. Yeah, I'm increasing the noise by a lot by touching that. But it's a really effective technique when you have that stuck nicely to an object that you're using as a controller. So let's see, that is our product pick of the week. There it is right there. That's it. It's the DRV2605. It's half off right now during the show. So if you want it to get one or up to 10 of them, throw it in your cart. The way I've got this set up, by the way, I have spliced in. Let me go to turn that volume down because I'm going to touch that controller. The way I've got that connected, I'll just hold this up, in fact. Just because I like the way that all of the StemAQT allows us to work, I've got the StemAQT going over, or sorry, rather, I've got the QT Pi going over USB to my computer. And then I've got the StemAQT out going to the Nunchuck controller. And I've got my little Wii classic controller plugged into that. And then I have that StemAQT going into the driver board for the haptics, and then the motor soldered onto there with a little bit of tape for strain relief. So that is going to do it. Let me know if you've got any questions over in the Discord. Let's have a look at the Discord for a second here. I'm having troubles typing in it without big lags. So Dr. Seuss is going to put one in a phone case. That's perfect, yeah. So this is definitely similar to the, I mean, these driver chips exist in a lot of phones and other handheld devices. It's kind of the ideal use for them. And this breakout board lets you try that out. So I think that's going to do it. Let me grab one here. And we can wrap it up. Let's see. Put that away there. I'm going to attach this to a something I can stick that to. Sort of stick that to the pegboard there with. Hold on while I have one of these little LEGO, or these little 3D printed tags that I made. There's one. All right. So that's the product pick of the week this week. It is the DRV 2605L. It is a haptic motor controller. And that's going to do it. So thanks, everyone, for stopping by over in the chat. Hi, Red Shepherd. Hi, Ekber, Pat Riley, Tackle the World, and Reid, David Glaude. Nice to see everyone over there in the YouTube chat. And, hey, this is built to code Dexter Starboard. See Grover, 915 megahertz. Todd Bot, Dr. I'm sure I'm missing some people, but this thing won't let me scroll very easily. Charles Brunnerford, hello. And thanks for stopping by today. And I will see you on Thursday for the next John Park's workshop. And then the following week, we'll have another product pick on Tuesday. So take care, Freighter Fruit Industries. I'm John Park. This has been JP's product pick of the week. Bye-bye.