 So it's me JP, it's time for JP's product pick of the week and I thank you for coming here for stopping by and hanging out. First thing we're going to do is check and see if this is, no that's not the one. I haven't plugged a, ah-ha, here it is, it's like why is this HDMI thing not plugged in? Hey, it's back, alright that's much nicer. So next thing is, yeah so here we are and let's see, let me grab my, yeah okay we're all set up, people over in our chats, if you're wondering where the chat is happening, who am I talking to, who am I looking at over here, who's confusing me or delighting me. I got thrown there by Jenny Birdo, said sorry wrong account, I was like uh-oh am I sending from the wrong account, that has happened, no in fact our chats are the YouTube chat, hello Davidesa Tackle the world, Anthony Bacchera, type 2, hello, and no, type 2 says JP product pick of the week seems to be whatever overstock Lady Aida is pushing, that is not true, there's no overstock, in fact I don't think we have a ton of these, it's often new stuff and what we do is we take a chunk of maybe a hundred of them and we set them aside so that there's enough for people to get on discount, but it is not, we're not pushing junk on you, sorry type 2, wrong, but the other chat we've got, so we've got YouTube so thank you everyone for stopping by, I don't mean to be too harsh there type 2, the other chat we have is over on our Discord so if you're in Twitch or somewhere else and you're wondering hey where is the, where's the chat happening, check out our Discord that's at aidafru.it slash discord and you can look for the live broadcast chat channel, it looks like this right here, people hanging out there, hello C Grover, okay you're on, nice to see you, Johnny Bergdahl, Sam J4, Maus Toddbott, hello Jim Hendrickson, thanks for the gift here, I don't know what this is about, but yeah that's right okay you're on, please return your trade tables to your upright and proper position, I don't know about all of that there, doesn't seem appropriate, alright everyone's throwing me for loops today, so I'll stop reading those and I'll focus instead on showing you the cool stuff that we've got here today, before I show it to you however let me tell you if you want to get a jump start head on over to that URL right there or that QR code it's product ID 5753 and you can watch this show from inside of the chat, there's no coupon code necessary, there is a discount it's 50% off you can get that discount just simply by putting this item in your cart, you can get up to 10 of them, no resellers, reseller accounts allowed, throw them in your cart and buy them before the end of the show or just about pretty soon thereafter because then the price will be reset back to the original price at the end of the show, so before I say any more this I will say this is a hot off the press item, this just came out there aren't that many and I don't think Lady A has done a full demo herself of it yet often she has in the new new new segment, so just to prepare you this is gonna be a very short new new segment and hopefully I can provide some details in my demo but why don't we have Lady A to take it away. Got this PC joystick to C-SALT converter so if you have one of these old school joysticks and you want to take to I squared C you'll be able to do it with this breakout board that has an AT tiny that acts as a C-SALT converter so you do the analog grids for the joystick and the buttons as well it's also IRQ and it's like fully assembled and you plug in your joysticks. Did I say it was quick it's quick so that's the product pick of the week there right there it is the PC joystick C-SALT adapter with Stema QT this is an I squared C adapter for plugging in the 15 pin D sub connectors to what you would normally have as a DE 15 port on a PC for a PC joystick and instead you'll be able to use all of the great info that's coming off your joystick in your micro controller projects so what we find on these typically and you'll it'll vary depending on the joystick you have first of all let me show you here was a very fortuitous find I got at a thrift store just a couple of months ago it is this Radio Shack four fire buttons flight joystick so this has XY joystick action and those are two potentiometers and then it has four buttons on it that you can press so we can read all of those and then this one also has a throttle will throttle control and that you can also read on here you can in fact read two sets of XY so you could have rudder throttle and the joystick that's not too uncommon in some of these setups and all of that will be read by the little onboard seesaw chip and then spit out as nice easy to read analog for the joysticks and button mask data for which buttons you're pressing so let's take a look here is the page for this so you can see here there's a nice gravis joystick that lady Ada had that she plugged into one that looks like it's a two button maybe three button that might be a third button there for the for the thumb on top there it can vary nice connector on there happens to be called con fly that's at least the current supplier of this D sub 15 connector we're using on here and you can see this has a couple of STEM a QT ports so you can plug in STEM a QT slash quick connectors and then plug those into your microcontroller and then we also have it broken out as some pins if you want to use this on a breadboard or wire it more permanently you can use those connections there here's a nice picture of it from the side and here is your DB 15 connection I'll show you this in action in a second on this joystick that I got and in fact I don't think the guide is up it is in moderation so there should be a guide up pretty soon that has sample code wiring diagram in it for you one thing I'll point out is if you want to look this up when I first got this we didn't have the nice breakout so I did a sort of manual wiring job you would need to reference one of these this will show you what the pinout is of those 15 pins you can see here there's a number of pins that have plus 5 volts so we have a 5 volts regulator on here or a booster in case you're getting a little little off of that from your USB or your power so we give you the the real 5 volt that these joysticks want and then you can see there's button one joystick 1x couple of grounds joystick 1y a button another 5 volt another 5 volt button 3 then joystick 2x a ground that's shared amongst a bunch of things joystick 2y another button and then another 5 volt so figuring this out and plugging up the proper resistors is a little bit of an ordeal so it's really nice that lady to put together this kind of all in one just takes care of the problem for you plug it into any microcontroller or if you have an I square C to maybe using a raspberry Pi you could use this as well as people have mentioned over in the chat we did have these on sound blaster cards for at first these were straight on the PC motherboard then these moved typically over to the sound blaster cards in the 90s and now they disappeared we don't really have a port for these on most PCs and you shouldn't certainly didn't have an easy way to use them with microcontrollers but now we do so here is demo I want to show you let me show you what give you the lay of the land here my camera angle is a little funny here but you can see I've got my my lovely joystick here it has three buttons that are accessible with this thumb there's also a trigger button right here that you can see we have a hat switch which actually just sends collections of buttons that's not extra joystick or anything we have a turbo button which there's a little controller inside this particular joystick that will allow it to spam some of those buttons for you add a couple of different speeds so turbo one and turbo two speeds you can see I've got throttle so this is another potentiometer down here and there's a on off for the throttle and then there's a on off for that hat so you don't bump it accidentally so what you can see here in this little demo is there is the connector coming off my joystick right there's that DB 15 connector or D sub 15 I should say connector and then it's plugged into the board and then I added a little OLED screen to this so we could do something neat with with the joystick so you can see here I've got my X and Y I'm gonna bump into this thing if I'm not careful got my X and Y mapped to the position on screen of this little triangle that I'm drawing on this little OLED if I press my thumb trigger some of these different thumb buttons rather I'm gonna bring up some different shapes that are hidden on the screen if I pull the trigger I'm just changing the the screen to all white there you can see some tearing from the refresh rate there and then when I have one of these held I'm mapping my throttle to the X position of that little pill shape the Y position of that little X that little box shape and if I'm showing them both you can see that happening so we can do do some cute little things here might be fun for doing a heads-up display of some kind cosplay prop this would be really great for driving little pan tilt servo type of thing little laser pointer or something like that on a on a nice joystick and these are cheap I got this one for $7.99 cents at the at the thrift store you'd probably do better on on a yard sale or an estate sale or you might go spend a little more on eBay to pick one up if you don't want to have one already in your closet somewhere if you don't throw stuff away you you may very well have one of these so here's what this looks like in code let me open up code dot pi here it's not just that bunch of numbers there I promise there we go and let me get through that extra image there so this is all on a seesaw chip so right here there's a little let me let me look at my notes actually because I can't remember what what chip do we have on here it's a little atmel chip we even say someone remind me if you've got it written down here so some little 80 tiny oh it's a 816 yeah the 80 tiny 816 that has our our seesaw firmware on there so that means we're using these little GPIO pins on that tiny chip to read the four different potentiometers as voltage dividers through some resistors that are on board here interesting thing is that the original at least on the sound cards when those were used on a PC they I believe had oscillators on them so they were not reading DAX were more expensive then so they were not reading these as analog potentiometer reads they were using this little oscillator to adjust the rate of oscillation with this resistance so we've instead turned this into a more modern analog DAC type of thing or ADC rather analog to digital I should say so seesaw is reading those four potentiometers there it's also reading these eight buttons and so what I'm doing in code is I'm importing seesaw right here and then the rest of this is just about display stuff pretty much then we're setting up some variables to read the four buttons those the pins that those are on for seesaw and the four potentiometers now one of these if I read it it would just be noise because I don't think there's a fourth potentiometer in here so we really only need to read three of them in this case and in a lot of cases the throttle tends to be on the joy to why port so that's the one I think I ended up using then we set up a little bit mask to read those four buttons is one message that just tells us which buttons are pressed so it's a little faster than if they were sending that info out individually and then the rest of this is just setting up the little shapes in display I O and then in my main read what I can do is assign some values to analog read on joy 1x joy 1 y joy 2 y and I'm mapping those to X Y and Z Z doesn't make too much sense but it just is what I used and then we're doing a little averaging and so it says here PC joysticks aren't true voltage dividers because we have a fixed 10 K we don't know the normalized value so we're just going to give you the results for kilo ohms for easier printing if I toggle my terminal view in here and let's go by the way I didn't mention I've got just a little QT pie this little QT pie RP 2040 one of my little favorites plugged in over I squared C to the joystick adapter and then that I square C goes and runs along to that OLED there so if you watch here as I change my throttle that third value is going from about 0 to about 11 and it's the same for all of these so if you watch the middle value that'll go from 0 to 11 and left and right 0 to 11 there on screen one of them's being a little noisy I think it's this throttle you watch it'll get really noisy if I turn this off I think now we have just like a floating ground for that voltage divider so it'll kind of kind of get noisy on you and then the rest of this is just about remapping those values to positions on the screen to move things around and then for reading buttons we have this for buttons not equals last buttons in other words something changed based on a digital read bulk so that just grabs the whole button mask to say which of these four is pressed if any and then if something has happened with them I can do stuff like flash the background turn shapes on and off move the position of those shapes around and so that is it it's quite simple because it seesaw you just have this nice neat little bit of commands you can use in circuit Python you can also use this with Arduino and let's see does anyone have any questions I'll run over to the discord here and check out our YouTube let's see yeah for fire buttons fancy if you want to see something funny here actually let me turn back on this about this view right here if you watch my terminal there you can see button zero pressed button one pressing and try not to move anything when I turn the hat switch on so there's a little button there says are we gonna send stuff when the hat switch the hat switch sends these little sort of packets so is it showing up oh I think I've done something so that it doesn't it's not giving us the truth here yeah my my current code is kind of messing that up when you move this hat switch it actually sends three buttons or four buttons at a time and different sort of collections of those could mean something to a game so I think because they're pressed so quickly a game could say okay if we suddenly see button one three and four with almost zero delay between them we'll call that a different input so it was a way of getting around the four button limitation of the DB or the DE-15 this little hat switch will send multiple buttons at once that are used by the game which is kind of cool the other thing is we've got a turbo switch on here so I'll turn off the hat sorry that didn't really work turn on turbo so notice we get the red there and now if I hold down the trigger button it's just pulsing one of the effects that I have on there we can set it to a higher speed and it actually I think is so fast that it's kind of confusing the thing for the for the refresh there but we've got a couple speeds of turbo and that's taken care of just by the controller itself the the flight stick in this case can spam a button for you so let's see if anyone has any questions I don't think so alright I think that's oh Eric Laird says it was a 558 timer typically in the in the sound card or PC port that was providing the oscillators I guess it would need four oscillators to to read the frequency of those which would change based on the the potentiometer resistance that you're removing the joystick or rudder or throttle alright so let's see I think that's all I've got on it there is my product pick of the week this week it is the PC it is the PC joystick seesaw adapter I square C with STEM a QT slash quick connectors for different industries I'm John Park this has been JP's product pick of the week and special announcement pretty much the rest of the week's live streams are gonna be on Friday and that's because we have Circuit Python Day happening this Friday so please check the blog and you can probably check on the Discord you will find we've got a whole slew of shows going that normally happened throughout the week all packed into a Circuit Python centric Circuit Python day I'll see you in the morning to kick things off and then we'll have some panel discussions some 3d hangouts some workshop show my workshop show will be on Friday we'll have ask an engineer can't remember are we doing a show and tell I'll have to check the blog post to but please look into it because we've got a whole bunch of stuff packed in on Friday alright thanks everyone for stopping by for infinite issues I'm John Park I will see you on Friday bye bye