 Hello, welcome to the show. It's me, John Park, and it is time for John Park's workshop. Thanks everyone for joining. I was out last week, so it's nice to be returning this week. Despite the heat, I promise I'm not going to complain too much about the heat, especially because thankfully I have some good air conditioning here in the workshop, but it reached 109.9 degrees Fahrenheit here in Southern California in my city yesterday. So today it's a little cooler than that, but it's going to be even hotter on Sunday. I think it's going to be worse. How about that? So I shall try to stay hydrated. If you're wondering who I'm talking to, if you're watching this over on Twitch or Facebook or somewhere where we don't have chat, actually, Facebook didn't work today. I'm sorry, I changed out the... I synced up the stream keys on Tuesday and that did work, but then Noah and Pedro said they had a problem with it on Wednesday and I forgot to try to flip that on today. But if you're over on Twitch or maybe somewhere else where we're not on the chat, then the place to head is over to our Discord. That's it right there. That's the Adafruit Discord. It's adafruit.it slash discord. We'll get you over there and then you can look for all of these channels on the left here. Right now we're in the live broadcast chat channel, but you can see there's pet photos, there's help with Circuit Python, help with radio projects, Circuit Python Dev, a whole bunch of other places to go and hang out. And I'm also keeping an eyeball peeled over on the YouTube chat. I've got it right over there. So hello, Davidesa and Gary T. Nice to see you. Thanks for joining up. Let's see. We'll get down to some business. I mentioned a couple of housekeeping types of details. I've got a wrap-up recap of a product pick video to show you. I've got a Circuit Python parsec to take you through. And then I've got some projects related to LFOs. What are those? Not UFOs, LFOs. We'll be looking at LFOs in a couple of forms using Circuit Python and a Circuit Player and Express. And some other gear, some other equipment. So some fun gear stuff. And project-wise, I just finished up adding some pages to some guides. So you remember I had this one right here. Still got it sitting on my desk. I've got the flying faders. I did a guide on the basics of flying faders. And I just added an Arduino page to that. In fact, let's take a look at some of those real quick. I don't usually do this, but it's kind of nice to recap some projects. If you take a look at the new guides section here, you can actually scroll sideways through these. We might pick up all of the ones that I'm talking about. But if not, I'll just click on View All. That'll give us a nice view, a nice overview of the new guides. And let me scroll to the flying faders guides. That's the first one to take a look at here. And you'll see I had the build, the install, and coding in Circuit Python. And now I've added this, coding the flying fader in Arduino. So here is the code. It's straightforward, and it's very similar to the way I did it in Circuit Python. I did leave it as an exercise to the viewer to add their functionality to what the fader is actually doing. I don't think I'm sending out MIDI on this one, am I? No, I didn't add that. So this moves and does its thing, but then you can add what you want it to do. And if we scroll back a couple pages here and up, you'll see the step switch party is also now newly Arduino-fied. So I've got the original steps and build circuit assembly instructions, photos, all that stuff, code it with the step switch party with Circuit Python, and then code the step switch party with Arduino. That's a new section, same sort of thing. Gives you the basics of clicking buttons and changing the state of a variable as well as flipping the LEDs on and off. So that'll take you through that. And then one other guide that I just updated is the ESP hole ad blocker. And this one, we got a note from, actually a friend of mine, Corey Doctorow, said, hey, can we have a set of instructions for how to use this with Android devices? Because we originally presumed, I didn't test it on Android, I presumed that it would work the same, but on Android devices a little bit of a different set of settings you need to go through to convince it to use the ad blocker or the ESP hole. So this, I just got it working on an Android tablet and took some screenshots of that. So that'll just guide you through that if you have any questions about how to use the Android devices on a network that has an ESP hole blocking the ads. So thanks to Corey for pointing out that it wasn't working the same as iOS. All right. And next up, I'll mention we've got our jobs board. So if you are looking for work, if you are looking to hire someone, if you're looking to get hired, then head on over to jobs.aderfruit.com. You'll see there's positions listed there. It's entirely free to use. It's entirely free to post positions. If you're looking to hire someone, it's an entirely free to post your own resume up in the available for hire section. So head on over to jobs.aderfruit.com. Check that out. Next up, I'll mention my show that happens on Tuesdays. I think most of you know about it. Apologies. Apparently, there was a really poorly timed service outage with the US Postal Service and my show. So people who were looking to get the product pick of the week, which was this Metro Mini V2, most of you who wanted to go through the Postal Service were having problems with it. We saw that there was a number of hours, I think maybe five hours or something that the Postal Service was having problems. So apologies for that one. But what I do on the Tuesday show is I pick a product and I get it on a great deep, deep discount with the help of everyone over at aaderfruit and particularly people in the new products group. And then we do a bit of a demo, usually some software hardware demo, take a couple of use cases. And here's a little one minute recap of that. So check it out. It is the Metro Mini 328 V2. Comparison. That's an Arduino Uno. And that is the Metro Mini V2. So you can see it almost fits in the old DIN style version of the chip there. A blink style exercise. So if I plug that in with USB-C and no fiddling around with which side is which. You can see here I have a little blinky sketch that's blinking. I have a Metro Mini and this is right out of the package, no pins are soldered onto it. And I've plugged in one little STEMI QT cable that is running to a rotary encoder seesaw breakout. And then the chain continues. I squared C moves along to this little display. So simple demo here. But the nice thing is you can get right to coding without any soldering. It is the Metro Mini 328 V2 with USB-C and STEMI QT. Yes, it is. So what else have we got? This is a great time to do the Circuit Python Parsec, in fact. Parsec, in fact. And this will also lead a little bit into the LFO action that I teased earlier. So take a look at this. Okay. For the Circuit Python Parsec today, I wanted to show you how you can use a step size inside of a range when you're looping through things in order to change the increments you use in the loop. So what does this mean? So often when we use the 4i in range and then some number, the default is to increment one value at a time so that i gets added to one additional each time and works its way through. This is a really common way to sweep a value up. Let's say you're bringing up the PWM value of an LED or something like that. You can loop through it with 4i in range and then a number. But you can also use 4i in range, start value, stop value, and size value. And what that does is allow you to say, here's where I'm going to start, here's where I'm going to stop. So that's the range. And then the actual size of the steps inside of that increase. So it would be like plus i equals i plus 2, i equals i plus 2, i equals i plus 2. So it keeps incrementing up by 2s or 3s or 4s or whatever you need. So to see this happen in action, what I have is I have some numbers printing out when I press a button on the Circuit Playground Express. When I press the B button, you'll see it's going to increase that step value. So now increasing by 2 every time through. I'm still reaching the end or close to it. And you can see here, now I'm going by 3. So 0, 3, 6, 9, 12, and so on. Now I'll go up by 4. So every time I press this button, I'm changing that step size. But if I did this static, it would be the same thing. If we just said every time we go through let's increment by 6, it would always look like that. And so the way to do this is right here in the main loop. So when I press the button, one of the things that's happening here is for I in range, start value, I have that set to 0, stop value, I have that set to 41, and the step value or size of the steps is 1 to begin with. But every time I press this button, I'm increasing the number there. So I'm going through different values. I can also decrease that using the other button. So that is how you can use the range command with start, stop, and step in order to change how you loop through a set of values. And that is your circuit person. And that is your circuit Python parsec. Is the heat getting to me? Who knows? Who's to say? Possibly. All right. So that leads us into the project that I wanted to show today. And a couple of things actually led to this. So first of all, you can see here as I'm pressing a button on that circuit playground express, and I'm incrementing, I'm increasing some value and I'm increasing it either granularly one step at a time or by fives or by tens. Originally when I was preparing this, I had a output going to one of my DAX, the digital analog converter. And I was just looking at those values on an oscilloscope because it gives you a nice ramp value up and a ramp value down. And essentially the sample rate of that or the number of increments that we're going through is dependent on that step size that I have there. While I was doing that, I realized, okay, that wasn't as clear as what I wanted to show. So I used the printout here. But what it did do is seeing that triangular sort of slow moving wave made me think of a low frequency oscillator, which is something we use a lot in a whole bunch of different disciplines, but particularly I use it in music, in electronic music with synthesizers. And so what is an LFO, low frequency oscillator? What does low mean? Well, essentially it means it's not in audio rates. And so there are oscillators that are the sounds that we hear. It could be a sine wave, it could be a triangle wave, saw tooth, some funky wave table shapes. But if a wave is moving fast enough, it gets into that sort of somewhere above 20 hertz where we start to be able to hear it, depending on how old you are. And anything below that we consider to be a low frequency oscillator because we can't hear it, but the use that it has is in modulating other stuff. And the reason this works is that in analog synthesizers or in voltage controlled digital or analog synthesizers, when we want to adjust parameters, we usually do it by changing the value on a knob. But a lot of knobs on these types of devices are accompanied by a jack where you can plug in some voltage. And so rather than me turning a knob, we can send some changing values in a low frequency oscillator. And it's kind of most basic variety. It could be just a simple triangle wave, consistent triangle wave. And that would be the equivalent of me turning a knob up and me turning a knob down and me turning a knob up and turning now that could equate to a lot of different things in the final outcome of the sound. It could be the pitch of it. So it would be a low frequency oscillator connected to the pitch or the volts per octave input on that device. It could also be other things that shape stuff like the tone could be filters. So that kind of muffly sound of the harmonics changing can be something that you change using a low frequency oscillator. So what I want to do is head over to the workbench and show a example of the Circuit Playground Express just acting as a low frequency oscillator to control a simple panel meter, an analog panel meter. We'll start there and then we'll expand on the idea. So let's head on over here and I'm grabbing my water. And so what you can see to start with, there's my coaster. And actually I'm going to, since I'm at the bench, I'm going to open up my discord right here so that I can see if there's anything happening in the chat. There we go. Oh, we have some suggestions for what LFO might be including little flying object, low frequency ocelot, liquid ferrous octagon, little fluffy orbitals, and lockable foamy organisms. All correct. There are no wrong answers. So this is really similar to what I was showing in the example with printing out a value of I that was increasing over in my serial output, except now I'm sending the values to the DAC. And the DAC pin here is this pin A0. This can send voltage in the range of this microcontroller, which is Circuit Playground Express and it's running at 3.3 volts. So it can go from 0 to 3.3 volts. You see it's pegging a little past the 3 there, and I haven't clamped that. I think the panel meter will survive. And it is doing this sweep pretty steadily. Other than some allowances for the physics of the weight of the inertia of that needle, we're essentially changing this value linearly and reversing direction and heading back down. And so this is what I would consider to be a triangle wave. Now I'm going to try, I was having some issues with this meter, but I'm going to try showing on this little teeny pocket scope the same thing that's going on there. So I will grab one of these. Someone mentioned liking these on the mouse, actually, who's on the show and tell mentioned liking these a lot. These are mono 3.5 millimeter to alligator clip cables that we have in the store. And they are great for this in particular, which is plugging into this scope, which has a mono 3.5 millimeter jack, and then connecting up to ground and the out. I'm going to remove this just for space, thud. So I'm going to connect to the ground and the out on the Circuit Playground Express. Oh, good. That's working. That is not in focus though. That's a little sharper. And let me see if I can noodle with the range here, so this is more visible. So I'm going to go to the Y offset and drag this down a bit. There we go. Okay. And so you can see I am sending based on the settings of this, this has one volt increments per grid line. And we can see we're basically traveling across three grid lines. I don't know if those are super bright, if you can see them ignore the cursor lines there. Let me see if I can turn those off. Did that work? Some of them are still blinking. Oh, no, I didn't do that at all. But anyway, point being this is a low frequency oscillator that is essentially just voltages from zero to 3.3 coming out of the Circuit Playground Express. Now, when we're talking about things like modular synthesizers, they tend to, especially coming from standards that were originally for analog based equipment, we have standards of voltage that we're concerned with. And so with this type of Eurorack modular synthesizer, the standards tend to be control voltages range from negative 8 volts to positive 8 volts or even negative 10 to positive 10. So we have this wide range, one volt per octave if you're talking about how to change the pitch. So you go full octave just by varying. And so that means we could send three octaves worth of pitch from this, not the full range of the keyboard like a more purpose built device, but still for a lot of cases that's enough to contain most melodies. Three octaves is a pretty huge range actually. But especially for modulation, for changing values, you can get a lot of use out of just this sort of 3 volt to 0 to 3 volt, 0 to 3 volt. So what I'll do is we're going to change out from that scope there to this little pod I put together, which contains, by the way, a little tour of cool stuff on here. This one is a neat little utility module from our own C Grover in the chat. So thank you Cedar Grove for sending that. I only have it hooked up to the 12 and negative 12 volt rail, but this will show you if you're healthy on your power supply. I just didn't plug in a full size connector, but it'll also tell you if you have plus five. But those are the sort of internal voltages that the devices use for references and are powered by five volts, negative 12 and positive 12. And this is also a handy little ruler that shows you the sizes of modules in horizontal pitch, which is listed there. So for example, if I take another module that I'll talk more about later, and I'm adding up how things are going to fit, I can just look at that there and see this is an 8 HP module, but this is 8 HP. So blank panel just to take up some space. Castor and Pollux, super cool, Juno style dual oscillator or chorusing oscillator. So this is the thing that makes the sound, runs at high frequencies that we can hear high frequency oscillator essentially. From Winterbloom, our own Thea Flowers, a friend of the community in Circuit Python, Nesta. And then I have a little tiny baby oscilloscope here. So if I just plug my Circuit Playground Express into this little oscilloscope, it's good for a reality check that it's working. Oh, it looks like my camera shutter speed is having a fun time with that. I don't think that'll, I don't think I can fix that easily. So I'm going to leave that alone. But there's my triangle wave that's coming out of here. And now what I'll do is I am able to pass that same, just a convenience buffer. So that voltage that's going in here for me to read on the scope is also coming out on this purple cable. So that's my modulation of the low frequency oscillator. Now what I'll do is I'm going to power up a little speaker. Okay, so that's just one of the oscillators that you can hear there. And I'm going to just check my chat. Let me know if this is, if you can hear this. So right now I'm just playing a steady tone on this. Now by hand, I can go and change something like the pitch. If I want to just sweep that pitch up and down like this, but do it precisely and do it 3.3 volts at a, at a go up and down, I can take the output of this Circuit Playground Express running this triangle low frequency oscillator. It's buffered. So the voltages are not going to droop. They're, they're precise. Passed along up to the input jack right next to that pitch knob. Now I can offset the base that that's starting from with this knob. In fact, since this one starts at zero, I can take the caster and Pollux, actually caster just the left half. I can take that down to pretty much as low as we want. And we're still going to get down to its lowest frequency that that's capable of. Should sound the same at that pitch when I unplug it. All right. And that's because this thing is running at zero. So it adds nothing to it or it offsets it by up to 3.3 volts. And then I can offset it with the knob. Okay. So you can see that's actually not super musical. It sounds like an alarm. And typically something like this triangle wave low frequency oscillator is more useful for modulating some other parameters. So in the case of caster and Pollux here, any of these little jacks that have a line pointing to a knob, that's a nice little piece of UI that tells me that is a input that will adjust the or modulate the setting that that knob is providing. So in the case of this first one here after the pitch, this one is a pulse width modulation duty cycle. So it'll take essentially a square wave and turn it into different duty cycles of square or pulse wave. So I'm listening to the pulse wave component of this. So start there. And now I'm going to adjust that pulse width. Okay. So that's me doing it by hand. Now again, I'm going to take the LFO signal coming off the circuit playground express and adjust it automatically. Went too far before you couldn't hear it. Okay. And you can see that's pretty cool. And it adds what often people can describe as motion or movement to your sound. So it doesn't sound static. I didn't actually, I forgot to bring anything that I could actually sequence or play that pitch nicely with, but I'll go ahead and just kind of hand play a little bit of a out of tune melody with it. But you'll hear that that pulse width modulation is layered on top of that. So check it out. Right. So that's the value of something like this operating in a limited range. It's not the full, like 20 volts negative to positive, but I don't need it. So in fact, a lot of the low frequency oscillators and other modulation sources out there, you tend to want to attenuate or reduce their range. So three volts is totally fine. Now here's a really cool other thing to modulate here, which is this, I mentioned this is two oscillators and they can either be tuned independently to get sort of little chords, little harmonies going. You can also use the second one, use Pollux as a chorusing effect on the first one on Caster. So what I'll do is add some of that using this mix knob. So I'm going to add the second oscillator. So you can see I'm getting motion just based on Pollux. But now if I go and tune the voltage, the incoming voltage on the oscillator Pollux with my, let's do it by hand first. Now I'm going to use LFO. Here we go. Sorry, wrong mode. Right. So without is me by hand. It's actually pretty hard to use the knob and get it to sound as cool as the LFO does. The LFO really is beautiful on this. Okay. So what are some next steps with this? Well, let me grab, I'm going to just grab the circuit playground express and then bring it over the computer. We'll look at the code that's running this and how we can make some changes to the rate or the speed of this as well as attenuate it all in code. So I'm going to see, maybe I can hook up this scope and we can look at those changes. Let's see if I jump into this view. I'm going to unplug the first one. And you know, just from a, clear that window out of the way, just from a ease of use. The circuit playground express is really great for this because it's got the alligator clips. Now this one, I happened to attach those little standoffs make it even easier, especially to get multiple clips on one. Oh, let me tighten that screw that's coming a little loose to the downside of it, just versus clipping direct. But yeah, it's easy to code. It's super iterative in circuit Python and it is easy to connect into this modular system just thanks to the alligator clip to 3.5 millimeter. So let's zoom out and that's a pretty good focus. Okay, so let me go over to my code window and open up the code running on that one. And here you can see, let me clear this out. Okay, so what I'm doing here is I'm importing time board for pin definitions and analog IO. Then I'm creating an object I'm calling DAC, which is the analog IO analog output on board a zero. So you need a board with a DAC pin on this. I was or you could get away with PWM as well. Oh, no, what have I done? I've angered it. No, that's not good. What did I do? Something loose or something shorted? There it is. I wonder if I was shorting something. I'll stop touching that. So sorry, this scope needs to be reminded of some settings, particularly why offset here. Okay. And after I make that DAC object, I'm then setting a maximum value. So the maximum on this is 65,535, which is the full range of the DAC. And so that's sending up to 3.3 volts. We can adjust that. Let's say I want to send a half of that, about one and a half, a little more than one and a half volts. If I hit save here, we should see now a shorter peak or lower peak there. And we get smaller with that about a volt. Oh, no, not by one by three. Okay. So watch this one. I'll let it restart. So that's the full range, three volts. And if I save now, we're going to go a third of that with just one volt. Now, you can imagine it's not super convenient to sit here, try to live code this and restart the thing. So what you'd want to do is maybe have a potentiometer running into the Circuit Playground Express that you're adjusting a value with or a rotary encoder or something like that. So if you want to change or attenuate the amount of voltage that you're sending out at the maximum, then you could adjust that from some sort of sensor you're reading. Then the other changes that are possible in here. So I've got a variable called delta t. This is the time value that I am sort of pausing between each little iteration of the step size increasing or decreasing. And you'll notice I have a pretty big step size here. Step size is 200, but that's because we're taking this thing from zero to like 65,000. So we don't need to travel smoothly through that. We get the voltage sort of naturally interpolates. So this allows us to get there a little quicker, but really the speed of it is based on this pause that I have. And you can see right here in my main loop, essentially I set the DAC to zero at first. So when it starts up it's sending zero volts. And then I loop through first and increase. So here's that same trick from before. Actually, I'm not using it, am I? Yeah, I am. Oh, of course, yeah, the 200, the step of 200. So you can see here I have start at zero, go up to whatever the maximum is. In this case, 65,535 divided by three, the integer version of that. So I'm going to make it up to that, about 10,000 something or whatever that is, and then I'm going to increase in increments of 200 because that's my step size. Then I set the DAC value to be I. So I is going to be zero, 200, 400, 600, and so on. But between each of those I pause this amount of time. So 0.005 seconds in this case. So now you can see if I want a faster LFO, I can set this to a lower number. Let's say half of that. So 0.0025. So watch the sort of period or frequency of my LFO that's on the scope right now. I'm going to hit save. It's going to restart. And now we get this much higher frequency twice as fast LFO. And we're at attenuated down to this shorter range. Again, you can imagine you don't want to have to code this, but the case is a lot of the modules that I'm using and none of those modules are less than 100 bucks. It's really expensive to get your EREC modules because they have power supply and a nice aluminum face plate and knobs and the potentiometers and all this stuff adds up. The jacks, it's actually, it is expensive to put those modules together. But you can see right here if we did add a couple of potentiometers with alligator clips on them, we would have a pretty legitimate simplistic triangle wave LFO just with what we've done here in 22 lines of code. And a couple of those are commented out so it doesn't need to count, right? 20 lines of code, you could do this. So if I, let's say, bring the range a little higher and let's make it even faster. Let's do 0.125. I want to go in here with that sounds like acting as a faster oscillator. It's the kind of oscillation we should expect from that, right? So I'm going to go ahead and switch on over and plug that there. Let me go back over to the bench. And you can see, again, I'm going to plug my output of the DAC into this little scope just to see, sort of confirm, we have the same. Oh, it's angry again. There it goes. Okay, so you can see my higher frequency and slightly shorter LFO coming out of there. And turn the volume up and then I'm going to plug it again into the Pollux volt per octave. Here's what it sounds like just going into the pitch of Caster. So it should be about an octave and you can hear it's a lot faster. And here it is into the PWM. All right, real music to your ears, right? Sorry, it's not more musical than that. Also, again, just to take a look at that in the old fashioned way on the analog scope, if we, we can kind of piggyback actually off of these little posts here as long as we're careful enough to short anything, that is the slight danger of. Yeah, and so you can see it just doesn't have enough recovery time to get back down to zero. But it is, you can see here it is getting all the way down to zero on the, on the scope there. All right. And so that's a sort of fundamental exploration of LFOs and a very simple one, Triangle LFO, just made with the Circle Playground Express. One other thing I wanted to mention is that also from Winterbloom, 50 of Flowers, is a Circuit Python based module here, and I've shown this before, I think Liz Clark has shown this before as well. This runs Circuit Python and it has outputs for four gate or trigger signals, like kick off a drum or open a VCA or an envelope, and four, four signals that can be low frequency oscillators and sort of audible voltage controlled oscillator, audible range stuff. And I actually loaded onto this, a piece of sample code that does an LFO, I didn't even test it, I ran out of time, but I'm going to, I'm going to go ahead and just plug it in and see, see what we get from, from the basic sketch of that just for fun. So let me, I think this one's a little too deep for this case, but I'm going to dangerously dangle it off to the side and just grab the power from it. I have one spare plug here, so this is going to power the module, provide the negative and positive 12 volts, 5 volts, ground, and I'll go ahead and plug, I think this has a sine wave by default coming out of the A output, just changing the time base here a little, lift that up. Okay, so there's this sine wave coming out of Sol, and if I want to use that in the same, there's a different, so this one instead of that sine wave has sort of a stepped little, or does it? Nope, maybe not, but this first one is sine wave, and that's all code base, so you can take a look at that, I'll just briefly show you that there, because really one of the best resources for any of this type of audio code on Circuit Python. So let's jump back over here briefly, so this is, if I can find, this is the main page on Sol, which is not available right now, unless you get it used just because of the supply chain and the, I think it's an M0 chip that it's based on, it's out, but that's at winterbloom.com, Sol, or sol.winter.dev, this is the manual for it, and you can see that example I was looking at there, slew limiter, ADSR, clocks, LFOs, and so on. It's also used as MIDI translator, that's one of its main claims to fame, is just taking incoming MIDI from your computer or another host and turning it into control voltage and gate, and so if you look at, zoom this up, this is the code that I'm running on there right now, a whole bunch of magic in the winterbloom libraries, and then here it's setting one of the outputs, that CVA output to be a sine LFO, and then the speed is scaled here, or the voltage rather is scaled here by two, so I think it's one volt per period by default, but check here, look in, this is all open source, if you're interested you can head to this GitHub, winterbloom, Sol, blob, master examples, and then you'll find the LFO example in there, and then you can check out the code that's actually running under the hood there for the library, that's right here, there we go, code, it's all right there, so that's a real inspiration for it, but the example I've got there I think is kind of a fun way to just get your feet wet with it, like I say, it does not need to necessarily be Eurorack stuff, you can find other objects out there that want to bring in voltage to modulate something else, so you can go and look around for inexpensive either DIY projects, little desktop synths, things like that, let's see, so anything else before I go, what's going on over in the chat, let's have a look there, we've got this guy, so yeah, the UFOs that definitely did end up sounding like UFOs, oh that's great, Paul Cutler said Thea Flowers of Winterbloom will be his guest on the podcast on the 18th, that's excellent, I'm going to scroll back through here and see what else, it's a nice gift of someone building out their Eurorack, Paul, a nice try, Paul Cutler again says I will not get into Eurorack three times, that doesn't protect you, see Grover posted, thank you, a link to the board if you're interested in that little rack power monitor board, super cool, and I think that covers it, great, all right, yeah, don't get your feet wet literally when you're playing around with voltage, that's bad advice, all right, thanks everyone for stopping by, just to let you know where I'm at, I showed you some of the guides that I just finished adding to, next up I am going to be putting out the Walk Person Guide, Walk MP3 Erson guide, I showed it a while ago, then the Reese Brothers, Snowy built a really nice case for me, Walkman style case, and so I've just got some assembly and documentation and coding to finish up, so look forward to that, hopefully I'll have it in state where I can show off the finished goods next week, I think that's going to do it, have a nice Monday, I am going to try to take Monday off and still do the Tuesday show, but it may be in a slightly modified form because I do a lot of my Tuesday show prep on Monday, I'll also barely be able to move in this heat, so please go easy on me, all right, thanks everyone, have a great rest of your week and weekend for Adafruit Industries, I'm John Park, this is John Park's workshop, bye-bye.