 Welcome to the show. I was just checking audio meters for a moment. I thought, uh, uh-oh, is that not working? It's on. Yay. Hey, it's me, John Park, and this is my workshop. Thanks for joining me. It's great to have everyone here. I am excited about today's show. I got some cool stuff to play around with and show. And I want to thank people for stopping by in the chat. I could see we've got a bunch of people over in our YouTube chat. Hello. Hi, Creative Indonesia. Luis Rodriguez. David Esagari. T. Johnny Bergdahl. Welcome, welcome. And then also we have our Discord chat. So if you're somewhere, hey, that's not the Discord chat. What did I do? What did I break? Ooh, hold on. Let me, uh, let me fix that thing. I bet I'll break another thing when I fix this. But hold on. I can, I can, uh, we can adapt. Hold on. Where'd you go? Discord? There. Oh yeah, there's the Discord. How did I break that? That's interesting. Uh, and if you want to, you can find our Discord just by heading over to Adafru.it. That's A-D-A-R-F-U.I-T. I guess we're in Italy. Uh, no, that's our URL shortener. Adafru.it slash Discord. And that will give you an instant invite. Head over to our server. That's this thing right here. And, uh, then you can look for that one right there. That is the channel you want, the live broadcast chat channel. That's the one that, uh, we're on during the shows. And as you can see here, uh, we have a ton of channels. So if you want to go over to the Help With section, you can find, uh, Help With Circuit Python, Help With 3D Printing, Adafruit IO, Arduino, Audio, Git, hardware design, and on and on and on. Uh, and a bunch of other interesting topics. Uh, Circuit Python Dev is where the Circuit Python Dev people hang out a lot. Uh, see Grover waves with a sandwich? I just had a sandwich for lunch, so no thank you. I'll, I'll, I'll have to, have to stop right there. Oh my gosh, now everyone's overloading it with sandwiches. I might need a second sandwich. Um, I've got big plans for some tomato soup and grilled cheese this weekend, especially because it's going to start raining again in Southern California, so that becomes good grilled cheese weather. Uh, what else have we got happening here today? Let's see. Uh, I have a coupon code for you all. If you want to head to the Adafruit store, hey look, I've got rain on the mind. Uh, Umbrella is your coupon code. That'll get you 10% off in the store. Uh, you fill up your cart with stuff. This won't work on software or gift certificates or subscriptions, but it will work on actual things of which we've got a lot. So throw some cool things in your cart and then on the way out, look for the coupon code field and just type in Umbrella and, uh, that will get you 10% off on your order today. Let me, uh, let's see. Oh good. I didn't break this, so that's good. So this is the store. If you want to head over here, just jump on over into the Adafruit store. You can see we've got a little new products section there, uh, showing up here, some cool new black, relegendable plastic keycaps for MX key switches. You can pop the little clear tops off and put labels or stickers or other things in and drop them back down so you can make custom layouts. And, uh, then head on over to the new products link. That'll show you all the latest stuff. Um, excuse me, you may want to set that little notify me and type in your email address if you're looking for the new Metro M7. That's the new hot Arduino shaped board that we have using the M7 chip. It's in alpha right now, so it has some stuff that works, some that doesn't. It's super, super fast. Uh, it's going to be a really interesting one. Uh, that's not in stock right now. And we don't do any rain checks. You can't apply this discount code, but we've got a lot of discount codes, at least two or three every week. And, uh, you can look for some other cool, fun, interesting new things here or just go back into the, uh, products, featured products, or if you expand out the shop here a little, you can go into these categories, you all. Uh, go find some stuff. It's, uh, it's how we make our money. It's how all the content we produce gets produced by, uh, by selling you some good stuff. We're not shy about saying that. So go get yourself some stuff and, as a little thank you, get yourself 10% off with the coupon code Umbrella today. It is good until about midnight, Eastern standard time or daylight time. I never remember which one we're in. I should learn those. Uh, let's see what else is happening. We've got the product pick show. Speaking of products, new products, uh, on Tuesdays, I have a product pick of the week. Uh, happens right at this time, same time, four o'clock Eastern, one o'clock Pacific. Uh, and on the show, I like to pick something new in the store or sometimes an oldie book, goodie give you a 50% off discount in this case. It's not always that much, but often it is, especially if it's an ate a fruit product. Whereas you can guess our margins are higher than reselling other people's stuff. Uh, we'd like to try to give you the 50% off this week. It was this really cool display. Uh, here is a little excerpt. It is the 1.8 inch TFT display breakout with micro SD and I spy having that little flip connector there so that you can put a ribbon cable in means your, your wiring is so much needed. You can see I've got one of our 1.8 inch TFT displays with the I spy connected up to I spy breakout. And then that's running to an itsy bitsy M4. This is a, this is a really cute game that's on the main page of make code arcade that is about some mice performing Shakespeare and you are the spot operator and you got to keep the spotlight on the actor who is currently delivering lines, which is adorable and amazing and I love it. That's my product pick. It is the 1.8 inch TFT display breakout with micro SD and I spy. Oh, hey, that was just going to go ahead and loop endlessly. There's a button I have to hit when I bring a new movie in. I forgot on that one. So let's see what else is going on. The, uh, first of all over in the chat, uh, we've got people talking about their weather. So it's snowing in, in a bunch of the places that we, uh, that we've got viewers dialing in from Andy Calloway and Dave Bergdahl said they've got, uh, they've got some snow. Um, the, oh, Mike P says the LED strips are mesmerizing in the background. Yeah, aren't these great? These are the Scorpio board. So this is a RP2040 feather that has, lift this. Oh no, that's all plugged in. I can't, yeah, the cable's a little short to my power there. But yeah, that is a Scorpio feather that's running. Uh, what do I have here? Eight? One, two, three, four, five, six, seven, eight. Neopixel strips all on their own channels. The lighting blows it out a bit, but I think, what am I running? I don't remember what I'm running on there. I think that's an Arduino sketch that I adapted, but I can't even remember. Whatever it was when I did the show that was on product pick of the week a couple of months ago. That was what I built there. Uh, let's see. So what else do we have? Oh, hey, here's a cool one. Let me get set up for a little circuit Python parsec. Here we go. Yeah, turn that mic on. And I've got a couple windows. So I want to get those set up. The, uh, here we go. What I wanted to show you today on the circuit Python parsec is how to use the ANSI escape codes inside of circuit Python. So this is a library from the community bundle, which I've put the URL up at the top there. If you can see that, you can get it. However, just by, if you have circuit installed, you can type circuit install ANSI underscore escape underscore code that will install the library on the current circuit Python board that you have plugged in the way that you use this. And the reason you use this is to do things such as coloring your text inside of the serial repel output, just like any kind of a traditional terminal. So what you can see here is that I'm using it to color code some of the events that I'm debugging. So as I press keys on my keypad here, you can see I get this little background color of cyan. When I release a key, I'm, I'm creating kind of a blue or purple color on the text, except for this one, which shows up as pink. So imagine you're doing some complex debugging, it can be nice to be able to color code things using the ANSI escape codes. So the way this works, I have imported ANSI escape code as terminal. And then when I go to print, I'm using the same print command as usual. But you can see right here, here's an example, when I press a key down, I'm saying print and then terminal dot ANSI colors bold. So I'm bolding the type terminal ANSI colors BG background is cyan. That's how I'm getting that light blue color. And then the things I wanted to print, in this case, the number of the key that I'm pressing. And then I'm resetting that so that it doesn't just leave the rest of all of the things that I do in the terminal in this bolded and cyan background. Now when I release, I'm doing a similar sort of thing. I'm saying when I release a key, we're gonna, if the key is this zero key, change the color of the foreground to pink, ANSI color dot FG dot pink. And then I'm resetting that on the other ones, I'm setting those to blue, which actually is kind of showing up purplish in my terminal. So there are other things that you can do with this, including moving the cursor around, strike through invisible text, a lot of interesting terminal effects that you can get using this. And that is how you can use ANSI escape codes inside of Circuit Python. And that is your Circuit Python Parsec. And I wanted to show, since there's a GitHub page for this that you might want to take a look at, let me bring back my Chrome capture window here, you can see this is s dash light s dash light is the user github.com slash s dash light Circuit Python ANSI escape code. So here is the documentation for this as well as the code. There are a couple of different examples. And you can look here if you if you go and look at the library itself, this is the dot py version of the library, you can see here, some of the options that you get reset, bold, disable, underline, reverse, strike through and invisible. Here are the inside of the foreground color class, you're the colors that you can use. Here are the background colors. And more actually, these are grabbed the wrong list, those were commented out there, as well as some of the cursor movement things that you can do. So really nice, useful for debugging. I often do things like make things uppercase or lowercase or indent them in just so that when I'm debugging complex stuff, I can find output, especially things that have to do with keys, if you're building keyboards, MIDI keyboards, keypads, these kinds of things. You have a lot of interaction where you're looking in your terminal view there to see what's going on. So I think this is going to be super useful. And I hope you find it useful too. David Essa asks, JP, any chance you're streaming at 1080p, it would make text easier to read. Thanks for asking that, Dave. I may I used to and then I started to run into pipe bandwidth issues. I think knock wood, I'm going to go and curse it now knock wood, my bandwidth is a lot better. Now, and I have about 20 megabits per second up, which I think means I could potentially get away with 1080p without too many problems. So I agree, a text would be a lot of user to read on 1080p. So I will consider that I could probably also work to make some of this text bigger in the current 720p that I'm broadcasting at. All right, so I've got a few different things I want to talk about today. I've got some updates on projects. I've got some upcoming projects. I've got some show and tells that I want to do some cool stuff. So let me start with learn guides. This is oh yeah, that is where I broke that. Let me add one, add a layer to this of, let's see, is this going to be it? Oh yeah, so I'll make a fresh screen capture one second. This is going to give us a black hole for a moment. And here is what I'm looking for that. Okay. So this is the learn guide that I just put out for my Cybercat MIDI keyboard that I've been working on. I won't go through it step by step, but I wanted to just point out some of the highlights on here. And I'd be curious if anyone goes through either this project or a similar one of converting something that has a matrix keyboard into being read on your microcontroller, if you have any ideas, thoughts, questions, problems, issues you come up with. This one was fairly straightforward. I still listed it as an advanced guide because you're really in there digging around a decent amount to get things connected. But the key thing here is if we jump into this build section, we've got our disassembly. Here are the innards here. And I showed these on the show. I just wanted to point out if you look at these, one of the interesting things is that this circuit board that is at the bottom here, which is the keyboard where you see that kind of Cheshire Cat smile frame there. This is a input pad. And it's kind of a hub. So there is a six by eight or eight by six matrix that is ultimately what all of the buttons switches. Oh, you can't see it. I didn't push it over. Thank you. Thanks for Mike P. and Andy Callaway mentioning that I wasn't showing that. There was a, since I added something, it doesn't automatically push to my output. Okay, we didn't miss much of anything. So here is a backup, just a step. Let's see. So here is the learn guide for the Cybercat MIDI keyboard. So this is another one of my Meowsic keyboards. This case, I painted it black so that we can distinguish it from the other one, which was orange. The build section here. I'll show you how to disassemble it. And then in discussing, whoops, not that photo, in discussing this right here, these innards, as I called them, what you'll see is there is this key matrix, and it's a series of little contact pads that get pressed by the keys. This set of matrixed switches runs to originally the main board of the keyboard over these two ribbon cables here. And tell me, can you see my cursor? I think yeah, you can see my cursor there. However, this PCB that's the keyboard is actually also kind of just acting like a hub for connecting up other things into that matrix. So you'll see here, we have a set of five buttons in this PCB that's off to the side that is originally the, I think those are the rhythm section things. So like the different drum patterns are on those. And then over on the other side, similar sort of thing, we have, sorry, these are, okay, on this darker PCB that you see here, these are the five rhythm, as well as the record and play buttons. These are the five patches. So the different sounds, the cat sound, the piano sound, the organ, whatever else there was. These run this, this one here, as well as whatever this little button is off to the side. I think that was like the cat face button. This is the nose button. This is the little treble clef button. Those all run not to the main board, just for routing purposes. They ran them, the engineers on the original, this is the original, this is disassembled, but I haven't desoldered and resoldered stuff yet. It almost all runs into here and then to the main board. You can see we've got two ribbon cables running from here. That's a hub for almost everything. And then there's this one block here, the record, play, and rhythm buttons. Those run over a set of ribbon cables. These are actually all overlapping. So the ribbon cable coming from this record button section, those are not unique pins. Actually, those are pins that are also shared by other stuff. So it's the matrix combination of things, the six by eight matrix that allows the software running on the original microcontroller there, or in my case on my KB2040, to distinguish the different button presses. So all of that stuff is part of this matrix. And so what we do is desolder those things and wire them back up. So here I've got, here's a close up of the PCB. So there it says jack three, jack two, and then they don't label this one. Those are the sets of ribbon cables coming in from the different buttons. And then here I've got just a little diagram to show you these are the two you're going to desolder in pink here, these two rows, which will then run to the KB2040. So we're leaving a bunch of buttons connected up to this hub like PCB so that we don't have to rewire any of that. Those are all shared on these six by eight cables. And so here's an image of resoldering. I just happened to have some of that nice silicone insulated flexible ribbon wire that we sell. This is I think the 28 gauge stuff. It's just really nice. I didn't know, I kind of needed more length than those original stiff cables did. So I did away with those entirely and they don't need to be connected to the original board. So that was, they were coming off anyway. And here you can see on the backside of the original PCB, I've got just the necessary five connections that allow us to use the buttons that are on that board. Those are the two sets of arrow buttons are on those. Here's a little fritzing diagram as well as a schematic I did in fritzing. So you can tell what's connected to what and then build that circuit onto a perma proto. A little difficult to look at, but hopefully along with the schematic and the fritzing diagram, you'll, it'll be clear what's what. Part of this is that we're running some resistors and a stereo connector off. If you want to use classic MIDI, you can admit that if you don't, if you don't want to. And I'm also running the original on-off switch. There was a slide switch, single pole dual throw slide switch. I'm just using two legs of that to run to the enable and ground so that we are rather the reset and ground. Yeah. So we can flip that real quick if you need to actually go to the boot loader on the board. It'll, that'll allow you to reset the board without having to add another button. So, so this is what it looks like after the addition. So you can see some of these are still connected exactly as they were running through that hub to our new, those two black cables, and then the five pins off of the main board to there. So hopefully that is clear for people if they have questions about this. And then there was the addition of the ice cream cone, a little bit about painting. One thing I mentioned this last night, one thing that's not in the guide as far as the painting goes, and I might add a little addendum is that I had primed and painted the eyes. So I masked off primed and painted the eyes green. Then I painted over them and everything with black for the photos. I left it that way. But then after I'd finished the guide, I went in just with the Xacto knife and scraped away the layers of black paint to get down to the green. I had done like four or five coats of green just so I wouldn't scrape through it because I knew I was planning on pulling that off. It was just difficult to mask this. I might have, if I had known exactly what I was going to do, I could have probably just cut that out of tape and masked it like that before I painted black. But I wasn't sure if I was going to do the whole eye as green or not. So anyway, that was a little extra there. So the Cybercat looks a little different now than in that set of photos in the guide. So I might update that. And assembly and then final assembly there. And then I've got a little usage guide here of what those different buttons do. There's a video here. It doesn't want to show up right now, but there's a video here of it in action. And I also demoed it a little bit last night. I had a mishap trying to use the Ice Cream Cone for MIDI CC last night. I'll bring it back on show until next week and show that in action. It works really well, but I had hit a button that made it not send any CC that my synthesizer was going to pay attention to. And Phil was asking last night about the paint jobs on this. One open question is what people can recommend if there's any kid safe paints out there. This is not, and I made a bad suggestion of maybe plastic dip, but yeah, stuff peels off. So kids will just eat it like fruit leather, probably. But Phil was asking about this black paint job. I used a Rustoleum Flat Protective Enamel paint. It's got a nice flat matte finish to it. This stuff is what all the black is. Where you see it shiny, I used the same paint, but I added some clear coat. So that's kind of a nice, gives you a nice look without needing to use two different paints. So just the one black paint and then some of the stuff I hit, like the black keys, the nose and the little switch there. I used the clear coat, which was just something I had on hand. It was this Krylon Crystal Clear, which actually got an art supply store a few years ago. So the picture on it is of paint brushes, but it seems to work just fine here in this use as well. So that is our Cybercat. And it's fun. It's actually a really customizable MIDI keyboard. I have a couple of other little MIDI keyboards that do different things, but this one is pretty unique. The fact that it has the accelerometer in the ice cream cone, it has a bunch of buttons that do very specific things that I've programmed in it, having a hold button that just doesn't release the keys until I want it to. It's kind of nice. Something nice says this is the car version of Murdered Out. Yeah, people with their Murdered Out cars. This is the Murdered Out meowsic. Maybe I should have called it that. I like that one. Okay, so go make yourself a MIDI keyboard out of a meowsic. We're out of something else. A lot of fun. KB2040 made it easy. So next up, I wanted to do some show and tell stuff. Let me jump over here to the workbench. So you can see actually, before I do that, yeah, we'll start with this one, you can see right here, let's go to that one. So right here, this is what I was showing during Circuit Pipe on Parsec. This is very similar to last week's, I think I showed this one last week, but the, I'm going to adjust this exposure so you can see it. The big difference here, I'll go ahead and unplug this one, is that this is the revised PCB. So I had said last week I made some errors, a lot of them. And you can see here I've bodged tiny wires to connect ground planes because I had islanded a bunch of stuff. There was no ground going to a bunch of things. And I also plated in my, I made the footprint in fritzing. My fritzing part did not drill out these holes, which means there was a potential to short out these, let me see how close I can get. So these holes here that the Neopixels, Reverse Mount Neopixels, drop down into, they're very, hold on, get exposure up. They're very much in danger of being shorted to that ring there. So these should not be plated. I made a mistake in the part definition. There you can see some little bodges that I did to move ground around places that I just made mistakes on. So on the new one, that's not the case. So I was able to, oh yeah, so here's the old one. There's the original one there. And you can see on these I somewhat accidentally, somewhat for reasons of fritzing, ended up putting my silk screen on the front. And then on the back, I just threw the word ground to show me which pin of the the Neopixels was going to be the ground pin there. But there's the plating. So here's the new version. So I made two, three changes. First of all, I correctly grounded the grounds. So every one of these little sort of plus shaped contacts for ground are actually properly running to the ground plane in the back here. And none of it's islanded. So that was a plus to just do that right. Second thing you can see is that the holes are not plated anymore. And this was actually the difference between I think saying the in the SVG file, whether you generate it in Illustrator or Inkscape, you probably should check these out in your text editor. I did these SVGs out of Illustrator. And even though I said, I think I gave the these holes a stroke of zero, it exported the SVG is saying stroke of none. And that didn't work. You actually had to have like 0.0. And then it doesn't plate these in the way that the G code gets generated in fritzing. So now I know. And I'll put this into a guide so that anyone else who's making any footprints in fritzing will see that. And then the other thing I did was I mentioned last week, fritzing does not like trying to make a single part that has both through hole, which is these two pins here for the switch, and surface mount pads like these right here. It just doesn't like that. It ends up causing problems with turning holes into connections that shouldn't be kind of put like a connection at the center that just doesn't even really exist. So made it hard to for route stuff in the PCB. And by the way, I shouldn't be 100% sure that this is fritzing's problems. First time I did this complex of a footprint, so I could have been doing things wrong. But I was talking with a very helpful expert users in the fritzing forum. And they they didn't think that fritzing probably would love this dual through hole and SMD part. So I turned these into two separate parts. And so now there is a reverse mountaineo pixel part that has a silk screen that allowed me to match it perfectly with the chalk switch part. And I decided to mount it on the front instead of on the back. So it's actually not even really reverse mount, but these little pixels sit down into the hole just fine. And I was able to still put my switch on top of them. I don't recommend this because now I can't ever service these while the switch is in the way. So it is nice to have the service mount part on the back and the through hole on the front. But I gave up on trying to make that work in fritzing. Good news is it all works though. So here's the final result here. If I pull off a couple switches or keycaps rather. And just that focus a little bit. You can see there I've got the switch. And if you look right here, shining through is the neopixel. So that's the neopixel facing through there. If I go ahead and give this power. Let's see that line up. Very bright, the o-pixel doing its thing. You're going to see them from the backside pretty well. So that's them. And I'm going to continue on now with the design of a case for this. I am considering something sort of modular to have a reasonable neighbor case that you could use for stem-a-qt stuff. So we've got the stem-a-qt connector here. So it might be neat to make a modular system where I can snap together not two keyboards. That would be cool too. I don't think I'm going to do that. But just a second or a second and a third thing that our stem-a-qt hexes that could give you a screen and a knob and other buttons. That might be fun. But I'll start out with this just with this little macro pad. This one right now, the code I was showing last week is sending some neat isomorphic MIDI key stuff to a synthesizer. Yeah, and some CAD talk over in our Discord there. Eagle, great one to learn. I've used that a bit over the years and then I forget it every few months and have to relearn it because I don't use it often enough. KiCAD or KiCAD, however it's pronounced, I will I think take a stab at learning that and moving over to that because I can see that as much as I love fritzing and it is cool that it can really actually do circuit boards, it is a little underpowered from the part building standpoint and now I do love that it that it's got the breadboard view, the schematic and the PCB view so it's perfect for learning but it's you know I don't I don't think it's anyone's arguing that it's as powerful as as something like Eagle or KiCAD or on shape other other ones that people are suggesting there. So that's the hex keypad I'll be working on that and then I'll be actually collaborating with Noe on that. I think he's going to do a final version of the 3D design as well as some sexy 3D printing videos and and final videos hopefully so we'll get some good-looking stuff from that. And let's see oh yeah and and Bill said the rules checks are great for catching issues before you send it to the BCB Fab Shop. Okay the fact that I have all of these bodges on this one uh again partly my fault I just wasn't paying attention it was late at night I ran rules checks but I had to ignore some because it was drawing rat's nest lines for ground even when I had a ground plane and so I started just ignoring any black rat's nest lines and clearly it was probably trying to tell me hey you got some stuff here that's really not connected to ground so you know again I'm not an expert user in fritzing so it's it's very likely my fault but if I have any excuse it's that I had stopped paying attention to the the software's efforts at correcting me before I sent things off to the Fab Shop. These by the way if you're curious I've been doing these at JLC PCB for five of them for about $25 shipped it's like three dollars for them to do the fab and then 18 bucks to ship at DHL in a few days so I have been getting these back in what a week's time or a little less it's pretty amazing so not not a bad price to to do low volume prototype it's fastest and cheapest if you do a green PCB you can add a couple days to it if you go for some of the other colors and then you can make it more expensive if you start adding fancier features but these have been these have been working out pretty well all right so that's what's going on with the hex pads I wanted to do actually some other show and tell let me swap over to this view here and I'll have to focus up that camera I got together with my good friend Todd Kurt a few days ago and Todd gave me some cool prototypes and PCBs he's been working on I won't go through all of these but I did want to show this one because this is I think one he is selling on or will be selling on his tindi store this is the pie touch grid and this one is actually in a little 3d printed case that has a nice little angled set of feet on it there let me give this one some usb power this is one Todd had posted up on his social media and it is a capacitive touch pcb here we go sorry dropping things over here oh Todd does it work this will be embarrassing I didn't test this are you actually oh it's not plugged in it needs electricity oh that's the wrong okay so this is a capacitive touch pcb with reverse mount neopixels under it and the most addictive little fade gradient sketch going on there let me see can I lower the exposure on this camera so he has this one programmed as a midi output I believe so it's a it's a midi keyboard and he's got hardware midi out there you can't see that's too dark hardware midi output there and usb midi out there's also room for a little screen there you can't see that because I made it so dark but that's the main attraction right there right we don't need sound we just want to touch the pretty neopixels so you can play it like a keyboard and Todd said that he originally been thinking about doing like a little tiny touch keyboard but as a midi keyboard especially if you set it up as an isomorphic grid so that it can't play any bad notes you don't have to worry about if your finger is big and hitting too many of these at once it's all going to sound good but I love that it's gorgeous I may just plug that in and and leave that nearby to to play around with the colors the pretty pretty colors so thanks Todd if you're in the chat right now if you could post up something about or if anyone can go and find find it I believe he has a posting up on his github and there should be some of these headed to Todd's tindi store at some point I think this is this is early beta so I'll show some of the other stuff another time I'll build build some of those first but thanks Todd for that really cool use of the capacitive touch and I'm gonna wiggle my camera as I look for the shutter exposure oh you know what that was not really in great focus was it that's better okay that's nice and sharp now it'll be a bit blown out but oh not bad not too bad ah so thank you for that Todd super cool uh and actually while I'm over here I've got another show and tell and you know what let me I'm gonna pull up this was uh I have a big piece of EVA foam here which I don't usually have on my workbench but I needed to flip over the MIDI meowsic uh keyboard to screw it back together and I didn't want to scratch it up since it's just spray paint and I didn't put a finisher on the on the matte side of it maybe I need to get some matte sealant for that that's probably a good idea um but oh you know what let me one camera looks like it's pointed a little high I'm just gonna back that one out a little and there we go and so my other show and tell actually I'm gonna before I show this let me just bring up my camera a bit there so you'll be able to see and I'm also gonna bring up my discord so if anyone's got questions I can see what's going on or if my audio goes out that's the biggest uh concern uh oh Todd says pico touch grid is not fully baked yet uh but you want to look at the source code it's up and you post the link there so head on over to uh our discord to check that out uh so my other thing I want to show show and tell wise was this great sidewalk find I posted this on I think on my instagram I was walking the dog and I saw in the distance a pile of stuff in front of the house that they were getting rid of and among the stuff it was a small pile uh but the the thing that caught my eye was this keyboard so this is a um oh wow why did that view just change that's funny huh something bumped that I guess um so this is a 1987 uh uh sort of toy keyboard kind of thing you'd find at a Toys R Us back then uh from Yamaha it's the PSS 470 um I think these might have been the $200 range new and this one is in pretty good shape now I have been raining uh the morning that I that I found this and uh luckily it was lying kind of like this so the water didn't pool up too much in there uh and it didn't run directly into it so I got it home I took it apart dried everything out cleaned everything up took took a look at things and it's in great shape other than this one broken key and one missing slide cap little uh slide switch cap here the uh thing that makes this interesting because you'll find a lot of cheap keyboards you know for example the Meowzik keyboard uh here that I've that I've been playing around with uh Meowzik it's very modern but what it's got in it is essentially a set of sampled sounds uh you can't really change them in any way you're just going to be playing back things in one of five uh sampled and and re-pitched sounds uh a lot of junky keyboards toy keyboards will be uh like that or much older ones will be some sort of like a square wave that has maybe some slight variations on it but it all is some fairly low end forms of synthesis uh or sample playback this thing however is among a set of keyboards that Yamaha put out that use the same uh FM frequency modulation FM synthesis chip uh sometimes called the opl 2 chip that is in the ad lib and sound blaster cards from the 90s 80s and 90s uh so basically all the ms dos games those were playing multiple tracks sometimes I think nine tracks plus drums can all play on this uh this Yamaha chip I think it's the 3812 uh ym 3812 or yc off the look it up uh but the same chip in here uh so it's got of course preset sounds so you can pick those and these are all FM modulation uh frequency modulation um synthesis presets uh you can modify those with these sliders or you can go into a mode where you are crafting two operator FM synthesis from scratch using these options here um and I won't go deep into FM synthesis but the the short story of it is you usually have a carrier wave usually a sine wave which is then modulated by another wave and uh changing the the frequency ratios of those um the pitches of those and the way those interact as well as the attack and decay of those give you a lot of variety um the the thing that FM synthesis is is really known for is the dx7 which was a uh a keyboard in the 80s and 90s that was used all over the place in pop music it's a lot of these sort of brassy bell like sounds but also some noisier sounds some lush pads and sort of plucky string kind of sounds so there's a lot of 80s music that you can get out of FM synthesis uh and this thing is one of them so uh I don't have it plugged into any external audio it has an out actually has a stereo out uh that could be plugged into something but I don't have that set up right now it also has a headphone out and it's got a I think 9 to 12 volt dc center positive jack uh I put c batteries in it so it's running off of six c batteries right now um and I'll just give you a demo of a couple of just the sounds as well as uh designing your own sounds these LEDs do not blink in real life by the way you'll see them blinking just because of shutter rate um but they're not trying to tell you anything with blinking they're just telling you where in this matrix uh you're making your sounds so turn up the main volume a bit it's got a noisy pot there so I need to probably go back in and clean all of those I didn't uh it has nine voice polyphony so you can play up to nine sounds then the tenth one just won't uh keys rather nine keys nothing with my nose there on the tenth one um it can also play some drum sounds that are built onto the chip uh and then you lose a couple of notes of polyphony if you add drums in so this is their cosmic sound they have a nice sustain on here which sounds kind of like a reverb there's also a bit of a chorusing effect going on which you won't hear because I just have a single mic here you may but if you had two ears and you're here or if you're hearing it over uh through a stereo mic uh it is doing a sort of choracy pseudo stereo thing these are mono sounds but it does this this stereo symphonic without with it kind of thickens it up a bit um there's also a vibrato I think the speed of that is fixed and I haven't wanted to use that as much um here's their jazz organ sound uh let's do a brass sound horn so any of those can be modified with these but I'm going to go straight to these so now what we'll hear is just the two operator FM with you adjusting what it sounds like so at first we kind of mostly get this sine wave sound that's changing the frequency of believe of the modulating tone and it's leaving the carrier alone attack is a slow attack when it's at its bottom position so I just turned that up so you would hear the kind of full sound at the beginning as it modulates that so you can make it decay really quickly by setting decay up top or let it have a long tail and then we start adding modulation some harsh modulation so it's really cool because this is direct access to a few of the FM parameters that have been set up to sound good together because FM is famous for being really difficult to craft sounds in because it can sound terrible for like 80 percent of the things you change and then finally you hit a sweet spot so this is pretty much almost entirely sweet spots they've given it ratios that sound good of the modulation frequency it's not if you if you change those to the wrong numbers on a synth that lets you they sound horrid so this is actually got a bunch of stuff going on to make it really quick and easy I've never seen FM synthesis that lets you so directly and quickly change stuff which is a lot of fun. I had their very modern remake of the DX7 called the Reface DX and it was great it had actually a think 4 operator FM but it was really difficult even on that simplified thing to to actually design the sounds so this one's pretty cool in that they've they've made it really easy to access. What you see is what you get there's no MIDI input or output it's got these little mini keys there are mods out there that people have done to add MIDI I may consider it it might be interesting to essentially feed MIDI or rather feed key presses into the matrix of this keyboard off of something like a kb2040 so that I can send MIDI to the kb2040 and then have it send note presses to this and then I could sequence it and do other stuff as you can tell I'm not a keyboard player so I just flub around on this but it would be kind of fun to send it sequences the other things like I said we're missing a cap I've got a broken key so broken key the options here are three print one I found someone had posted modeled and posted an F key I need a C key and that one is real close I could model it either from scratch or modifying that and three print it you can buy these replacements from various people online who sell parts they buy broken keyboards and then sell you for ten dollars one part at a time what I opted to do is actually buy like a $25 other keyboard from on eBay from Yamaha of this time period that uses identical mini keys so I'll have like 32 keys so I can go break them and I think that one has a cap that might work here a slider cap that might work here so kind of a fun free find these usually are in the $100 range if you're trying to get them on reverb or places where people who care about vintage toy synths also a lot of people like to circuit bend these and so that's a that's why you don't see them show up cheaply at thrift stores or anything like that anymore they tend to people tend to know what they're worth but a lot of fun I'm excited to maybe do a project with feeding MIDI into this thing I don't think we have any projects like that and learn guide of how to take a thing that doesn't want to want to bring in MIDI and make it bring in MIDI which which would make make it a lot of fun to play with let's see if anyone has any thoughts or questions or let's see yeah yeah nine fingers too cheap for 10 yeah let me jump over to I'll show you if you look at the info on this chip it is a like I say a pretty pretty well known and beloved somewhat for nostalgic reasons Yamaha sound blaster chip so that'll take you to Yamaha OPL wiki so it's the FM operator type L that's with the OPL but it's their FM synthesis chip all on a single chip the the series has three main versions the one this has is this one here the OPL2 that may be the one that was the most of were made because I think that's the the bulk of the sound blaster and ad lib sound cards had this which means that people wrote for games like doom for example the soundtrack would be playing back through this chip on your compatible your sound blaster compatible card there were probably other non I think those were probably playing playing MIDI and just expecting a chip that could receive MIDI on nine channels or eight seven of them in two percussion or whatever it is but this is this is the chip that you played a lot of games on in in DOS machines probably and maybe windows too and then there was the OPL3 as well which adds has twice as many channels 18 channels I'm not sure what this one was used in sound card wise if it was just like the upper level later versions yeah here's one that was in the sound blaster 16 so maybe they named that for being 16 bit in some way but anyway that's my exciting sidewalk find curbside find and if you're interested in that sort of thing there are FM since Yamaha made a lot of them most of the inexpensive ones will be in this PSS or port of sound s PSS line so you can go and look look around and see what you find out there that uses this this type of method all right so that's that what else have we got I'll give you a quick reminder that if you want to buy some stuff you won't be able to find that keyboard in the Adafruit store but if you want to find some fun stuff to maybe modify something like that head on over to Adafruit and you can get 10% off in the store on your way out just type in Umbrella that's today's coupon code and I get 10% off on your entire order of stuff so go do it buy some cool stuff I think that's going to do it so the hex keypad is in progress I think Lamor and I were brainstorming about a coffee related project that might be upcoming and I may poke around with this and see if see if that turns into anything interesting project wise otherwise I want to thank you all for stopping by thanks to everyone over in our chat I got to check out this gift because someone who knows how to actually play the keys doing cool stuff there thanks Geniescu yes I'm nice it runs on batteries too which is which is kind of fun not only is it portable but you don't have to worry about ground loops and things when you're on battery power speaking of finding stuff some nice said that you saw a sony trinitron crt at the recycling center and thought of me did you get it did you bring it home I think that's going to do it thank you hey thanks andy I appreciate it so much thanks over in the youtube chat lc37r011 yes a sweet find I'm excited about that one all right that's going to do it for today thank you everyone for stopping by for ate a fruit industries I'm John Park this has been John Park's workshop and I will see you next week check on our discord and our blog to see Scott may be streaming tomorrow or Saturday he was just he was threatening to yesterday so go and check and see if he is I believe that Tim is out so there's no foamy guy deep dive tomorrow but there may be a Scott very very special broadcast so stop by and then other than that come on back next week for a whole new batch of shows thanks everyone bye bye