 This show, it's me, John Park. It's time for John Park's workshop. It's getting a little hot down here in Southern California, so I've turned on the HVAC. Let me know if that's crazy loud. I know last week it was on before anything was supposed to be on, and it sounded super, super staticky and noisy. Let me know. I may just turn it off entirely, or at critical moments in the show. There's actually some stuff I want you to listen to today, so that will be a chance to test that background noise. And if my mic is picking it up terribly or not, so I'll wait a moment. I know my broadcast is slightly delayed by a few seconds over on YouTube, so we'll see what people have to say over in the chat. I'll check in. And by the way, what's the chat, you may ask? It's this right here. This is our Discord. If you're wondering where the chat is when you're over somewhere such as Twitch or Facebook, where we don't seem to be doing much chat, that's because people are here in our Discord. And that is at adafru.it slash discord. And you can jump right into that channel right there, the live broadcast chat channel. That's the one, not any of these or these or the ones that are way down here. That one right there, jump into live broadcast chat. I'm also checking our YouTube chat so I can see what's going on over there. So, oh good, thank you. By the way, answers coming in. Andy Calloway, I can barely hear the AC. DJ Devon, not too bad, barely audible fan. Terrific. Hey, Finn, man, happy Thursday to you too. What else? What, what, what? I've got things planned today. So first of all, I've got a coupon code to share with you. If you're looking to save some money on some stuff over in the Adafruit store, this will give you 10% off. I'll stop teasing it, in fact. I'll give it to you right now. It is that right there, enterprise. Take that, ball it up, put it in your pocket, then later, but not too much later, before midnight tonight, East Coast Standard Time. Take that, drop it into the coupon code slot in the webpage, Adafruit.com, on your way out, on checkout. And you will get 10% off on any stuff you buy in the store that's physical, atoms, and bits, not virtual things such as software, gift certificates, or subscriptions, none of that. But for real stuff, which is, you know, to be honest, our bread and butter, right? We've got like 5,000 or something skews in the store, 3,000, something like that, maybe like 3,000 items. Buy them all, or just some subset of them, but get yourself 10% off, regardless, no matter big or small. You can also get some freebies, by the way. If you jump on over here to Adafruit.com and you just type in a forward slash free, you'll see some of the deals we've got going, which include on orders of $149 or more, you'll get a free KB2040 keyboard. For 200 or more, you'll get free UPS ground shipping in the continental United States. And for orders of $299 or more, you'll get a free circuit playground, express all of those stacks, so you can get them all if you get the top one. The other ones come along with that for the ride. And without ever having checked this, I'm gonna say with great confidence, you can use your coupon code and still do all of that. I just don't know if it applies the freebie before or after the coupon code. I should find that out. If anyone knows, if anyone's experimented with that, let me know. So that's that, let me grab a sip of water here. What else? Other things going on, we're gonna have a recap of product pick of the week. We're gonna have a sort of circuit Python parsec. I'm actually doing one today that is laying the foundation for some stuff coming in circuit Python. But it is actually not gonna be in circuit Python, it's just gonna be explanation of a concept in audio that'll matter soon, both for an upcoming project I'm working on and for things in general in circuit Python. I have to share this. Well, not that, wait. Right there, what's cyborg Lars? That's amazing. Andy, were you working on this? This is great. Oh my gosh, I love that. That's terrifying, he's a borg, right? Ah, love it, really nice job. Cause Lars wasn't already scary enough. Where is he anyway? Oh, he was over there playing arcade games. He's just slumped against the Frogger machine. Oh, what else? I think that's kind of the main thrust of it. And then I've got the project this week. It's the return of the Elkar's display. So I've been working on this display from Star Trek, from the Picard show for a friend of mine who worked on it as a digital, I think he was the DI, digital intermediary, is that what, you'll have to remind me. But it's an on-set color correction conforming. Are things working right? Is data being saved to the right places? All those kinds of things, as I understand it. So we got a souvenir from the show that is related to this coupon code here, Enterprise. And that's on the Star Trek Picard show. So I have been designing the enclosure for it and a way to show it off with backlighting and some options using an LED matrix behind it, as well as trying to make it fit the Enterprise stylings of sort of the Mahogany wood styling. So I'm excited to show you that. I'm excited to get that back into Ryan's hands. So believe that show, most recent episode showed this, this sort of display in Star Trek. Todd Botts over there being a wise guy in the chat. But oh yeah, and hey, over in our YouTube chat, Charles Burniford, Dave Odessa, Randall Bone, thank you for stopping by, nice to see you. And let's see, let's get on with it. So first thing I wanna do is a little recap of my product pick show. So that's on Tuesdays, product pick of the week. I pick a product from the store, sometimes new, sometimes a oldie but goodie like this week. And I give you about a 15 minute demo, give you a chance to get it for half off. That was this week's product pick. And I like to do a little recap, a little one minute recap, and I'll share that with you right now. This is it, this is the product pick of the week. This week it is the Itsy Bitsy NRF 52 840 bolted to the side here. I'm just running a ground and one input pin to the switch contacts there. When I am listening to music on my phone and then I suddenly need to pay attention to something, this is programmed to act as consumer control over Bluetooth LE to the phone. Right, so you're rocking out to your tunes and then someone needs your attention, something needs your attention. Boom, hit the big button. That just sent Bluetooth radio wave ulls across the ether into the phone. Watch the play button there. It's playing. It's pausing. It's the Itsy Bitsy NRF 52 840. Yes, indeed it is. So, those are still available, just not at the discount, just so you know that discount is during the show, no coupon code, you just go and throw it in the cart and then we change the price back after the show. So, that's the one case, I think. The one case here on Adafruit Industries, global media networks, where you wanna be sure you tune in live because the discount is only good during the show. All right, next up, so this is my, I'm gonna, this is actually just for my ears, as C Grover said, I'm the one who can hear the AC, not you as much, but it definitely makes it a little harder to listen to synthesizers, which is what we're gonna do, big surprise, right? I love synths. So, this is it, this is gonna be our not actually Circuit Python Parsec, Circuit Python Parsec. Yes, Circuit Python Parsec. All right, let me throw that into the mix and bring myself up here. Okay, so what I wanted to talk about today for the Circuit Python Parsec, that's not actually a Circuit Python Parsec, but is related because we are working right now on adding audio envelopes to the Synth I O Library. Jepler is hard at work on this, along with Scott and Todd Bot is consulting on a bunch of the specifics of how an envelope works. So, what is an envelope in synthesized music? An envelope is essentially the attenuation of the sound signal when you press a key or trigger a note and when you hold a note and then release the note. So, essentially, do we hear it? Just come on and go off really abruptly. Do we hear the sound sort of ease its way up and then end quickly? Do we have a sudden attack and then a long release? These are the domain of an envelope and often this is abbreviated as an ADSR, which is a typical kind of envelope. It's not the only one. And this stands for attack, decay, sustain, and release. Now, what I'm gonna do is I've got a little synthesizer here, a little Roland desktop synth here set up, and I'm able to adjust these parameters, ADSR, and I happen to be able to visualize them on my computer, but the sound's actually coming out of this desktop synth. So, the first thing I'll do is just show you, this is with no elegant envelope. It's just hard on. And then when I let go of the note, hard off. Oh, and now it's making no sound at all. It's because my speaker turned off. I hear the speaker come back on. Okay. Okay, so here's gonna be a hard, essentially a hard attack. Now, if I tell the synth to use my envelope dials here, I can do something such as have a very quick attack and then sort of a medium decay. And you can see there, I'll put my fingers where you can see them. I'm pressing and holding it, but it's deciding to attack and then immediately it starts on its decay. The longer I make that decay, the longer it takes for it to die out for that sound to go away. So a quick decay. You can get very plucky sounds. Now, what if I start messing with the attack? So you can hear sudden hard attack, hard attack, not a hard attack, in this very gradual build. We can make that really long. We can make the decay really sudden. So as soon as it reaches that peak of the top of the attack, it just drops right off. Now, adding attack decay sustain release just gives us more parameters, which you can see here in this little chart. So here's one where I'll have a sudden attack. I will have a fairly quick decay. And what it decays to now is the sustain level. So you can think of attack as how much time it takes to attack. Decay, how much time it takes to drop down to, in this case, the sustain. Sustain is actually a level. It's not based on time. It's just how loud will it be while we hold the note. That's the sustain. As long as I'm holding it, it's gonna sustain at that level that it reaches. And then the release is when I let go, how long it takes, almost like, sounds a little bit almost like a reverb kind of thing. It just sort of an echo. It takes some time to release itself in the air. So here's a. So with that fairly quick decay and the sustain being at a sort of medium level, it actually is a little louder when it first gets struck, almost like a piano string getting struck. You hear that? Top of that. Now it's gonna hold that sustain as long as I hold the note. And then when I let go, the release in this case is kind of moderate. If I give it a really long release, you can see all that stuff is kind of jammed up at the front there. This is relative and not absolute, that graph. So it's really long release there. And something we can do is kind of flip that and have a short release, but a long attack. Which is good for kind of brass type sounds. As you can imagine. So those are the fundamentals of a attack decay sustain release or ADSR envelope in synthesis, which we are adding right now to the Synth I.O. library. And that is your circuit Python parsec. That's not actually a circuit Python parsec. All right, I'm turning the AC back on because yeah, it's getting hot in here. So I hope that that was interesting to you if you're interested in synthesis as well as informative. And I think it'll help get our heads around ways to explain this, especially as this type of stuff is being added to the Synth I.O. library. If you want, you can go and check out in the, in GitHub for circuit Python. Synth I.O. is a core library. So just in the circuit Python library on the Adafruit GitHub, you will find a conversation going on in a PR that Jepler has been working on for Synth I.O. envelopes. And I can add that to the discord in a little bit if anyone is interested or if anyone's around. I know Todd Bottsman working on these, he might have the link handy. And yes, so that's envelopes and a lot of fun to play around with. So all right, next up, let's jump into this project. So I'm gonna talk about this. Let me flip to the down shooter there. I'll put myself in the corner here. So first of all, let me get the display itself. I've got it sitting right over here. So this is the Elkar's display. You can see it's a piece of essentially screen printed vinyl that is adhered inside behind a smoked piece of acrylic. And so this was one of the test ones that was used for the Picard show when they were deciding what level of sort of the percentage of tint they wanted and this one didn't make it. So it was given as a souvenir to a guy who worked on the show that I know. And he said, hey, could you make a display where we can have this on a bookshelf or hanging on the wall or something like that and show the thing off. So I went through a few different iterations of how you might do this. One was just with some backlighting. It looks nice, but you can't blink the various pieces. There you can kind of see them. There, I've just got to get like a lot of glare. It's the best when it has a lot of glare. But to be able to blink these individually, I needed either individual lights, like little backlights or masked lighting with a few different controls on it, as well as this sort of idea that Lamor came up with which was, hey, what about just putting it in front of an LED matrix so you can then adjust the individual pixels underneath it in a pattern. So that's what it came up with. So what you see there is a pair of LED matrices running on the matrix portal, which is our sort of specific dedicated board for running these types of LED matrices. I have circuit Python code on there that allows me to display a bitmap. Essentially, I have an animated bitmap of sprites that are in these shapes so that I can turn some segments on and off. And as well as I'm reading the buttons on the side to just pause that and just have it lit if you're tired of seeing it blink or turn it off altogether, turn off the lighting to it. So what I've been doing since then is working on this, let me come over here. Switch this camera up to... Hold on, this camera's gonna be super big for a second. That's a better size. So what I've been working on is layering, it's a design I built in Rhino that layers up, oh, wow, that camera is definitely not pointed at me. What happened there? I forgot to, sorry, I forgot to send it. There you go, hello, my pants. So this is essentially sandwiched acrylic and EVA foam that allows me to get at the parts. We've got the Matrix Portal, I've got a five volt four amp power supply with that power running directly, power and ground to both the LED displays. And then the Matrix Portal itself is tied into ground here and it receives its own power or power and data over USB-C right there. You can see I've got a back layer of shiny, shiny acrylic, but then I have three layers of EVA foam which allow me to sort of nestle the displays in there, sandwich them nicely, but it's not quite so heavy if it were all acrylic and it gives me a little bit of give to play with a little bit of squeezing you can do with screws. Top two layers here, you can see one of them is a light blocker and yes, this stuff loves fingerprints but I have a solution for that. I've also got my new duster brush that I love which is very helpful if you're taking photos of this kind of stuff to get in there and brush that or also use a canned air to get rid of some of the dust. And then above this blocker level, I have a frame level that the Elkars display fits right into, so let me see, can you, yeah, you'll be able to see it better as just as this goes in. So here's the Elkars display and it just drops right into there. So you can see it's got a sort of textured surface to it. And then in order to fit the look of the Enterprise, this is gonna be mahogany veneer. So I got some thin mahogany veneer which you can get it just plain, the raw veneer. You can also get it pre-backed with 3M peel and place adhesive, which is great stuff. So what you can see is this is actually gonna go on top of, and I'm gonna try to hold this. Oh, let me turn on one more light here. It helps, not at all. If you can see the edge of the display, it's actually gonna overlap by about four millimeters or exactly four millimeters around the display and that adhesive is going to essentially connect these two because these are basically perfectly flushed with each other and to hold that in, I'm gonna have that adhesive connecting those and that adhesive will come off if Ryan ever needed to remove it in the future, he could, non-destructively. But that will go over on top of this. Before I lay this down and adhese this onto here, sorry, hold on one second, let me bring up my discord so I can see if there's any questions or thoughts or warnings. Yeah, the PVM is sleeping on its side back there. It's a frogger on there and it needed to get turned sideways. So in order to match the look of it, I'm using a, this is mahogany and I'm using a golden mahogany stain. So it's gonna look like this is the stain and this is after putting some shellac on it, which I'm gonna sand and do multiple layers of. So this is my little test piece here. So what I did in this case, and you can kind of see this, this has a few of the elements of what's going on here. Here's the overlap with that, let me zoom in here. So that's the adhesive right there. You can see if I stick something, do I have any little bit of acrylic scrap? That is, no, that's rubber, that's not it at all. How do I not have acrylic scrap? Usually I've got a lot of it. Well, you can see this one is stuck to it right here. So this is a piece of acrylic and that is pressed to the same adhesive that is holding that to this piece of white acrylic here. So that's really, really nicely on there. The way the whole thing is held together is screws from the bottom and I have some M4 standoff or rather M4 threaded inserts that I pressed in at the corners. And then there's one in the center actually, you can see there. So those are flush also, so you won't see a bump or anything like that once the veneer is on there. It's thick enough and it's flat enough that there's nothing to give that away. The screws come in from the back and into these and this is large enough that it actually sits in two of the three millimeter layers of acrylic that I have. So if you look at that way, that's assembled. I'll unplug my power for a second there. So that's power. So these are, you can see I've got a bunch of screws there. That's the screw pattern on the two LED displays. So I've screwed two, actually one layer, yeah, one layer of acrylic and then these are all the layers of sandwiched foam there. So those are, this is mounted to the back of the LCD, LED rather displays and then these corner screws go all the way through the stack and up to our threaded inserts there. And that's what holds that together. So, yeah, if you look in the chat, there's a nice picture there that Janescu posted of the L cars in action. What I'll do is I'll power this up. So I'm gonna set the L cars panel back in there and give it power, power up the matrix portal. So what I'll do is turn off some lights and drop my exposure if I can on this camera. Oh no, it doesn't want to. Oh no, I can't see this is blind. I'm gonna, well, I'm gonna hop up there to adjust that setting. Part of me while I climb up to this camera. Oh, actually, yeah, boosting exposure. That's pretty good. It's just, I'm actually getting the shutter to match the LED refresh and I'm gonna turn off this light right here for a second. That's a lot better. So in real life, there's no flicker. It's just the shutter on the camera for video exacerbates that. But you can see we've got a really nice backlighting on here shows it off. These are actually all the colors coming through just from the vinyl. So that's all the printed colors on there. I get that little flusher. You can see as it gets pressed down, it actually looks even better. And so I'm just blinking patterns there of some of those LEDs on and off. I may try again, now that I'm close to finish, it'll be easier to actually iterate on software. So I may try sending colors to some of those sort of matching colors to the, these are RGB LEDs. So I could maybe punch those. It kind of doesn't need it though. I think this might be the, end up being the better way to do it. And you can see here, one second, the buttons on the side. There's a little, let's see in there. There's three little buttons there. I can never remember which one is which. Okay, let's see this one. No, I think it's the bottom one. Yeah, I have the bottom one. There we go. So that just changed mode. So now it's just in on all the time mode. That was a temporary thing I was testing out with a sort of a pattern of LEDs to see if that would work for a dimming, but absolutely looks terrible. It just makes it look like dirt. Back on and now blinking again. So those are modes there. You could do a lot more with that. This is Matrix Portal, so it can connect wirelessly. You could do stuff that wasn't possible in the original show. Like try to sweep gradients across the way this was originally done on the Star Trek Next Generations involved backlighting and then moving polarizing film. So the light was through a polarizer and then different polarizing sections were placed on, directions were placed on these parts. And then as the polarizer in front of the light moved, these would react. So you'd see them blinking on and off. So it was kind of all or nothing carefully hand cut pieces of polarizing film. So this is I think fairly accurate to sort of that style. So let's see, yeah, Mu Man says you'll have to PWM. I can never remember what we can do on the RGB LED Matrix Panels. These are not NeoPixels. I can't remember what methods you can use for dimming those. It may not even be possible with these the way these are driven and set up. So if anyone has experience with that or can remind me. So there you go. This will actually sit on its own. It's thick enough right now. I'm gonna probably add a little kickstand in the back there so it can rest like that. Yeah, let's see. How does that look in the front camera? It's very blinky in the front camera. All right, so I think I'll wait. I'll do this. I'm gonna go ahead and do the staining and finishing of this bit of veneer. Adjust my exposure again. I'll do the staining and sanding and finishing of this before I apply it, just so I'm not worrying about dripping stuff into the electronics here and then mount that. I may try not, I may try slicing around here so that I'm only pressing on the panel with the wood, which is so much adhesive around the sides here that I may actually not need to adhere to the panel, which would be kind of nice for Ryan. If he ever wants to pull that out, there won't even be any adhesive on that. We'll see if that seems to lay it flat enough. I think it will though. You can see I'm just touching it in a few spots and panel is nicely captive in there. And so what I'd love also to do is try doing some vinyl printing or it doesn't even really have to be vinyl. I think there are some materials you could print on maybe even with a laser jet that you can do some backlighting on and see if we can do a DIY version of this. You really just need something that you can shoot some light through and then some spray adhesive to stick that inside a piece of acrylic, light it up and off you go. So you can also do stuff like vinyl stickers, have them printed for you. If you're doing smaller stuff, you can have sticker mule or one of those companies make your vinyl prints happen or go to a proper print shop, sign shop. C Grover said, Palette Fader was originally designed to control RGB matrix brightness. Aha, okay, Palette Fader. I need to look into that. I'll check that out. Thank you, C Grover. So we can see about adjusting brightness on this. I think I just have it at maximum brightness right now. And it would be neat to be able to adjust that. This, by the way, looks amazing, especially in lower light, in real life. Better than the camera, I think. So it's a really nice effect to do either for prop type of thing, set type of thing, or just to have as a keepsake. So that's the status on that. I should be wrapping that up pretty soon. Let me go ahead and turn that off. I also need to, by the way, finish the back, decide how I'm closing that all up. I don't want all that excess wiring hanging out there. I can trim and dress some of that wiring a bit, too. There we go. There's a, I like Todd's suggestion, he said, maybe run copper tape along the dark areas, turn them into cap touch sensors. So underneath, we could have the areas where the light isn't act as a touch sensor. That'd be cool. Especially for someone else's one, because I want to finish this project, finally. So I'm not adding features anymore, but I love the idea. That'll go into the extra credit bin on the project. Duck tape on the back to cover stuff. Is that, yeah, that would work. All right, I think that's gonna do it then. Before I forget, I want to remind you the coupon code for today is enterprise. So head on over to the store, go look for some cool stuff, throw it in your cart, and then use enterprise as your coupon code on the way out to get 10% off. And the, coming up, I'll be finishing this, and then coming up, we've got the, oops, we've got the return of the computer perfection. So that is that cool old retro futuristic toy by Ralph Baer that I am mounting an M7 in. It's gonna have the synth IO library. That's what part of this work on the envelopes and the ADSR and all that stuff is about. So we'll be able to make a really nice, cool, moody, futuristic 80s pad soundtrack without requiring a Yamaha CS80. We'll do it all from a small microcontroller and a funky little controller. All right, thanks everyone for stopping by. That's gonna do it. Tune in tomorrow for a deep dive with FOMI Guy. I believe he's got one of those on Friday. And then come on back around next week. We'll have a product pick of the week on Tuesday. We will have 3D hangouts on Wednesday, as well as show and tell. I'll be hosting that. So come on by and show your stuff. And then ask an engineer on Wednesday after the show and tell. And then I'll be back again on Thursday with this show. I hope I'm not forgetting anything. We've got lots and lots of content. So come on by, visit our channels and head on over to our chats and our Discord to say hi and tell us what you're working on. All right, thanks ladies and gentlemen. Freight of Fruit Industries, I'm John Park and this has been John Park's Workshop. Bye bye.