 various chats. So we have a chat going on over on YouTube. So hello, Johnny Bergdahl, David Odessa. Thank you for stopping by. Nice to see you. And anyone else who joins in over there. And then we also have our Discord, which is this. Oh my goodness. It's got animated gifts and things going on. So that is our, what is that? Discord server. If you want to join that, head on over to adafrew.it slash Discord. You'll get an instant invite. You can jump onto our server and then look for the live broadcast chat channel. That's where the conversation is going on during the shows. And then you can see on the side here, we have a whole bunch of other channels. There's help with a bunch of different topics here. There's a show and tell, there's a 3D printing. There's some software related things, general chat, pet photos and on and on. But yeah, jump on over into the live broadcast chat channel to hang out during the show here. Let's see. Hello, Jeff. Hello, Andy Calloway. Nice to see you. See Grover. Hello. Hey, Johnny is there as well. Thin Man. Hello. Great. The gang's all here. So what do we got going on today? There's a good question for me. For you, I've got a couple of things. What have we got? We have a coupon code that you can use if you want to go shop in the Adafruit store or shop today and get 10% off. I have a recap of the product pick of the week from this week. I have a brand new circuit Python parsec for you, which I think is a really useful, really helpful one. What else? I've got some updates on projects. We'll take a look at the state of the fader wave synthesizer and talk a little bit about how that's working. I have a project that I built based on a guide that Tyiff had created. I'll show you the guide there, but I built one of these summoning horns to give to my friend Corey, Dr. Oh, who had come up with the idea initially of the summoning horn. So we'll talk about that a bit. Then whatever questions and things we've got going on in the chat, let me know. Someone asked about or mentioned they see the Muhammad Ali. Yeah. If you were here last week, I was showing this thing off. This is the packaging for this knockout, the KO sampler, a little sample workstation sequencer, drum machine kind of thing. I'm going to RMA mine so that they'll send me one with a working fader. I decided I didn't really feel like desoldering and fixing the one on a brand new item. So I think I'm going to let teenage engineering take care of that for me. But that's the cool packaging it came in. I say cool, but that packaging may actually be at fault for some of the fader problems. That's the supposition is that it was just too tight in that packaging and thin and actually squished down the wipers on the fader a little bit. What else? Oh, look, I've got some seasonal greenery here. What do you call this? Garland? I guess it's a garland. It's fake, so it won't die there. What else? Sound is kind of low. Oh, thank you for letting me know. Oh, someone says sounds fine to me. Okay, I won't touch it too much. Maybe maybe just a smidge. I have a mic over there for for miking that amplifier. So I'll turn that off so we don't fight with that right now. All right. That's what's going on. All right, let me know. So on to some business here. This is the Adafruit website. If you go there, you'll see some products, new products, featured products, info about shipping for the holidays. Some of that may tempt you to get some stuff or maybe you have some projects in mind and you'd like to save some money. Well, you can do that today. With that coupon code beep beep. That's beep hyphen beep B E E P dash B E E P that will get you 10% off in the store. So head on over, throw some stuff in your cart. And then on the way out, don't forget to type that in as your coupon code. And I will also mention that if you go to a fruit dot com slash free, go there myself. And don't misspell it. You will see we have some freebies. So if you are thinking of getting a bunch of stuff, it's not time sensitive, maybe save up and get a big order going. If you spend $99 or more, you're going to get a free PCB coaster. You spend 149 or more, you'll get a free KB 2040 microcontroller and the coaster, they stack for $199 or more, you'll get a free UPS ground shipping in the continental United States, plus the KB 2040 and the coaster. And if you have a huge order, you put together $299 or more, you're going to get a free circuit playground express and the UPS ground shipping in the continental United States, you will get the KB 2040 and the coaster. So those are some cool freebies that you can get at. They all stack up and you can still use your coupon code. So if you are interested in saving some money, then that's the code you want to use today. Beep, beep. I say beep, beep, but we're going to be making a big loud noise with one of these. One of these little 12 volt car horns. They're super loud. Beep, beep. So next up, I have a show on Tuesdays, which is my product pick show on it. I like to grab a new product from the store, make some demos with it, show you how it works and give you a big discount during the show only. This one was 50% off this week. It is this Qualia S3 board. And I'll give you a little one minute recap of that show right now. It is the Qualia ESP32 S3. It's an RGB 666 TFT driving board and microcontroller dev board all in one. I've got the Qualia ESP32 S3. It is plugged into a little micro SD card reader and then one of these beautiful little rectangular displays. You can see I have a video playing on there. It's running about 12 frames a second and it's just a few seconds long. I'm just looping it back and forth to make a cool little Dita Rams brawn clock inspired clock. This has Wi-Fi built in. So this is using, I think once an hour it goes to the Adafruit IO to grab the time off of the time server and keep itself pretty accurate. It is the Qualia ESP32 S3 TFT driver board for RGB 666 displays. Yes, indeed. That's what it was. And I just noticed that there's a new guide if you check out over in the learn system that is from Melissa. It's called Simplifying Qualia Circuit Python Projects. So that's going to be really helpful. I'm going to take a look at that because it makes some of the initialization of the screens dead simple. You can just call them by no means. In fact, I used them in one of the projects yesterday. I used one of the features there. So this is a brand new project and if you head over to the learn system, you will see a banner that says new guides. You can do a little scrolling sideways there to see some of the latest guides that have come out or click on this view all button here and bring you the typical gallery display there of new projects. So you can see we've got a few cool Qualia S3 things. There's that guide, the S3 fireplace that the Ruse Brothers just made, this new one, Simplifying Qualia projects. And here's the space clock as well as some 3D printed cases. So those are cool. And yeah, we had a discount on that because it was product pick of the week. Some people said, hey, what about those screens? Well, we didn't have a discount on the screens, but you can use that 10% off with your BB coupon code if you want to pick up a screen or two for testing on those boards. Let's see. Tyeth says kind of regret not getting 10 Qualias. Lots of lots of cool display projects in mind, huh? All right. Next up, let me get set up here for a Circuit Python Parsec. All right, here we go. For the Circuit Python Parsec today, I would like to show you how to use async.io to run concurrent tasks that don't get in each other's way. So what you'll see here in the overhead, I have three LEDs plugged into this Metro RP2040. The green one on top is blinking at this quarter-second rate. The red one is blinking and holding every two seconds. And the little white one down at the bottom there is fading up and down at a different speed as well. So all of these things are happening. They're doing tricky little internal timings, but they don't really bother each other. How does that work? Well, what we do in code is we import async.io. Then I have some typical board and digital.io and PWM stuff to blink the LEDs. Then you can see I'm setting up functions that are a sort of unique kind of function. They're called async functions. So you see async def and then I define how a blink works. In this case, I'm telling it the pin number and the speed or interval that's going to work at. Then I set up any LEDs that I've called. And then I have this little loop right here that looks like a typical blinking routine. It says, okay, we're going to turn the LED true. But then instead of using time sleep, we're using await async.io sleep and then whatever that interval is. Same when I turn it off and wait that interval. I have another one here that's similar except this one is increasing and decreasing the duty cycle of that white LED there with PWM so it can fade up and down. And then instead of running our main task as a usually like a while true loop, what we do is we create this async function called main. And in it, we're creating separate tasks that will run on their own without bothering each other. So we have LED one task, which is a blink at this speed on pin 12. We have LED two task, which is the two second one. And that's on pin A1. And then we have a third task, which is running that fade routine on pin A0. And it's running really fast. Then I create this await async.io gather. And then I create this await async.io gather any of the tasks that I want to run. And then the sort of meta run that we have around the whole thing is this async.io.run. And then I'm calling that main function, which is full of those tasks. And so that is how you're able to create multiple things going on at once with different timings inside of CircuitPython using async.io. And that is your CircuitPython Parsec. Audio was off. Sorry about that. I was just saying. I want to thank Dan Halbert, who created the, worked on this code, created the guide for it. And I was able to pull some of his sample code as a starting point for doing this example. And then I just added to it this fade function. Yes, thank you. There's a delay between my broadcast and when you see it. So people are just telling me now that I'm muted. Thank you. I appreciate the note on that. I caught it early, but usually I need people to tell me. So thank you so much. Alright. So that, like I say, that is a huge help to a lot of projects doing things like running stuff that's on timings. It's really common to want to do things with motors and servos and lights and sound that have very particular timings. And yet you might be trying to do UART stuff and you might be trying to press buttons and turn knobs and to get all that stuff to work together is usually really tricky. A lot of complicated code to try to roll your own. And so I'm really excited to just start dipping my toes into using async.io to help with these sorts of things. Hey, this is a good point. Mark Z says, do you have a summoning horn? Yeah. It's dangerous, but it is an idea. If I set up one of these summoning horns so that people can beep it at me when my audio is out, that would work well. I used to have a system like that many years ago going, but it wasn't anywhere near as loud as this one. Alright. So let's move on. What else have we got going on here? Let's talk about check my notes. Where did my notes go? Alright. So we've got summoning horn. Yeah. Let's dive into the summoning horn a bit, since we've brought it up. And for that, what I'm going to do is start off over here speaking of learn guides. In fact, if you scroll down a bit, maybe it's on the next page, otherwise I'll search it. There it is. No code, whippersnapper summoning horn by Tyeth Gundry. Tyeth's in the chat there and I hope I'm saying your name correctly. Please correct me if I'm not. So this is a really cool guide and the idea for this was originally proposed by Cory Doctorow. He's a friend of mine, a friend of Adafruit's. He's a sci-fi author among many other things. And his editor and his editor's assistant sometimes have critical emails that they're sending to each other and getting no response on. And I hope I'm not spoiling it for them if they're watching, hopefully they're not. But Cory wanted to be able to get them some car horns that they could beep at each other. That was the idea. If you want to be able to yell at someone who's in another room so they hear you, then the summoning horn is for you. So this was the idea. Tyeth put together a really great guide on doing this essentially as a codeless solution using whippersnapper. So if you take a look at the guide here on the first page, you can see there's a nice GIF animation here of a dashboard in Adafruit I.O that has some of the key features here. Let me see if I can zoom that up a bit so it's a little easier for you to see. So you can see this dashboard has a big button. You can click this as Tooth Horn. It also has a reset button which is just in case the horn gets stuck, the solenoid or rather the relay gets stuck or it's gotten in a stuck position. You'll see that a different color so you know to panic a little bit and turn that off. Also in the original project there is a PIR sensor, one of these typical public bathroom kind of light switch PIR sensors occupancy sensor. And these are great for knowing if someone has moved in front of it. It doesn't detect small movements but if you have walked into a room in front of the seeing eye of the PIR sensor it'll know about it. And so this gives you a graph of that occupancy as well as a little status that says person in the room on this one. So the idea is you would look here and say okay there's someone in the room or there's a good chance there is because the graph shows it's within a few minutes and I don't want to blast their ears off so I'll wait until a certain amount of time has gone by or a certain email hasn't been received. I would also recommend on this project put it in a closet put it in a box. You don't actually want it to blast your ears out. It is very loud but you can modify it if you need to. Actually, Tyeth in the chat mentioned putting a sock in it while you're testing it which is I think a good idea. So there is a look at the one that Tyeth built. I'm going to zoom out my camera and place the very similar one that I put together. On this one I don't have the PIR sensor mounted. It's just dangling free but I'll show you what it's looking like anyway. Let's do this view here. I'm going to bump up my exposure. So you can see we've got this little inexpensive car horn available at an auto parts shop or online. I got mine from Amazon. I'm using one of our Swirly grids and I just reamed a hole out using a reamer tool to get it to the quarter inch diameter necessary for this screw. I think it's quarter inch. It comes with a screw and nut. The screw is mounted into the car horn. So I was able to just screw that onto there. Then you can see I have some nylon standoffs that are holding the Metro ESP32S2. So this is a Wi-Fi project. You don't need to be plugged in other than the power. So this is going to be on your local Wi-Fi and this ESP32S2 is a really good one for that. Then you can see I have some wiring. Let's in fact, I'll leave that plugged in so you can see there's some wiring for the stem aboard. This is a relay stem aboard. So we have three wires, power ground and signal. And also the PIR sensor has power ground and signal to read. So those I just wanted to put all on pins down here. You could just plug them in with a typical DuPont connector cable or a solid core wire. I happen to have spares of these little wing shield, screw shield PCBs that are great for this type of mounting. So it's just one plug-in thing which makes it a little easier for the user if it comes detached. I don't have to think about individual wires. I can just plug that in. And this was also basically a no soldering project. I cheated and soldered there a little bit. But the project as Tyeth put it together for the learn guide is all basically plug and play parts. You can see we have plug in for the power that's running to the horn through the relay. We have the DC power connector there. We have a little splitter cable right here. So that is splitting the DC power so that we can run both the metro board which has very tolerant I think 6 to 12 volt power plug there. And that's the 12 volts this is going to use. And that's about it. You can see the power running, ground and power running to the horn there. And then when we, let's see if I can pull up the dashboard that I have. So when you put this together you will, it's a great guide, it takes you all the way through setting up the board which is pretty much flashing it with some firmware and saving a text file. You just want to put in some information about your SSID and password for Wi-Fi and then your Adafruit IO name and key. I think that's it. I think that's all it needs. So you'll save that to the settings, I think it's the settings.toml file. And then the rest is a whipper snapper UF2 that you just drag onto it. And then you can configure it just like this so you can see if I want to add a component I can find a component in here. The ones that I have added already won't show up so you won't see the sensor or the relay. I think the relay is a, yeah that shows up as an individual component. So I've added those there and then you can see these are the added items. I have this summoning horn relay. You can see I have a lot of stuff in my Adafruit IO and I didn't want to keep dragging down to the bottom of the list to find things so I did the old yellow pages trick and put AAA at the beginning of my names for things so that I could see them at the top of my list. So these are the the relay and you can see here it says it's a non-latching relay on pin D2. There are the settings for it so I have some labels on here, some icons on here what it looks like. This is all stuff that I have put into the guide. Then I have a pixel, neopixel if you look here in fact since it's perfectly quiet compared to messing around with the horn I'll show you this so in my interface here I can go ahead and increase and decrease the brightness change the color so you can see there's a red LED there now there's blue, there's purple things are taking over, I think I'm changing the color when the PIR sensor sees something so you might have seen it changing on its own. It's saying in room because it's seen movement and then I'll do did I forget my hearing protection? Okay I'm going to put on some I'm going to shove a rag in the end of the horn here and that should be enough to save my eardrums. So here we go let's see if this works I've got the horn with a shop rag shoved in the end of it and then I'm going to just manually trigger this by hitting on so you can just toggle that on and off it's fine to do it straight from here but then Tyath went a step further and got fancy by creating a dashboard I might have to make my screen a little bigger to get that header to show up there so if I click on dashboards this one's called attention grabber and again I think I'll have to widen that a little bit so that it shows up properly oh I just made it a little too small how's that good okay can you see that yeah it's going off the screen just a little bit so here at the same button there this to horn calls the same thing in the feed for this we have a reset in case it needs to get reset this is showing me person in room and then horn status if it's stuck on and we also have a nice little icon cool features in here that Tyath put to show you ways that you can use Adafruit IO whippersnapper and these dashboards and feeds to make a fairly complex setup so you can see changing of icons there's a whole bunch of like little PNG icons that you can use creating these graphs and on and on that is all in the guide I'll show you how to set that stuff up let's see so questions be helpful for communicating with someone who's hard of hearing for sure Tyath said make me think of a mechanics garage or workshop always noisy maybe link to the phone or something yeah do you remember back in the old landline days there were add-ons to just get like big blink and lights or really loud ringers for getting people's attention so this is a lineage that goes back far for those types of things so that's the summoning horn and I look forward to hearing how that works out for Cory and his editor and the editor's assistant I'll keep you in touch and this one I think is going to go to Cory so I figured we were talking about this last night on show and tell mutually assured destruction is a pretty good deterrent to using this too much so if everyone who can get blasted at with the horn can blast someone back they will probably be used more judiciously so we're going to get one set up over at Cory's place as well the adograph of Dalhagan says I'm enjoying my lattice boards so far yeah these are great this was a great idea Tyath for mounting this because otherwise you have a pile of parts and breadboards and tape and things and who wants that so those are really excellent by the way I will also say the power supply for this needs to be I think I'm using the 12 volt 5 amp supply which we have in the Adafruit shop you want a good quality power supply so this is a switching power supply that actually supplies the current that it claims I had a cheaper one that I was using and it couldn't handle it the car horn it would go and then it would reset itself it would kind of brown out everything including the board so if you have a good power supply it'll work for blasting the horn B it'll successfully power both the metro often you want to separate these types of sort of the high current supply stuff from the logic supply but yeah beefy power supply is a good idea and however you can power your metro in this case from usb-c to completely separate them that's a good idea too Tyath says the horn was continuous 3.6 amp and 2.8 amp with the sock in it yeah so you can really reduce it huh that's wild alright so let me know if anyone has any other questions in the chat about that Uniescu7 has a cute gift so I'm going to move on then and talk about where we're at with the fader wave project so I made a few little adjustments to the PCB I forgot I was going to bring the current blank PCBs I've shown them off before the reason I say that is I now have a case top on it there a panel on top so you can't see the CRT or rather the CRT you can't see the PCB you can tell I like CRTs they're on the brain but what I've got going on this is the reverse hardware oscilloscope inspired project so that was a project that Lamar found on the internet sent to me and said hey it'd be fun to kind of make a remake of this using circuit python and synthio and so I have I built a custom PCB that has 16 of these 75mm throw 10k faders I think they're 10k and I'm using a couple of our little 8 channel ADC boards to receive all that and send the info over to an itsy bitsy M4 on I2C and then I'm also using a little OLED which is on the SPI bus and I have a headphone out so that I'm using the M4's DAC digital audio converter stereo output you can also use if you want if you're using an itsy bitsy RP2040 instead of the M4 you can use the PWM out and then I have a little resistor capacitor circuit to filter it a bit and make it sound a little nicer than the raw PWM which can be a little shrill and I've also got a rotary encoder on there and I have a DAC a little digital audio converter on the top there you see the little screw terminals there that is for if you want screwing in one of these little mono jacks and then plugging it into a synthesizer that takes control voltage I've tested it I know it works but I'm not using it in my project however Liz is planning to do a project that uses this board but for some sort of a CV out maybe it'll be a sequencer adder for voltages I don't know but we'll see when Liz gets her hands on that soon so one thing I wanted to show here today was I've got a little MIDI keyboard going through a host that allows me to plug USB MIDI into USB MIDI but essentially I'm sending MIDI to it which you can do really easily plugging it into your computer but I wanted to demo it over there so I have it on the keyboard the point of the project is that the shape of the 16 faders is the shape of a single cycle waveform so what I wanted to do is show you with some held notes or simple arpeggios where you can really appreciate the changes in the timbre of the sound what that actually means what different waveforms will sound like so let me head on over there and I'm going to turn up the microphone that is in front of one of these little amps little powered amps that I have powered speakers so I'm going to check if you can let me know if that's a good mix I need to a lot of variables change here so I don't ever have a great idea how that mix sounds so let me open up the Discord leave that up there oh god I don't want to know about that it's going to take me on a tour of the mobile discord app okay get me back to cool where is anything now okay we're back up and I'm going to reset this board I'm going to set the number of oscillators to one I'll show you what some of those controls do in a second oh have I broken it I may have let's see hey nice I came over here and immediately broke it what did I do alright let me get an arpeggio playing so we'll at least hear audio out midi end this makes me think maybe I should have a little indicator on here this thing is receiving midi that would be a good little addition you know what I'm going to do I'm going to just because this worked for me earlier and then I'll have to troubleshoot this I'm going to send it midi from the computer just to make sure that that's working so bear with me yeah let me switch I'll switch views here for a second too so so I just plugged this into USB on the computer that's right here and I'm going to move a speaker over so that I can plug that in I wish I had a longer extension on this oh you know what I have another small amp plug this in and I'm going to use Ableton Live just to send some midi it's working okay let's see if it works over here otherwise we'll switch to just in front of the workstation there it's working okay I don't know what that was about let's switch camera views again now we can just hold some notes okay let's just use some octaves tell me how the mix is can adjust up and down but yeah just on that I'm particularly interested if you can hear the differences in that sounds good to me so it's just Joel great okay thank you so let's if I can get these pretty essentially no waveform because it'll be just straight up flat nice I'm going to design some little notches in there so it's a little easier to see these don't have datants if you got faders with datants where they stick in the middle that would be great but you probably don't want that anyway you probably don't want to be without sound but if you think of a wave let's make a sort of a sine wave so this will go the full range right so that's one cycle we can have it bounce a little more so if we have a harsher angle or we can go into a triangle wave roughly like that and then as we get funkier shaped waves we end up with a lot of harmonics a lot of frequencies above the fundamental that we're asking for I want to do one other thing which is what notes held on there hopefully that didn't have a stuck note not again what am I experiencing here I'm not quite sure what's causing it to huh okay so I'm going to reduce the number of oscillators this screen unfortunately it has a frequency of refresh that doesn't play well with the camera that's pointed at it the shutter speed of it so you'll see this kind of rolling display closer up over there there are four parameters that we can change and we pick those four parameters by clicking the rotary encoder we have detune which is if we have multiple oscillators how far out of tune is the second and third and fourth from the first so it gives a richer fatter sound I'll demonstrate that but let's start with number of oscillators one now listen to that I'm going to change the number of oscillators to two start to hear some subtle phasing if I go and change the detune amount you get kind of faster beating between them now they sound like buzzing bees right because they're they're quite far out of tune with each other and we can actually get to where we're playing sort of intervals that's almost a proper interval actually I limited that to not treat it that way so it only goes up to a certain amount of detune if we reduce that a little bit I'm going to increase the number of oscillators now to three so this is two five so you get big cool ominous sounds and this will work in polyphony so we can play a chord right but now we're throwing like ten oscillators at it at once and it's starting to not like that and I don't have any limits in here I'll let you break it and if you like a distorted sound you can have it so let's say three oscillators and a chord that works pretty well three notes it starts to not like it so I think two is the sweet spot and a reminder if we go down to one right it's real simple so if we want to try something like a square wave or a digital sounding and you know I'll set up a little arpeggio on this again you can see just the changing of the shape of that can have a big impact let me hit that a little harder good it's stuck a note but that's okay because I want to show if we make a really sort of jaggy swarmy sawtooth we get this very buzzy kind of sound you can calm down if you want alright I'll reset that so it fixes the stuck note not sure what's going on there so let me bring this over here just so you can see the little interface on it oh you know what while we're still here if I can get it to work reset it again so that's the default it's got two oscillators like that if I go to the second from the bottom what is this the third option we have volume and this is the mixer volume of synthio you can adjust that on the fly and then I have the low pass filter frequency so there's actually a bit of the frequencies are being chopped off right now oh we're stuck note again you know what these right now I'm only updating let me do an arpeggio these are only updating on a new note so you can see we kind of muffle it with this low pass filter or let all the frequencies through basically anything below 20,000 hertz we're hearing and this is just cutting down frequencies so we're hearing only lower and lower frequencies so even if you make a big buzzy thing you can calm it with the filter and let me stop that time okay good so I will hey DJ Devin 3 mentions you should probably have a midi panic reset thing right yeah I think it's a great idea I mean the controllers usually have them or often have them but it wouldn't be a bad idea to put a midi panic option maybe a key combo option or something like that right here kind of reasoning alright so let's just take a look at little menus there I think this screen yeah this refresh rate is fine for this there's sort of in sync so closer there and focus in so this is my default setup I have two oscillators if I want to go change that number every time I click the little rotary encoder push encoder it'll go to the next option and then we can change that value from 1 up to 8 it's pretty ambitious 2 is good and then we can change that detune amount that's what I was changing there to take those further away from in tune and there's a little volume it goes from 0 to 1 and then we have the low pass filter which I'm moving in pretty big increments there to see you can kind of sweep it quickly so yeah people are asking about the guts of this thing so let's take it apart I'm going to unplug it and pull off these fader caps and I've just got four screws that I've got there that's the one screwdriver since part of the design constraint here is that I mounted my slide potentiometers directly to the PCB and they have some nice there are four extra solder points per just connect the case to the board and that's a nice way to secure them since I've got them secured that way there are limits to how far away or close to the board this top can get and then you can see I also have some constraints of that's the screen pretty I've socketed it if you went directly to the board it could be lower but with the screen socketed and the microcontroller socketed this had to be at this height which meant I just cut a whole large enough for the entire rotary encoder knob often you will make the hole for something like this oh my god that's on their type you will make the hole for something like this just the size of the shaft I didn't that's just not want to come off right now so I just am fitting my case top over the entire knob there and you could adjust this I'm going to write the guide up for this I'll include links to download some CAD files if you want to turn this into a 3D printed case or adjust it before laser cutting it or CNC milling it I cut this on the laser cutter this is just some of that LED plastic acrylic that we have in the Adafruit store so there you can see that just pops right off of there I can plug that back in it's up and running now let me focus there we go you can see I put the itsy bitsy this is the itsy bitsy M4 I put that on short itsy bitsy header pins with short itsy bitsy sockets there I mentioned this the last time I showed the board I've also got an extra set of pins there it's just a duplicate of everyone these pins so if you wanted to solder something to let's say to TXRX you could just go directly to the board or you could solder in a second row of pins if you want to experiment and plug in some jumpers or solid core hookup wire that kind of thing so that will work I wrote M4 on there that will work with the RP2040 it's identical same pin out and you can even I've even got the A0 and A1 pins those RPWM pins thankfully on the RP2040 so those also run to the audio output over here so yeah that sockets right there I didn't solder in pins for the weird bottom pins on the board there I'm not using them for anything but if you wanted to you could and then I also added a little reset button there so these I soldered directly in you could socket this stuff also if you wanted to be able to get it out and use it for different projects the only thing you really can't get away with is the idea of these guys right here these slide potentiometers it's not really a nice easy way to work with them without just soldering them to the board unless you wanted to mount them to the face plate there's mounting holes at the top and the bottom that's another way people do this is they'll mount these to a face plate and then you could run wiring to your PCB but I decided this was a sort of neater way to go there's the back I've got a revised version that's gonna be it's out for Fab and once that's back hopefully it works have a couple little improvements to it and then we'll I'll be able to put that into the guide so you can grab your own and do with it as you like right here as I mentioned is the DAC output which I had that little mono 3.5 millimeter pig tail to just plug in there for testing purposes but you don't have to use that terminal block on there you could solder something directly to it if you want so that's it that's the board let's see what did I learn between versions that's a good question I have a little note pad let me let me bring up my my notes where are they PCB notes okay so one of them so I the way I worked on this I created the PCB schematic and PCB layout in KeyCad and I'm very new to KeyCad so I was taking eagle footprints for Adafruit parts even this I think we have a footprint as part of another is that part of I can't remember where I got that footprint but anyway I took Adafruit footprints from Eagle did some conversion stuff to get them to work in KeyCad set up the schematic objects and then linked them to the footprints that I had huge thank you to C Grover who helped me who knows KeyCad really well helped me do all of that I would have been lost without it so thank you and one of the things I didn't do to the footprint for these that I should and it was one of the only thing I didn't do I think in the things I wanted to improve was create some thermal islands some of these the case lugs that you can solder on for mechanical stability they're not used electronically those just huge copper plane and those things take a lot of heat so I just had to crank my iron up I wanted to set up some thermal islands so that it was a little easier to solder to some of those ground points because that's just a giant copper plane there so it takes a while to heat up that change I didn't make so that was one thing I learned and didn't do anything about remove unused pads on the deck oh so when I was converting footprints footprints will have mounting holes I didn't actually want to use them for this one so I originally I ended up with in this first version these holes drill holes and pads for the terminal blocks well that's not I'm not using those those just kind of came along for the ride with the physical footprint and I didn't notice so those are unnecessary so I removed those from that footprint so they don't end up on the PCB so the only thing I get from the footprint is the silkscreen and the pins that I do want to solder in there not those empty ones the I had an error on one of my silks for some reason I have this listed as pin 7 it is actually pin 8 for oh wait is it pin 7 for this one oh good yeah I think that's pin 8 maybe that's pin 8 on the rp20 40 oh I should have left it I think I think I've screwed that up yeah so I guess the rp20 40 versus the m4 it see that's pin 7 or pin 8 is that right something suspicious there maybe that's a change and then re-routing of the I had a goof up in my routing of this resistor capacitor filter set for the PWM output so I fixed that and then I also on Lamar suggestion added a little pair of jumpers little pads there that come with the connection to use the RC circuit or you can cut them and do a solder blob and you'll skip the RC circuit and so if you're using the m4 you might just want to skip that and go directly out because you'll muddying it just a little bit I'm currently using it that way and I don't mind it but it'll be interesting to try both versions so for that I just used like a simple solder pad you can also do like a little physical jumper version of that with pins and a little jumper to put on and if you want to change your mind so those were some of my learnings on that the biggest learning was just how to do the conversions of Eagle footprints get them over build proper schematics and get them linked up to put the board together but I liked it I liked the key cat I've used Eagle a bit in the past I've used Fritzing a little bit but I'm not a PCB pro by any stretch of the imagination so it was fun to build a project like this where most of the work was done already in the footprints that the Adafruit files that you can just download from our GitHub half so when I grab something like this it's then a matter of keeping some stuff like the silk of the outline, silk of the names and then the pins and then blowing the rest of the stuff away that you don't need to make your custom footprint work for you and now I have those in a little library so I can use them anytime alright let's see other questions Todd asks hmm key cat doesn't do thermals for you by default for pads I don't know maybe it does don't blame me I don't know what I'm doing let's see oh Sea Grover answers this usually but it's possible to select an ungrounded mechanical pad without thermal isolation I guess that's what I did it mostly passed design rules checks mostly I think and when I get this in and hopefully it'll work I'll throw I'll show you if you're interested I'll show the PCB design up here in key cat again alright I think that's gonna do it so let me know if you have any thoughts or questions before we check out I will mention again that if you want to go buy some cool stuff maybe some of these things if you want to put one of these together what do you need on there and it's ebitzy those are back in stock by the way it's ebitzy m4 is back in stock we have about 65 of them or so as of last night so yay if you like that board it's a really great board you can buy them again you'll need a couple of our what are these the 80S7830 that's that analog to digital 8 channel so I have two of those and those run over I2C two of those to read all 16 of these I've got our cool new DAC the 805693 I have our 1.3 inch mono OLED this is the 128 by 64 I have a rotary encoder and I have the little TRRS 3.5 millimeter output and that was all really easy those are the 75 millimeter potentiometers so it made it simple to throw this stuff together by using basically off-the-shelf 80 fruit parts pkryan hurry says don't come from my wallet with a discount code sorry I'm doing it is that it? alright I think we'll do it by the way I got a little note on the side from Todd he said I think the held notes and crashes are because you're not catching note offs that don't have a corresponding note on oh alright look right at that and update the code alright I think we'll call it right there thanks everyone for stopping by great to see you all alright thanks for hanging out in the workshop I will be back on Tuesday with a product pick and another workshop show on Thursday we'll have 3D hangouts on Wednesday as well show and tell and ask an engineer and Scott may be doing a deep dive tomorrow if he is he'll probably alert you in the chat that's the plan of now but things can change and I'm gonna get out of here thanks everyone I will see you next time bye bye