 Again, we've made it somehow. Hello welcome to the show. I Just broke the software and got it working again, so I'm excited. Can you tell? it was Mysterious it just froze one of the cameras Don't know why but here we are Thanks for stopping by. I see we've got some people over in the YouTube chat. Hello, Dave Odessa King or North Johnny Bergdahl Patrick Rankin Thanks for coming by and we all got some people over here in the discord chat There's C Grover. Mr. Certainly Yanisku 7 mr. Certainly again doctor. Hello. Hello. Thanks for stopping by people and Let's see what's happening. What's new? Let's see if we get the report in from C Grover about our microphone levels I was messing with those for something I was doing yesterday. Hey, we're good. I peek at negative 6 DB I will never fundamentally understand the DB scale why zero is good and more than zero is bad, but Discuss Get some measure of pressure waves or something right something zero being good more than that Too loud So hey Dan Mitchell a doctor is still stuck in a call apparently. All right. Well, good luck with that Let's see what's happening. What's new? Hey, did you know that this thing is coming soon a to box? 19 Wow, can you believe it? Hey Stuart rigs nice to see you Some people are getting their a to boxes in already. That's excellent Dan Mitchell got theirs. Hey woohoo. Hey Johnny Bergdahl Let's let's let's talk about this so you can head over to Let me let me bring up a web browser here. Where's my Handy web browser, that's not the one standby. I've lost it. There it is. I mean I've not lost it, but So here this is the site you want to head to there's the Eight a box comm if you had there I believe we may still have a few a very few subscriptions left for This very a to box a to box 19. So you can head to a to box comm see if you can subscribe to this one And we are in the process of shipping them out. So some people are getting them all ready They are on trucks and presumably airplanes and other forms of transportation to go from New York to you wherever you are and The unboxing is going to be next Wednesday night. I'm going to be doing that on the 28th and that will be at 8 p.m. Eastern time So if you want to tune in there will be an Unboxing both my pre-recorded part and a live section will go over some demos. There will be some merriment and shenanigans I promise I'm working on that right now and The contents of the box will be revealed in case you haven't guessed or don't know yet And we'll go into some detail on that. So That That is coming soon. And if we sell out if there are none left I think we had a hundred extra than usual because of the shifts and where we're shipping just to the US and Canada for this one I think Then you can sign up for the next one that'll be a to box 20 it'll be coming in the fall So head on over to a to box comm and check it out And the a to box by the way is a better deal than getting the same stuff if the same stuff is even available Sometimes they're exclusives, but same stuff in the store is usually a little more expensive and no free shipping on that So free shipping on the a to box. I think it's $60. Go check it out Let's see what else have we got hey look We've got a job site You probably knew about that right if you head on over to jobs that a to fruit comm you can go and cruise around and look at these Highly cool-looking job openings. These are all reviewed and vetted by Phil and Lamar they go and check and make sure that things look legit and there are no scams and pyramid schemes and MLMs and such forth. These are just people looking to hire you to do some work on a full-time part-time contract freelance Basis and people who are submitting their resumes looking for jobs. It's all free All you need is a login for a to fruits to go and check it out So Did you know you might know I've got another show that I do on Tuesdays and that's that one right there It's JP's product pick of the week. It looks like this Not not exactly that every time but yeah this week. That's what it looked like and this is a 15 minute show Roughly sometimes a half hour somewhere in there where I dive into a specific product and show you all about it And there's a big deep discount during the show this week It was the music maker feather wing and I have a little one-minute recap for you. So check this out It is the music maker feather wing it plays back MP3s wave files, and it's a MIDI synthesizer. I have a feather I'm actually just using a feather M zero and then I have my Music maker feather wing and I have a SD card in it that has three MP3s on it that I placed on to there And then you can see I'm just running one speaker, but you can do to you can do stereo you can do little stereo separation And this particular music maker feather wing is really great when you want to do a compact project That is sort of self-contained and has its own sound source. So it's got the amp. It's got some speakers on it Great for props great for cosplay here What I've got is my MIDI tester to send out classic UART over I squared C stem a QT cable to do that Okay, I'm not much of a finger drummer. It is the music maker feather wing with built-in amplifier. Oh Wow, that was way back on Tuesday before my haircut got my haircut right after the show in fact So let's see Let's have a look at the chat what's going on there Did I tell you if you're over in twitch or? Periscope or Facebook and you're wondering where the chatterers are chatting from it's this place discord You can head to our discord server by going to a to fruit i t slash discord. You'll get a free instant invite You can join in and there's the live broadcast channel. That's this one right here Where people are discussing what's going on the pressing issues of the day? Mr.. Certainly says one of those images where the more you look the more you realize is horribly horribly wrong I got a fake mustache, and I love it, and I also photoshopped it onto my one eyebrow there In fact, I don't know if I shared this on social media. There's a makeup shop here in in LA that has about Two dozen drawers of fake mustaches a lot of different styles in an alarming number of shades of colors all like realistic hair colors It's really impressive really good Really good fake mustaches, and I found out about prosthetic adhesive. I don't do much Theater makeup or prosthetic stuff, but instead of spirit gum use this stuff called prosthetic glue and it's much more flexible than spirit gum works great So Yeah All right, what's what's next? Dexter starburst had never heard someone say I'm a great finger drummer No a Ruiz really good finger drummer, and then if you go online you'll find people who are amazing I don't know. Yeah, maybe no one actually admits to being awesome at it, but no a Ruiz is fantastic at the finger drumming All right. Well, I think it's time for the The circuit python parsec, so let's get set up for that. All right, let me Grab a window here, so I Know what's going on? All right, so let's Let me clear that there so this will Make a little more sense and in fact I'm gonna Hide everything but my cereal display here we go Now I've done it. All right, let's crank that way up there Will you even be able to see the place I'm typing in? Ooh the thing got weird. All right. Yeah, maybe that's gonna work now I See it. Okay, great For the circuit python parsec today, I wanted to talk about testing out your code inside of the repl So this is the cereal monitor that I have here You can find these in Mu as a separate serial application I'm using one that's a serial terminal inside of Adam and in the How do I want to say this when you have a circuit python enabled microcontroller plugged into your computer such as this Metro ESP 32 s2 that I have here you can launch into Running circuit python in interactive mode right on the board. So right here what I'm gonna do is import a Library so I'll just instead of running a full set of code I can type in individual lines of code to test them out as I go so here I'm going to import Board and that's gonna give me the board definition so I can look at that by saying dur board and Now I see which pins are on this microcontroller. I'm also going to import the neo pixel library Now you can use tab completion Just to Let's let's in fact, let's make a new Pixels object. So I'll say pixels Equals and then I'll use tab completion. So neo I hit tab that gives me neo pixel. I'll hit dot That fills in the rest neo pixel And then I'm going to specify. I'm gonna go to my cheat sheet. So don't type that wrong I'm gonna specify the pin that the neo pixels plugged into so in this case. It's bored and I have it plugged into IO 15 and Then I'm gonna say how many new pixels are on this strip? I have eight and then I'm gonna set a pretty low brightness Just so it's not whoops equals Point one Whoops what I do wrong IO 15 is in use. Let's try this again. Is it really? Shouldn't be all right Try this again. Okay, so by the way This is a good thing to show when the board is running normally at a launch and your program will run your code We'll do its thing to get to the serial or the REPL I'm gonna hit control C and that brings me out to this interactive mode line. Okay, so let me try this again I'm gonna import board import neo pixel Pixels equals neo pixel dot neo pixel Board dot IO 15 eight neo pixels brightness equals 0.1 Okay, and now we can directly Tell these neo pixels what to do so I'll say pixels and I'll pick one of them. Let's say three and I will give it a color. So let's do Pure red so I'll say 255 00 and Now you can see my neo pixel the fourth one up index three has lit up and that is a really nice easy way to go in and test out code line by line simple things check and see if a pin is Going to work you can check a button and so forth right from the serial port and that is how you can test your code in Circuit Python right from the REPL and that is your circuit Python parsec. All right live demo trickier than I Thought it would be you can also by the way do things like run loops from here It doesn't have to just be single lines of code. In fact, let me let me show you that just for fun Let's let's pop back over here. So if I import I'm gonna go ahead and import Time so I can bring the time layer library onto the board Now I can do something like for I in Range eight because I have eight neo pixels if we press this semi or this colon and hit enter You can see it does the sort of auto indent just like we've coded it in the main code depi Now I'll say Pixels, but I will use the I to specify one particular pixel Equals and let's give it a color. So how about o x o o o f f that'll be blue And you see it's not running that code because it's allowing me to actually type in this block first And then I'm also going to do a little bit of a sleep. So I'll do time sleep Zero point five so to wait half a second before lighting up the next one now to finish this I'm just gonna hit enter again Give it a blank line one more time It brings the indent back into place and then a last time to actually execute it and if you watch my neo pixels here They're gonna go one at a time lighting up So again, you may sometimes have a huge amount of code over in code dot pie and want to just isolate some small section You copy and paste that run a different code dot pie or you can just kind of go in here and type it into the Repel which you find to be really helpful Alright, so that that takes care of that for today next up What I wanted to do is Show you a little let me go to my down camera here and let me get this guy out of the way Oh man, you can see it's hot enough that my blue tack is separating from this little piece of wood here Let's pull that just to the side and I'll unplug that so we don't have any confusion later and I wanted to show you. Uh, this is something I was working on earlier. This is the Eight of fruit six by five or the more calls it five by six, but I think horizontally and then vertically so I'm gonna call it the Six by five or though snap apart could use it like that if you want So this is a set of snap apart PCBs that you can plug key switches in their socketed key switches and they have little reverse mount Neopixels on them and You can wire these up. They're designed to be used as a keyboard matrix a diode matrix I don't have these wired up right now. There's no microcontroller involved. This is just the bare parts But I wanted to create a little switch plate for it to keep those switches in place since these can pull right out You can see there. There's they're not soldered in those can pull right out It's really helpful to have a stabilizing switch plate that they're clicked through and into You can see here. I am starting to design a sort of number entry Macro pad with a little bit of extra room on the side You may recognize these as the leftover key caps from the keyboard. I built for my mom She didn't have a number pad on the side. So I got to keep a bunch of extra keypads. I hope that was okay, mom I don't think she wanted them. So the couple interesting things the Nice thing about this snap apart is I'll actually be able to design this on something other than a grid because I Want to use some non 1u key caps on this and You can see with these types of key caps. They are not Spaced to fit the the sort of normal 1u spacing so I will snap off some of these and Change the way my switch plate is designed and then pop the switches into the proper Location to fit these so I'll have a little design work there. That's off the grid basically and This you can use you can snap it apart into a rectangle That's the easiest way to use it, but you could also go in and create a really unusual layout with it So I'm gonna be working on something like that, but one of the things that I thought was Interesting is to take a look at the design of something like this little switch plate here Inside of rhino and grasshopper which I know I show sometimes if you're interested here you go The switch plate itself is A fairly standard little it can be just a square you can go with this kind of fancier Shape that we have here, which I think is kind of the official cherry MX Cutout I Think switches maybe some switches that had a little bit of a larger clips on the side Didn't fit into just a square But this is sort of if you go to cherry MX, this is the official footprint that you'll see for for a switch plate and So I designed one of these back when I was doing my little pico keyboard And then I've just been importing it elsewhere because it's it's the right dimensions And then what I'm doing here is instead of doing just individual Like an array of individual Squares or cutouts. I'm doing it sort of procedurally inside of grasshopper here. And so you can see this is One curve this little curve node here I've imported just that one blue curve that you see there as sort of a reference and then I'm going to instance it around the scene using a An array here and the cool thing is that I can adjust That using some sliders So this is a sort of procedural design just like you'd find inside of most procedural or parametric CAD programs So if you wanted to snap this down to a five by five grid There you go, whatever you want to do. I don't have this working yet for sort of culling out or Respacing them. So that that might be something I do next is Give myself more freedom to make unusual shapes that are starting from the grid, but then deviating from it I can go bigger than this thing. I think I set the limits to 10 by 10 And then what I'm doing with these curves. Let's let's go back to our six by five is I'm using those to generate some little pieces of geometry. They're cutting out or bullioning out Part of a plate that I created that is the the boundary of that so if I Turn this little switch on it'll take a second. It's going to evaluate All of that into this sort of final shape. So that's the thing I 3d printed there I exported that as a mesh as an STL And then I printed that and took about an hour to print because it's essentially solid There's it's just so few layers. It's a millimeter and a half high that it there's no fill So it's just it's just a few layers maybe five six layers. I think I did it at 0.25 millimeter Spacing so it's fairly chunky, but that works pretty well and Also apologies because I I created this a couple days ago Didn't have a chance to print it But I shared it with a couple of Adafruit people and Jeff Epler printed one and said hey you got your horizontal dimension wrong And sure enough I had a I had a glitch in there And so it did not fit our only the first row fit so my apologies to any of our team members who printed that thankfully I didn't share it out far and wide So let's see some questions over in YouTube James foe asked some I the only one who thinks the last two peaks of that synth intro is a bit harsh. Yeah, it peaked I'm sorry. I need to fix that. I've been meaning to and I didn't Even though it's not louder than than the other stuff it It was hot itself. And so it has that peaky sound. So sorry about that Adam I'll ask what's the software? Yeah, so the the software here is Rhino Which is this this 3d view here, which is a sort of straight ahead 3d modeler and herbs modeler primarily and then Grasshopper is its little companion, which is this node based DAG node network that I'm using to Sort of generate things in a in a little flow graph so that's that's matching the spacing here these holes of our Macro pad so you could put some a little standoffs and screws through there if you wanted to secure that I Was thinking you could also go through if you make a bottom plate and screw that stuff straight through there I may do a fuller case for it and bring bring the sides up a little higher too because I kind of like that look So That's a kind of fun. These are kind of fun projects if you're doing CAD stuff If you're wanting to learn a little bit about how to set things up procedurally the Ruiz brothers may have a layer-by-layer In Fusion 360 on doing this type of stuff. I think they have some probably plenty of videos that talk about doing arrays and grids and procedural stuff based on Locking to certain spacing and things like that. So you can you can go and check our 3d modeling videos over on the Adafruit YouTube and find out more about doing that and that's a more common program I think for a lot of people's to be using using Fusion I Use Rhino, and so I don't do tutorials for it because I don't think as many of our Viewers are into Rhino, but that's what I like. So there it is. All right Let's see. Let's go back to the Full camera of that beautiful thing there. Look at these nice essay profile keycaps, huh? beautiful, all right Let's see what is next let me let me jump back over to my discord there Someone asked a Question about the stems on these the the stems on these kale box switches essentially the overhead are The same as the Cherry MX Profile, which is just that plus size sign that little plus sign stem They just put this little box around it to help your key cap Stem be a little more secure. So it's not just slipping on to that cross section, but it also has this circle that is ideally Meeting up with that inner part of that square there. So that box holds it. That's why they call them box switches I think so it's a less Less wobbly. I think also that square has a closer tolerance to the sides there unlike a Cherry MX where the little cross becomes sort of a little wobbly as it goes down I don't do I have a regular? I don't think I have any they're all inside. I don't think I have any regular Cherry MX switches here right now But alas, that's that hopefully answers that question Someone's showing a really cool keyboard tester or switch tester there from keyboard fans. That's a lot of switches All right So Let's move on to today's project, so I'm actually going to jump over to the bench here and Let me put a View up there that you can see all right, so the project for this week that I'm working on is a Minecraft turbo pad and so the idea behind this is that I've set up a Macro pad a different macro pad Coded it in circuit Python with the ability to send keyboard Strings so one of the capabilities of the HID Get this thing to stop Oh, you know, I'm gonna flip it up like that when I run it. Sorry one of the capabilities of our Circuit Python HID library is the ability to not just send a keystroke or collection of keystrokes But actually type out a whole thing and so that is actually something that's really useful inside of Minecraft because of the way the text commands work, so Here you can see I'm cruising around inside of Minecraft and I'm just going to tilt this Screen up so you can see it a little better and if I want to let's say change from day to night Instead of going to the console inside of Minecraft and typing in Time set day or time set night. I think that's the command. I don't have to remember it because I've got a button that does the whole thing for me and actually if you pay attention down here We're right now, so set the time to one thousand when I press that you'll see It types in a thing real fast, so it goes Slash time set day slash time set night We can use these these types of commands for things like switching to creative mode or Survival mode you can see there. I suddenly have a health bar and a meat food bar So I'll go back to creative mode so we don't get snuck up on by a creeper and killed We can also change the weather so if I want to Let's say bring in the thunder and lightning. You'll see my sky just started to change I can turn up the volume here actually So you can see there actually it's quite dark. It's too dark now to even see see anything Let me just try to switch this might be that it switched to Nighttime no alright, so let's let's get rid of the weather So we'll go hit the hit the button that says clear And you can see on my macro pad. I've got a little helpful labels there that tell me what each of these things do I've got a say command so sometimes if you're playing in a multiplayer mode you might want to say something to a bunch of teammates and So this one just shout it out to anyone who'd be playing on my server dinnertime. I don't know why but it does I can also do this I can summon bees. I Could summon a bunch of bees. Look at that cute fat Cubic-looking bee there. Oh, I've screwed something up. It didn't like that. Oh, was I holding a key? Let's go back to the game All right, I don't know what I did there. I can also have it just play a sound You can see that was a really long one right it typed in a big huge string, but it types it faster than I'll ever be able to type which is nice and The so so those are all commands. I can in fact kill my player. Oh wait, that wasn't it. This will kill the player dead and then it'll respawn and the bulk of those commands I set up are doing a Text command which I think is one of the cooler uses of this because you have a lot of keyboard shortcuts available, but This does not require any Macro add-ons any any special script add-ons or plug-in add-ons. It's just as far as minecraft goes It just thinks that you're someone typing typing pretty fast, but typing The one command I did that's a little different in here is the Mining button so what I did here is I actually have this one acting as a toggle when I press it What it does is it it in turn holds down the W key, which is the move forward So it's gonna hold that for me. Oh Hey there, and it's also going to Dig so what I'm gonna do is if I just turn my mouse down a little so I'm pointing at the ground and press this button You can see I don't have to touch anything Now we're gonna Dig and dig and dig and dig in fact we can go and start strip mining just by Holding down The mouse there and then if I press this button again, it'll stop doing that So it's a toggle sorry it gets a little dark when we go underground there So I'll give you a little view back up So that's my minecraft turbo pad and what I wanted to do is now bring it over to the workbench and show you What the code looks like for that so I'll go ahead and Unplug the macro pad from this laptop And I'll bring this over here also show you the funky stand that I made for this and let's head over here All right, let's grab a down view there that'll work and Plug this to Different cable actually that's already plugged into the computer like these little right angle cables cable So I mentioned the The stand for this so what I decided to do on this macro pad was simply Screw in four of our threaded magnets So we have these magnetic feet that I think come with some of our RGB matrix panels and then we also sell them separately You can find them in the store. I'll go to the link later And there are three M3 screws so they fit right into the little bosses that are on the back of the macro pad and then you can Stick that right to something that's ferrous like this little steel plate that I have here and now you have a Macro pad that's going nowhere and it now weighs a couple pounds because of the weight of this This stand I have on here. You could also of course use this if you are using your macro pad in Let's say you've got it slapped to the side of a piece of machinery and you're using it to enter in C&C stuff as a Mill pendant that sort of thing kind of a cool adaptation of the macro pad is to put the magnet feet on it and just clump it to something because Those things are strong. That's not going anywhere. You can't you can't budge that budget with a hammer maybe so let's dive into the code a little bit and Doctor asks, how do you control the typing speeds? I'm not doing anything on this one to Control the typing speed in particular. I'm letting it type as fast as it can you may need to modify things if that's faster than Whatever you're you're using can can allow Let me pull this camera view out of here. There we go. I think I'm trying to remember When I was Updating the screen, maybe I was running into On some something I was running on the macro pad. I was running into some slowdowns just by doing like too many things with neopixels and Screen stuff. So if it's seeming slow, it could be that your your code is doing other stuff While it's while it's trying to type So, okay, so let's let's take a look at my code view here just so that we can create a place to Safely type Because sometimes when you're doing these USB projects you can you can ruin your day if you have the wrong application with focus when you Hit a button. So I'll bring up a little atom window over here and I'll move that I'm gonna scale this down a little bit. Okay, so you should be able to see this Just off to the side there and you know what while I'm at it. Let me Move that out of my face a little bit There I have a nice little place to look at you from So if you look at the code view there when I do something like hit create It just typed in game mode creative. So slash game mode creative. So that is the My computer on do not disturb. I just got a github alert. Hi, Catney So in my craft you hit slash that goes into this console mode and then you type in your command So if I want to go into survival mode that button hits game mode survival If I'm saying something say dinner time the One I'm scared to press is the mine one because that's gonna hold down the mouse button and keep it held down and Type in a W. So I think I won't do that one just in case something weird goes goes wrong But you can see what some of these other ones are also there's some auto All right, I'm turning off this sound Hopefully you can sell me. Yeah, all right so the Long one that I showed there is this sound. Oh gosh I was in the wrong place when I typed that All right, so that's the play sound command. It has a path to a sound in this case I used ambient dot underwater dot exit in block mode The location is the player name Japunto is my player name minecraft and then I think the three till days is the volume So till day space till day space till day is a volume maximum volume. So that is The Way the commands look when I typed them in now. Let's take a look at The code itself that's running that so let me open up the code running on this macro pad and I'm gonna make this bigger now. So let's Do this Adam and this me. Hey, that's good All right. So what the code looks like this is not optimized yet. So there's there's a bunch of Things that work, but aren't pretty right now. You can see I'm importing the time Library display IO so that I can do some of this grid Display of the the words and by the way If you look here when I type one it goes to white So I have that little in version going on the text there So that's a little cool display IO trick that's happening as well So I'm importing the macro pad library itself to use some of the convenient macro pad features I'm doing slightly more advanced display stuff. So I'm not using the macro pad text text label lines Those are really simple. I'm some using display IO instead and Then I'm creating my macro pad object. I Is part of the mess. I just needed some variables to exist before I actually need them later So I created some variables for the types of Key presses that I'm doing or mouse presses things like that set up some colors here and then this is kind of where all of the Main entry of what your buttons are going to do goes I have this dictionary and I have these 12 entries. So the first entry in each of these Items is the color that the button is going to go. So you can see I've got these opaque key keycaps on here So you don't see them other than like an underglow, but I've got some Aqua blue. I've got green and then I've got red for the bottom there and I think I have them all Going red when they get pressed and this one gets latched to yellow when it gets pressed then I have a Variable here for what type of thing is Is being done if it's a command I'm saying command here so that I can use the USB HID Keyboard command for typing. So this one is going to type in the word game mode creative. So if we go and look a little later where that happens When I press a key if the type of that One of the dictionary entry for the key number that's pressed is command then it's going to use macro pad dot keyboard dot send and that's what sends a A bit of text the Layout is Actually, what's what's going to write sorry the keyboard send is going to be the till day then the keyboard Layout right is going to write the full sentence and then I think I'm sending the enter key So rather than hard code this in here if we look up at this dictionary Those items are okay. So we're sending a command. It's going to be a momentary one So that has a press and a release not a latch We send the forward slash Then we do that keyboard layout right of whatever is inside the quotes here And then we followed up with the enter key and that's how it enters it for you So that is actually 11 out 12 of these work like that And then one of them down here. I'm calling KB mouse So this is what happens if you want to send both a keyboard command and a mouse command at the same time I also have this one latching with this hold here And then the things that this one can do is whatever Is being typed inside these brackets and that can be multiple things. So this can be like a Multi-key macro if you want could be shift command w And then I'm also sending the left mouse button and it's holding both of those The reason that it's holding them is that this is in hold mode So when I go back down here to see All right If the type of event based on looking into that dictionary is keyboard then it just sends a key if it's mouse Or rather. Yeah, so if it's mouse it sends a sends the click if it's KB mouse Then we check and see is this an hold mode. Yeah, it is okay Then we're going to while we're latched just press Rather than send so press keeps that held and same with the mouse button that gets pressed and Then the second time we press it. It'll release that so when we're in in release mode it releases all mouse and it releases the the key that you pressed and So that's kind of the most important part here is this this dictionary I have based this code on the Neo trellis m4 Launchpad code I did a couple years ago I keep going back to that method because it lets me sort of have a whole bunch of stuff per key in a line And I just find it easy to look at that way So this this again tells me what's the neopixel color Some sort of a type thing is it is it a command is it a KB mouse? Is it just a key is it just a mouse is it momentary or held and then the rest of these describe what gets typed in So like I say, this is not optimized. There could be better ways to do this You could break this off into a separate config file kind of like Phil B's Macro Pad project, but for this one for me it was easy to kind of keep it all in one place and make my adjustments here Then I kind of in effect inefficently create this little List of latched or not latched states Set up my neopixels set up their brightness I'm actually not using the encoder for anything in this so I can take that out or if someone has a Suggestion on what to use it for it's actually really easy to set it up as the mouse wheel Which in Minecraft just scrolls among your your items, so that might be a nice one to do oh By the way, I'm seeing someone in chat who knows Minecraft way better than I do said that the till days is not the Block locate or the not the volume. It's the block location. I mean relative to your current location one block in the negative direction Okay, so they do XYZ is left up and forward and so that plays it at your current location Thank you. Okay, so we can put numbers in there and I guess push the sound out spatially. That's cool Then you can see here I'm creating this grid layout of the screen and I have this little list of the text that I'm gonna put up there I did my best to use short-ish words that would fit but still make sense Then this is some typical display IO stuff for setting up the the labels on there as a little grid and Then the rest of it is all just based on this good old key event of macropad.key.events.get and that's based on Dan H's key key code library. Yeah, the key code library. I think it's called Keyboard key switch the hex out library called. I can't remember now But it's the new one that that does diode matrices GPIO pin per switch and Shift registers and I've forgotten its name already, but there you go. So that that's gonna do it Let me know if anyone has any questions and I'll take a look in the chats now Let's pop those out of there There's the chat on discord if you were wondering about some of the Minecraft stuff. Thank you Xenia Trans Fox girl for the Minecraft explanation My daughter knows Minecraft way better than I do but I was only able to get a little bit of her time To help me pick Minecraft things to do Okay, so doctor said yours is typing when a key is pressed Yes, I don't know if you're using This sort of sentence type of input Could be a different library too. Well, there you go. All right. I think that's gonna do for today So I will say one more time. Don't forget to go and check out the ate a box Dot com to see if you can sign up still for this ate a box 19 if we have any left and The unboxing is gonna be next Wednesday night at 8 o'clock Eastern time, so please come on by it'll be a lot of fun All right. Thanks so much for a different industries. I'm John Park. This has been John Park's workshop and I Will see you next time