 Hello everyone and welcome to the Adafruit show and tell I'm Liz. I'll be your host this evening We're gonna kick things off with some folks from Adafruit and then people in the community And if you are in the community and you would like to join the stream you can do that from our discord That's Adafruit IT slash discord link to the stream yard is in the live broadcast channel But like I said, we're gonna start with some Adafruit folks first. So let's hear from JP Hey, Liz. Hey, how's it going? Good. I'm enjoying trying to figure out what little decorations you have there some cool autumnal things It's fun to spy on your decorations So I've been working on a cool synth IO project. I think it's cool like at least which is diving into a little bit of the the depths of How synthesizers work in general and how synth IO works in specific which has to do with wave form shapes and so there are We're familiar with things like sine waves and square waves Triangle waves and saw waves and often in synthesizers You can pick from a couple of those oscillators and maybe sometimes mix between them And that tends to be how analog Synths worked because it kind of makes sense to be able to generate things like a triangle wave And then kind of filter it into a sign but with digital stuff like synth IO is there is Sort of no limit And so the the shape of one cycle of a wave form can kind of be anything you want with many many many points And you can noodle around with them until you get kind of the sounds you want What this tends to do is mostly adjust the harmonics so you can like highlight little pinging frequencies above the main frequency So in synth IO There are tables that you can make you can use equations algorithms to generate But you can also just kind of make these tables of numbers that are the values of plotting this kind of x y graph of your wave form so if you if you pop my camera on you'll see I have a little prototype of just a Four-point wave form using these four little sliders here. This is a prototype using our Neo Sliders that we have here, but I'm working on something that won't use those that I'll talk about in a second So what these are doing is they're just saying what are four vertices or four points? That make up this one cycle of a wave form which can then be played at different pitches So let me stop talking and just demo some sound So what you're gonna be listening for is just the changing character or tone of it as the harmonics change You can see here this one is kind of like a very sharp Little sawtooth or a triangle and so it's got these kind of high-pitched buzzy sounds that are that are part of its character If I just do a straight square wave Kind of loses some of that Extra harmonics and if I try to calm it into sort of a triangle shape You can also quiet it just by kind of shrinking its amplitude down Yeah, so now the wave form is sort of centered around zero. So these go negative thirty thousand to positive 30,000 each So that's my prototype for this and I'll be showing a I have kind of a cool graphical demo that'll I think help explain This I'm gonna show on the show tomorrow using a software synthesizer But the goal is to make a 16 fader version of this So I'm gonna be taking 16 of our 75 millimeter slide pots. They have 60 millimeter throw I'm building a PCB for it and we're gonna be able to do some really cool things even beyond this project with it I think it'll be kind of a neat platform We have a couple of eight bit DAX or ADC's rather that'll work well to allow us to read these Faders and do cool stuff with them. So that's what I'm working on Come on by to my show tomorrow and we'll dive in even deeper. That's gonna be great Related to that. I've been working on the product guide for that ADC and I have a circuit Python library I'm working with Scott for writing and having used it like it's very responsive with pots. It's very satisfying So yeah, I got a really look at it at your your I was able to use your example that you sent me Thank you, and it's a really nice and and these are I think Just giving me zero to 10 23 Yes on these Neo sliders because they're using a little seesaw chip and I think that's the most they'll send So we're gonna get what zero to 65,000 We'll have much finer grain control and when with those extra points along the way if you'll be able to craft some really interesting I think Sounding rich sounding synthesis. Yes the hours and hours of synthesis. Yeah I just let it play arps and I goof around with it and zone out loads of awesome Well, thanks so much AP and look forward to seeing your show tomorrow. Sure thing. Thanks, Liz All right, next we're gonna hear from Melissa How's it going? That's good good So you want to share my screen and Other camera here. Yes. Okay. So I had showed off this paint demo a couple weeks ago, I think or maybe last year get there remember. Yeah, and I Have updated it now because I've written a new qualia library and that handles a lot of the initializing the display and everything nice and Even handles loading the touchscreen driver So I just wanted to show right now. I have it loading with the bar graph or the bar Display here and I just want to show easy it is to switch displays and so Let me go ahead and power it off first And so with this library Right now folks have to kind of have the a knit at the top of the code But with this library folks won't have to do it. It'll kind of be what they're used to with the other displays and display IO correct I'm gonna go plug this in and it'll initialize with the previous display, but in order to change it We're just gonna use this Sure here and Save that Go device decided to try that Plug it. They always hear you at the worst possible time, you know, yeah, okay, let me save it again here Yes, I think it So now it's just restarting with it and now just automatically sizes to here does a completely different test driver and Then I'm gonna go ahead and hook it up again That's great and that touch demo you wrote is very responsive with that driver I was playing with it today to do send a demo over to Pedro for a project on and it's really nice So great job with that. All these things So I'm gonna go ahead and show it the round here as soon as it Comes online. I'll save that Booting Okay, and here it's just loading completely different touch driver than the previous one and I didn't have to do anything other than tell It's just like that's awesome. That's that's great work. That's gonna be really handy for folks Cool. Oh one of my favorite parts about this is I have it so that it's going through on the library and it just looks at all the displays that are added and it kind of goes and automatically adds them into the Displays class here. So just adding a new display is easy. It's not like keeping track of a separate list or anything Oh, that's awesome. So really like kind of puts the power of circuit Python out there It's really become so much more capable than when I started using it. Yeah. Oh, that's great Oh, thanks so much, Melissa. Looking forward to using it myself. I'm sure everyone in the community is going to find it really handy Okay Go Thank you. Have a good night. Thanks. You too All right. Now we're gonna hear from some folks in the community. Let's kick things off with Bob Hello folks, I'm doing well on yourself. I'm good. Thanks. All right What I like show is a product that we've worked on for a couple of years It's called pocket frog It's a USB piece of test equipment that has a power supply a fully programmable power supply voltmeter and a counter timer and It's I'm gonna Share my screen And I still see my camera Should be there's a present button kind of at the bottom. Yeah, and I hit share screen Uh, sure as he's used to two monitors. I click here. Oh, there's another window up here There we go, I didn't finish me Finish the hand over. Okay So we've got a user interface window great that lets you find a frog serial number You've got a voltmeter You've got a counter timer and all these measurements are made simultaneously and presented and we have the power supply So you can turn the power supply on we have safety limits You can just use a scroll wheel and just dial it up. It goes against your safety limit It's a 20 volt power supply. It can run off just plain USB. It'll still give you zero to 20 volts You can use external power and it'll give you up to 40 watts of power And then the other thing it can do is it gives you programming without having to write skippy code or Python or whatever your favorite thing is for delivering that so for example If you go back to my camera, can you do that or do I do it? Oh, yes? Yeah, I'll do that so This is the the external power jack, which give you up to 40 watts we're also Introducing I guess this is actually its debut a series of education board and engineering helper boards that just plug in the front of the pocket frog And just set to your bench now This is a education board for high school tech schools first year in college Nice on resistor theory and resistor sensors so if for example we Are in the thermistor lab and we turn it on to five volts We have a We have a spreadsheet that comes with the product. Okay, and it gives you a mess of templates for Just like what JP was talking about simple sine waves. You can have your power supply deliver Yeah, if you really need a tangent wave, there you go Square waves pulse triangle waves And all the way down here that's power spliced up But you can also say I want my voltmeter not to read volts, but temperature So if you look here From the template here you put in your coefficients for your thermistor And your voltmeter is now reading temperature and there's seen up or right corner. It's 74 degrees down here Sweet pretty close to accurate. Yeah, that's awesome and for the waveform generation If I Hook up my little scope Which I can show on that camera So we've got the power supply turned on we go to calculations One of the waveforms here is a standard automotive test waveform This is a cold crank So if you're starting your car up in the winter, this is a worst-case Wave form it's this is kind of a complicated example, but we can Tell it to execute it and if you look at the scope screen, we're up at 12 volts dump Playing back a cold crank waveform very cool So it's kind of an instrument in a class by itself. There isn't a lot of stuff out there. It's It gets around a lot of the hump of programming to generate Repeated test waveforms, you know repeat a Battery discharge over and over all night to make sure that your embedded software behaves correctly saves the non-volatile parameters or whatever you need There's a lot for a design test. Yeah, and we They have a bunch of material on the website you can download if we I don't know are you looking at my screen now Yeah, we see your screen. Yeah, um and Standard measurement us is set up a little shop. So Available on our site very cool. Well, thanks so much for coming by and showing us this walkthrough. It's very cool Thank you. Thank you. All right. Have a good night. You too All right, now we're gonna hear from Braden looks like he's gonna play us out Hello, hey, how's it going? Hey, by the way, I've always wanted to say I love your microphone. I just think that's so cool Oh, thank you. It's actually a little 3d printed Like pop filter things. Yeah, very cool Actually, I dovetail into actually what we started with which was this notion of synthesizers and so I planned to go to super con didn't get there But they had this idea of a waveform generator mixed with a vector scope And I said well, that sounds really kind of cool and so they were using a Raspberry Pi Pico and I did some research and did some digging around and I found Some bits and pieces and I was able to glue it all together for taking a Raspberry Pi Pico and Something that's referred to as an R2R, which basically says it's a resistor and it's 2x of a resistor and you can create a DAC a digital to analog converter Just out of resistors and so this is a quick picture. I Actually created two. Oh, I gotta change my yeah screen real quick. I actually created two 8-bit DACs there you go on the Pico so it's literally is just a Pico and 46 resistors Yeah, I know it's it's coming And I and it doesn't look very pretty. I soldered them directly on to the GPIO pads But it does work. So what you now see over here is Just some rotary encoders that I've got that have set up and you can see I've got channel one and channel two It actually has two full channels. So let me just quickly set This is set up as you can see on channel zero. I've got a sine wave set at 1,000 Hertz or a kilo Hertz. So let's just turn that on real quick and You should see when I change one of my screens. There we go The yellow line there is that sine wave And on channel one I could create the same one if I wanted to I could set it to be a sine wave And if I turn it on you'll see the purple line becomes the same as that one It's just out of it's just out of phase and I can adjust the phase and do fun things like that But you can also mix so for instance right now. I have a sine wave but I could say that I want to use frequency modulation and Add another sine wave to it and I want the relationship between the two to be Let's make it five to one and Now when I start when I restart that one, that's what I end up with for a waveform So that's a sine wave mixed with the sine wave one is five times the frequency of the second and I've got access to so let me just quickly change. Let's say We're going to set this to be Ten times but instead of mixing it with a sine wave. Let's mix it with a Triangle wave and this should look pretty familiar at this point because what's going to happen now is the sine wave is going to be mixed into a triangle wave Now if I set the yellow one as my reference To also be a triangle wave. You'll actually be able to see There we go and see I can actually fit one inside the other Very cool. Yeah, and so this is nothing more than a Raspberry Pi Pico and a bunch of micro Python code the trick is it uses the The DMA it uses it uses two DMA channels linked together It uses a state machine and it uses PIO, but it's all written in micro Python It's all open source. I've published everything out. I use github instead of git lab But it's simply called awg to the number two chan for Arbitrary waveform generator to channel And it's been a fun thing to play with It's kind of interesting like I said I hadn't done a lot with micro Python and I hadn't done anything with the DMA channels or the PIO and on the Pico Those are just incredibly powerful because there's a lot of fun to play with once you get to when you kind of get understanding of how they all work together That's amazing and I've seen this project kind of floating around so it was great to get a live demo and I agree like the RP 2040 just it seems to just have all this capability that I I never I never cease to find something crazy Well definitely drop a link to your github in live broadcast chat so folks can check it out I will do that. Excellent. Thanks so much for coming by. Thanks. Have a good day. Have a good night All right, that's going to do it for tonight's show and tell but don't go away in 10 minutes Live is going to be ask an engineer with Lady Eda and Mr. Lady Eda Until next time have a good night. Bye folks