Embedded - 220: Cascading Waterfall of Lights (Repeat)

Episode Date: September 17, 2020

Ben Hencke (@im889) spoke with us about OHWS, Tindie, and blinking lights. Ben sells his Pixelblaze WiFi LED controller on his ElectroMage store on Tindie. It is based on the ESP8266 and uses the DotS...tar (APA102) lights. To hear John Leeman’s trip report on the Open Hardware Summit (OHWS), listen to Don’t Panic Geocast, Episode 140 – “Juicero of Tractors” Ben’s websites are bhencke.com and electromage.com. Go there if you want to see some of Ben’s projects, including Synthia. You can also find Ben on Hackaday, Github, and YouTube. We talked with Charles Lohr about ESP8266 WiFi controlled lights and ColorChord on Embedded.fm episode 102: The Deadly Fluffy Bunny (With WiFi). Laser cut mandalas OSHPark Small Batch Assembly More about the 4-bit Radio Shack computer (and an Arduino-based emulator for it!) Santa Cruz Idea Fab Lab

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Embedded. I'm Alicia White. My co-host is Christopher White. Just about every Embedded System project starts with blinking lights. But what if that's the end goal? Aren't there some interesting things there? This week, Ben Henke is in studio with us to talk about light controllers, Tindy, and learning hardware as a software engineer. Hi, Ben. Welcome to the Fine Studio. Hi, thank you for having me. It took no time at all to get this set up. It's all ready for guests to come in and just hit the ground running.
Starting point is 00:00:42 Could you tell us a bit about yourself? I'm a tinkerer at heart. I've always been really interested in gadgets and making things and inventing things and taking things apart and figuring out how they work. And sometimes putting them back together properly and sometimes not. Sometimes just leaving them in a pile of pieces. But really just curious about how all that stuff works. Career-wise, I've been mostly doing software. But early 2016, I kind of just jumped in headfirst into hardware.
Starting point is 00:01:13 You know, sort of pursued my hobby as like a potential, you know, career path. You know, so trying to follow the dream of, you know, can somebody just like make a bunch of stuff in their garage and, you know, tinker around with things? And, you know, if not, you know, become, you know, the next Tesla or whatever, but like at least, you know, make a living selling kits or parts or things like that. And so you're on Tindy now? Yeah. Okay. What's your, what's your stage name? Wow.
Starting point is 00:01:37 That's not the right word. What's your store name? My store name is Electro Mage. Electro Mage. Okay. So I'm going to ask you some about Tindy, but mostly about what you have there and some of your other projects. Our outline this week is called Ben and Blinking Lights, just so that those of you listening know where I'm headed. But first we have to do lightning round.
Starting point is 00:01:59 I'm not even going to explain that. Have to do it. Has to be done. Has to be done. This is my favorite part. Christopher, you first. Do you like to complete one project or start a dozen? I definitely like to start a dozen projects.
Starting point is 00:02:13 Maybe more. How many of those do you complete? One out of a dozen. Okay. It's good to know yourself. Beach or mountains? Mountains. How many bits?
Starting point is 00:02:33 Four or 64? yeah okay my uh my my first uh foray into microcontrollers was this radio shack hit and it was like this little four-bit microcontroller with like a hex led and like a couple of leds and you'd like punch in single digit op codes. And yeah, it was, it was fun. Open source hardware summit or Hackaday Supercon? Oh, that's tough. Both. Is that valid? Both. All right. Favorite wavelength?
Starting point is 00:03:00 950 nanometers. Technical tip. Everyone should know. Figure out how to configure your ID or editor, whatever you're using, to let you look up the source code for things. So if you're using an RTOS or you're just using a library, jump into all these functions and see how they're written. You can learn crazy amounts of stuff that way. Reading code miraculously does often make me a better programmer. Okay, I think that's enough lightning around.
Starting point is 00:03:32 Unless you want another one, Christopher? I don't know. I can be done. It just seemed very cursory. It was lightning. Oh. Is that how it's supposed to go? That was very quick. You went to the Open Source Hardware Summit recently. What was that like?
Starting point is 00:03:52 I did. It was awesome. It was an amazing experience. I've gone two years in a row now and just met some of the most amazing people ever and seen some pretty incredible projects, stuff like bringing medical devices to countries where access to this kind of technology is difficult or even in remote areas, maybe where you just can't get supplies in and just bringing sort of open source projects and technology to those people to kind of help them build things or survive catastrophes and things like that. But beyond that, just meeting a bunch of amazing people and just talking about fun stuff. I mean, it's really cool to just be able to walk up to anybody in this organization and just talk about cool, fun, geeky hardware and software projects.
Starting point is 00:04:43 Yes, I haven't been, but I've heard it is a lot like Supercon in that there are just so many people and everyone you talk to has something cool they're working on. How do you decide what conferences to go to? And are there others? I mean, there are those two I know you go to, but are there others?
Starting point is 00:05:03 I mean, in the software part of my career, I've gone to a bunch of different conferences. I try to be pretty judicious about which I end up going to. It's kind of funny, but almost always the talks are sort of the last on the list of things that are interesting at the end of the conferences. So it might be like, hey, we're doing this conference and there's all these great talks,
Starting point is 00:05:24 and you get all jazzed up about it, but then you just end up meeting really cool people. Or when I was going to DEF CON, it had just been the whole time in the hardware hacking village and just messing around hacking badges and stuff like that. And so these days, those are the only two I've been to recently
Starting point is 00:05:43 in the software career. You know, there's all kinds of fun stuff. Defcon was definitely the best sort of mix of software and hardware. That was pretty fun. And at the Open Source Hardware Summit, did you meet John Lehman? He's the Don't Panic Geocast guy. Yeah, yeah, I did. Okay. He did
Starting point is 00:06:10 a really good summary on their show. So I was going to ask you more about what talks you went to and who else you met, but I think I'm going to skip some of that and say just go listen to John's report on the Open Source
Starting point is 00:06:24 Hardware Summit. I have a really hard time saying that, but yes. and say, just go listen to John's report on the open source hardware summit. I have a really hard time saying that, but yes. That's the Don't Panic geocast with John Lehman and Shannon Doolin. Okay. One of the other events you went to recently. Going back. He's the guy that did the seismic kind of recording tests and like record gigabytes of data and milliseconds kind of thing yeah yeah okay yes then yes same guy
Starting point is 00:06:50 that's fine you can just say yes it's okay well i didn't know if i if i remembered the right person because i'm terrible with names i could remember somebody based on their project a lot better than i can remember their name so much though that actually does lead into what I was going to say, and that's hats and hacks. You came to our party last January. And as far as things, people's names that I don't remember, but I remember what hat they wore or what hack they brought. Yes. And you, you won the hack contest part of it with a hat. Could you describe that? Yeah. So it was a,
Starting point is 00:07:35 it was a, a wifi enabled hat and you could connect to, right. And, and you know, what could you possibly need wifi on hat for? Well, of course, so that you could log into this thing and change the lights. Cause it had to, you know, what could you possibly need Wi-Fi on a hat for? Well, of course, so that you could log into this thing and change the lights because it had a bunch of lights going around the brim.
Starting point is 00:07:50 So you could actually log in and change it. So instead of just, like, selecting patterns, it was all the, like, the math. So it's basically a web page with a bunch of, like, expressions on it. You could go in there and, like, tweak numbers and type in stuff and change the pattern of the LEDs all in real time. Okay, tell me about the math parts and how I get good patterns from typing in cosine T or whatever I needed to type in. Yeah, yeah. So it helps to sort of start in an HSV kind of color space space, you know, where you have, you know, hue is, is if you imagine like a circle, um,
Starting point is 00:08:28 or like a clock, but instead of like, you know, 12, uh, it's like, you know, zero, right. And it goes around through, through the circle from like zero to, you know, like half down at the bottom to back up to, to zero up at the top. Um, it's a terrible explanation. It's, it's difficult to describe color spaces in audio so you basically have a color around this rainbow that loops
Starting point is 00:08:51 around in a wheel and that makes it really easy to use to use things to just sort of change color so you could have an infinitely incrementing number and it would just basically be shifting color to the end of time because you basically take the mod one of that you get you know this fractional floating point remainder bit and feed that into color space and you get a color so if you wanted to you know shift
Starting point is 00:09:14 around or change over time you can you know offset it based on time you can you know take the the sort of the pixel index you know some fraction use that. You can then feed time through a sine wave. And then you basically get this thing that shifts back and forth. And then you can take a bunch of sine waves and kind of overlap them and, you know, create'm sorry, a sawtooth pattern, then when it was at the high point, it would be, you know, red. But as it went through the whole ramp, it would go down and it would go red, orange, yellow, blah, blah, blah, until it got down to violet. And then it would go back up and cycle through again. But if I did that on the value of the HSV, then I might have like green all the time, but it would be like a snoring pattern.
Starting point is 00:10:12 A sawtooth would be more like a bright up and then it goes dark and then bright up. Yeah, yeah, yeah. And then the, but this whole math thing is kind of a little language. Yeah, it is. Where did it come from? So it started off as a hack, even before it was a hat.
Starting point is 00:10:32 It started off as a hack, and it was just like, can I reduce the iteration cycle of programming LEDs? I mean, I've done a bunch of LED stuff over the years for Burning Man projects or just little tinkering kind of things. And, you know, always it's the same kind of thing.
Starting point is 00:10:49 It's the same kind of thing that, you know, I imagine embedded engineers have is if you want to try something, you got to, you know, make your changes, compile it, wait for the compiler to finish.
Starting point is 00:10:57 It dumps out some hex file or whatever. You run it through your programmer. Your programmer connects in, uploads it, resets the thing. It boots back up again and you can test your new code. So I was trying to see, like, is there a way to kind of shortcut this? Is there a way to, you know, reduce the iteration cycle on this? And so
Starting point is 00:11:13 I found an expression parser, and it basically just takes, like, a mathematical expression, you know, in a C-like syntax, and then gives you, you know, an abstract syntax tree that you can then do things with. And so, okay, what do I do with this abstract syntax tree? Well, basically, I end up turning it into a stack machine. So I unroll this tree depth first into a series of operations that push things onto a stack. So if you wanted to call HSV with the values one, two, three, you'd push one, two, and three, and then push the operation for calling HSV and then HSV would, you know,
Starting point is 00:11:55 pop those off the stack and consume them and potentially return a value and so on and so forth. So I, I, I did all that where you could, you know, type in this expression, it would get parsed, compiled into basically a set of these instructions, and then that was fed down into the chip. And then a small virtual machine, it's really just simple. It's just going through the sequence of operations. And then sometimes it's calling out to like, oh, I need to add these two numbers or I need to multiply them and so on. So is all of that running on the micro? Yeah.
Starting point is 00:12:27 The parser was still, it's still JavaScript web-based, so that's all still browser. I'm not doing any of the parsing on the actual microcontroller. Okay. But what does the microcontroller receive
Starting point is 00:12:42 from the Java page? So it receives something that sort of looks like an assembly language. It's a bunch of mnemonics for operations that need to happen. If you need to add two numbers, I send in a plus. I tell it that you need to consume two arguments. On the microcontroller, I parse all this stuff out into more efficient bytecode to run in memory. And then just basically run through the list of operations.
Starting point is 00:13:15 And what's the microcontroller? It's an ESP8266. Those are the $4 Wi-Fi controllers that are so ubiquitous and are not at all based on ARM Cortex anything. Yeah, they're pretty amazing. Like, the processor that they put into these things is very impressive. I mean, this thing, it can run at 80 or 160 MHz, has crazy amounts of RAM and, you know, like 4 megabytes of flash. And, you know, in a pretty cheap module. I mean, it's just, it's a game changer.
Starting point is 00:13:50 It really is, but it's getting older now. It is. And there are new ones out. Yeah, so they have the ESP32, which is its big brother. And it's got Bluetooth in addition to Wi-Fi and all kinds of other cool stuff. Heaps more RAM, a little bit faster clock, two cores actually. So they have one core dedicated for all the, you know, Wi-Fi management type stuff. Heaps more RAM, a little bit faster clock, two cores actually. So they have one core dedicated for all the, you know, Wi-Fi management type stuff, and then one for you to, you know,
Starting point is 00:14:10 just run whatever you want to run on it. And those are interesting, but they're also a little bit more expensive, a little bit bigger. So I think there's still room for the ESP8266, just being a cheaper, smaller module. Okay, so you have lights as well. What kind of lights were you using for this hat? Yeah, so I started off when it was in the hack phase with NeoPixels. And I've been using those for a really long time, the WS2812, 2811s. But I haven't had great luck with them. They always glitch out or get flaky.
Starting point is 00:14:52 Ah, the blue glitch, which can only be fixed with the appropriate capacitor. The appropriate capacitor is always not the one you put on. Yeah, and sometimes it's, I don't know, it's like the whatever dye manufacturing process that goes into these things, they delaminate themselves or, you know, contamination gets in there and messes it up. And sometimes you just have to take, you know, the whole, you know, LED off or just cut the strip and, you know, rewire it. So around that same time, I saw, you know, people started to mention the DotStar APA102s
Starting point is 00:15:27 and started to see those pick up a little bit more traction. I thought, hey, that's pretty cool. Let me check it out. Well, I got some, and I was just blown away. I mean, these are really cool LEDs. So they're pretty similar in terms of they have three-channel RGB 0 to T55 kind of values. They also have another channel for overall global brightness. And they operate at a faster PWM refresh rate. So if you've ever seen, you know, NeoPixels, they're not really great for, like, persistence of vision type effects.
Starting point is 00:16:01 And even if they're just stationary, they kind of blink if you're looking around or, you know, you know, if you, if you just not fast enough. Yeah. So these are, these are awesome.
Starting point is 00:16:13 Yeah. And I ended up exploring that, that global brightness, it's additional five bits on top. So it's basically like multiplied with the, the brightness of the channel. And it's not per channel. So it's the whole, it's the overall,, so it's the overall brightness for all RGB.
Starting point is 00:16:29 And you can do some pretty amazing stuff with that. So one of the things is if you're using a NeoPixel and you're trying to get something that's not just blindingly bright and blinky, but something that's a little bit more subtle, it just really doesn't have the resolution to cut it at lower light levels. So if you look at like the, the brightness difference between a one and a two is just staggering. And between a zero and a one, it's like clearly on or off.
Starting point is 00:16:57 Like there's no, you know, fade to nothingness kind of levels. And so you can actually do that with these APA one or twos. And I ended up figuring out, you know, how to basically take an HSV function and take that brightness level and then convert that back in and figure out how many, you know, how much I need on the RGB side and how much can I feed into that global brightness. And so you get just these incredibly smooth transitions and it'll go down to like where you can't even tell that it's on and you have to like look at it really, really close and you can kind of tell. So it's pretty amazing. I'm surprised because five bits doesn't seem like enough to make a smooth transition. Is it because it's multiplying against the other one so you can kind of expand the space. Plus three eights. No, is it, how many colors do you, how many bits do you get to set the LED?
Starting point is 00:17:55 Is it eight bits per LED or is it eight times three? So you have five plus eight, basically. But it's not exactly just five plus eight because you end up getting more of the different variations at lower brightness levels because they're effectively multiplied together. Okay, that makes sense. But it does make it a little trickier to take an input and say, this is what I want and figure out what those 5 bits should be because there's going to be spaces where you need to know, oh, this is one of those dangerous areas where i want to use the global thing to get me more range right yeah exactly okay i mean ideally you just want to say hey i have this brightness number make it so and figure it out and don't you know set the global brightness and dim down green because green's bright and so um so yeah i mean i figured out how to smush all that into this HSV function and you basically get it for free.
Starting point is 00:18:48 You don't have to think about it. Cool. Okay. So one of these things, one of the things I have learned about the LEDs like this is that they require power handling. I mean, they,
Starting point is 00:19:01 they need more oomph. They, they draw more current than like if you just have two or three LEDs out there. You can't drive their power from your processing board. Well, yeah, I guess it depends on what you're powering your processor with. You know, a LiPo 4.2 battery. Yeah, I mean, those can put out quite a bit of juice. Yeah, I've got some in there that'll melt the house. Your air-powered batteries.
Starting point is 00:19:33 It was a hat, and you didn't have a backpack. Yeah, yeah. So you had to put some power on there. Yeah, I mean, they do take a surprising amount of juice. I mean, it adds up very quickly. So, I mean, each of them is, you know, imagine 20 mA per element. And you're like, okay, well, it's 20 mA. It's nothing, right?
Starting point is 00:19:50 Yeah, it's trivial. Yeah, but then you have a couple hundred of them, and all of a sudden, things are melting and your hat's catching on fire. Actually, so the APA-102s are a little bit better than the WS2011s in this regard. So if you look at the strips, the WS2011s actually have little tiny capacitors. They have a bypass capacitor basically on every single chip all the way down the line. And the APA102s don't need that. And the reason for that is that the signal and timing conditions for those WS2011s are super, super critical. And if they get any kind of noise on the power supply,
Starting point is 00:20:30 they can end up freaking out and getting the wrong signal, and you get weird flickering effects and all that kind of not-so-fun stuff. The APA102s are basically a spy, right? So you have a clock and a data, and so the integrity of that signal is good enough that, at least on all the strips that I've seen, they don't have additional capacitors on there. And I've used SPI with the WS2812, the NeoPixels,
Starting point is 00:20:53 but it's not like I'm using it as SPI. I'm using the SPI port to trick it into talking to these NeoPixels. With the DotStars, the APA102s, it's really spy. It's really data and clock. It's not some weird, specially timed driver and meeting bizarreness.
Starting point is 00:21:16 Yeah, exactly. And people have done a lot of interesting tricks. Charles Lohr has the I2S driver on the ESP8266, which is pretty awesome. So basically fill up memory with a bit sequence that this thing uses, this I2S driver, which is basically, you know,
Starting point is 00:21:33 spew out a bit stream that ends up fooling it to think that it's in the right protocol. It's amazing stuff. I2S is usually used for audio codecs, right? Yeah. Pretty high speed. So it just replays that whole thing over the thing. Yep. That's a great idea. Yeah. I mean, and you can clock the I2S driver on those ESP8266s to something ridiculous, like 40 megahertz or something crazy. I mean, yeah. I mean,
Starting point is 00:21:57 way beyond what you need for audio. You can really abuse that peripheral. And we had Charles Lohr on the show talking mostly about color code, if I remember right. And he had an ESP8266, and he was controlling LEDs, but he was controlling them live. So if he was playing music, he wanted the LEDs to go with the music that he was playing at that time.
Starting point is 00:22:27 But with your hat, I would log into it and set it up for a pattern and then go away. And it would continue that pattern forever. It didn't need any live input. Is it a fair assessment of how they're different? Yeah, yeah. And so, I mean, my understanding, ColorCord is all audio-driven, and it's really cool. That's very pretty. Yeah, it's pretty cool stuff.
Starting point is 00:22:51 And he's doing some pretty amazing audio analysis on the ISP chip, you know, using its ADC and all that kind of fun stuff, as far as I can tell. It's just really, really cool stuff. On the controller that I've got, right now it's all based on time, so time is your only variable, really. And then you just feeded that in through a whole bunch of math. So it's good for non-interactive patterns. That said, it does have a WebSocket protocol, so you can actually connect to this thing through a Raspberry Pi or something like that and feed it in variables.
Starting point is 00:23:24 So you could use it to set variables in real time if you had an audio processing engine or something on a Raspberry Pi or some other computer or even another ASP8266. I like both because sometimes I want the lights to go with what I'm doing and sometimes I want to be able to set up a lamp in the living room and not have it need constant interference from me. I just want it to do the thing it was supposed to do. Okay. So this was your hat. And then a few months later, you sent me a widget and you said this was it.
Starting point is 00:24:05 This is named Pixel Blaze. And you gave me one and I think I blew it up immediately because that's how I roll. But then you gave me another and explained it to me and wrote a nice getting started guide or an idiot's guide to not blowing up my board, I think was maybe what you were thinking it should be called. But you gave me the board and some LEDs, and then you said, I'm thinking about putting this on Tindy.
Starting point is 00:24:38 Why? I mean, selling hardware is hard. Why would you do this? I understand building these things. Why would anybody do this? Why does anybody do this? I understand building these things. Why does anybody do this? That's a great question. So, I mean, I want to build things and hopefully make a living doing that.
Starting point is 00:24:55 Otherwise, I'm going to have to go back to boring old dry software at 9 to 5. So, I mean, this was a hack that I thought was pretty interesting and kind of unique. And I thought, you know, maybe this would be useful for other people. So can I polish this up? Can I put it out there? You know, maybe sell a couple units. But more just to get the experience. Like, what does it take to do that?
Starting point is 00:25:20 You know, if I'm going to do this process for something that's you know bigger or more complicated you know try it first try it on on something that's a really good point yeah go through the go through the whole pipeline and process with something that's easier to do yeah learn the learn the hard part of the business side or at least the production side without a massively complex product yeah and and the all the things i mean there's so many things to to keep track of and to learn and to figure out and you know on the technical side i mean those are all the fun challenges but then you have stuff like okay well how do i ship this thing so like one of my first orders was uh to somebody in Spain. And I'm like, okay, how do I ship internationally?
Starting point is 00:26:07 Do you ship to? Yeah. And, you know, having no idea what to charge for these, you know, I put the price at like, you know, 40 bucks with free shipping and I figure, you know, I'd see whatever the cost was. Well, it turns out that shipping can be quite expensive. And it was a learning process. I had to figure it out. And another guy, I ended up shipping. And I was shipping by United States
Starting point is 00:26:36 Postal Service. And they have these rules. If it's more than three quarters of an inch thick, or if it's rigid, and all this kind of stuff, then you need to ship it as a package. Otherwise you can ship it as just a regular envelope. I was thinking, okay, well, this is a little teeny board. It's not, you know, it's not like, you know, you can't fold, you know, uh, the non-board parts of the package. Um, you know, I, I can't imagine it getting stuck in some kind of auto loader or something like that. It's definitely not more than three quarters of an inch thick. So I, you know, put it in the mail and, uh, I get this, this email from this guy that's like, you know, understandably very upset because they actually charged him the
Starting point is 00:27:15 additional postage. Oh yeah. Oh yeah. Um, you know, and, and I was able to work it out with that guy, but it was like, Oh, that's a learning experience, you know, and that's not something I want to, you know, to give, you know, people that buy my stuff. I want them to work it out with that guy, but I was like, oh, that's a learning experience. And that's not something I want to give people that buy my stuff. I want them to have a great experience. To say, oh, this is really cool. I got this thing. It's really, really fun. Not like, oh, man, this guy said it was free shipping, and I got hosed on extra shipping charges and all that kind of stuff.
Starting point is 00:27:39 So shipping was a whole learning experience. Then there's the whole marketing side of things. How do I tell people about this? So attendee is great because you can put it up in the store and people do browse. But it's not enough to drive everything. So you have to do some marketing beyond that and just learning how to even do that. And I don't like the extra spammy stuff or, you know, if I'm following somebody on Twitter and they just start not posting anything interesting,
Starting point is 00:28:10 it's just continuous spam. I was like, I don't follow that guy. Right. I don't want to be that guy. I want to post interesting stuff. But at the same time, like this is how I can generate interest and even just knowledge about this thing's existence. So just trying to figure out where I can do this and how to do that in a way that I'm comfortable with, but also that is interesting to people. HP, when I first worked there in the 90s, had this reputation of being very bad at marketing because they promoted their engineers to marketing positions. And so there was this,
Starting point is 00:28:48 this phrase that if HP sold sushi, they would call it cold dead fish. Um, and as an engineer, I'm like, yeah, of course that is, that is how I market.
Starting point is 00:29:00 I just, I made this thing, uh, here are all the problems with it. Here's why it might not work for you. Yeah. Here's why you shouldn't buy this. I'm really embarrassed to be selling this. Please don't buy it. that way either because I understand the discrepancy between another engineer telling me what they made and how it doesn't work. I'm used to that.
Starting point is 00:29:32 But most people would rather have sushi be called yummy deliciousness instead of cold dead fish. Or maybe we should just call it sushi. Which means cold dead fish. I understand the difficulty quite well. And my own exploration into marketing is entirely about this podcast, which we are terrible at marketing. So what have you learned? Where did you go?
Starting point is 00:30:04 I mean, Twitter isn't it. I know because people keep telling me I should market someplace other than Twitter. It definitely helps. And I think it's really about connecting with people that are interested in this kind of stuff and trying to figure out where they are and where they hang out. And it's kind of weird because I am one of those people. I built this for me. I am my target audience. But I just messed around with Arduinos and stuff, right? So I had a bunch of Arduinos, or if I needed to,
Starting point is 00:30:33 I'd build a board and put a pick in it or something like that. We're eventually in ESP8266, so I was really about do-it-yourself kind of thing. But for me, that was, that was sort of like the thing that was the most interesting. It wasn't necessarily the end product. So I started off thinking like, well, who is, uh, who's, who's interested in having, you know, the end result, cool looking LEDs, as opposed to like figuring out how to make a board and, you know, like program a bunch of stuff and all that kind of fun stuff. Right.
Starting point is 00:31:04 Who wants the output of my work instead of doing all the fun stuff like I did. And it got, it got me thinking like, well, okay, artists, right. People that make interesting,
Starting point is 00:31:15 like physical artistry installations. Yeah, exactly. And maybe not, you know, like the big fancy installations, because obviously those, you know,
Starting point is 00:31:23 you need, you know, a lot of thought and design and, and, and almost the technology is secondary to the desired effect on those sort of things. But local artists, I mean, Santa Cruz has a huge artist community, so I've got a lot of friends I've reached out to, hey, can we incorporate this into some of your artwork? And that was actually a great start in figuring out how will this thing work. And I tried that market first. And it was actually really cool. So my buddy does these amazing laser-cut wood mandalas and other things. And he was commissioned to make this gorgeous Tesla portrait of Nikola Tesla.
Starting point is 00:32:06 And just amazing multi-layer. I mean, I can't even describe it accurately. And so we ended up putting one of my controllers in there. But, you know, taking away all the programming aspect and just reducing it down to math wasn't enough for that target market. The math stuff was still too much. Oh, yeah, because most artists also get degrees in math. Right. Of course.
Starting point is 00:32:33 Signal processing. I mean, who wouldn't? And interference patterns. I mean, yeah, totally. You want two sines and a cosine in order to build this pattern I want. Yeah. I found your math interface confusing until you did more of a write-up on it. And then once I realized I could copy some of your canned ones and change them, I think I helped.
Starting point is 00:32:55 Okay, so yeah, you figured out that the math part was not optimal for your target market. Yeah, so that wasn't probably the best fit. was not optimal for your target market. Yeah. So that wasn't probably the best fit. So instead of pursuing that, you know, and going deeper into there. And again, this is,
Starting point is 00:33:13 this sort of started out like, and this is the opposite way that you should build things. You don't build a product and then figure out if you have a market for it, right. You figure out the market and then design your product around the needs of that market. But of course this this is a hack. This is for me.
Starting point is 00:33:27 This is a big thing, yeah. So I'm coming at it from the other direction. So I'm just trying to see where this really fits. And I've had a lot more interest with the kind of people that are a little bit closer to me as opposed to necessarily artists. It necessarily, you know, artists. It's people that want to do cool stuff with LEDs. Okay. And so I've been tailoring it more and more to that.
Starting point is 00:33:52 All right. And do you see a big future for this product or are you already planning your next one? Yeah. I mean, I'm still working on the feature list. I mean, it's funny, even like, okay, well, you know, when you started the show, you know, like, well, the first thing you do when you start a microcontroller, right, you get an Arduino or whatever, you run the blink sketch,
Starting point is 00:34:18 and you're blinking an LED. And, you know, I never really stopped with that. I just kept blinking LEDs. More LEDs, more complicated blinks, interesting, even infrared stuff. I mean, it's all just blinking LEDs at the end of the day. Sorry, I totally lost track. What's next? All right, what am I doing next?
Starting point is 00:34:41 So even just for blinking an LED, the amount of different features and product enhancements that could go into this thing is pretty crazy. So I've tossed around ideas for segment mappers. So that's a pretty common feature request. Okay, so I've got the strip of LEDs, but I want this half, or these 20, to do something different than the rest of them. And things like Right. And, and things like that.
Starting point is 00:35:05 And so you can do that in math, but it's kind of a hassle. What about syncing multiple? Exactly. And that was the other highly requested feature was, you know, okay, I wanted,
Starting point is 00:35:19 I want to use this in, you know, in like a costume or something. And I want, you know, one in my left boot, one of my right boot and maybe a belt or something, and I want one in my left boot, one in my right boot, and maybe a belt or something like that. And I don't want them to just do random
Starting point is 00:35:29 unsynchronized stuff. I want them to all line up. Maybe control all of them with one interface so I don't have to log into the Wi-Fi of each of these three things individually. But if I do put them on the same pattern, it would be really cool if they at least shared a time base.
Starting point is 00:35:46 That doesn't seem easy. It's harder than it should be. I mean, because they're each individual microcontrollers, and they don't share a common clock. Right. So you have to have a start signal, which needs to get to them all at the same time. And 802.11. Yeah, you just run an NTP server on one of them. Yeah, exactly.
Starting point is 00:36:10 It all works itself out. Yes. All right, that's a solution. Yeah. And they actually have NTP libraries if there is an NTP server somewhere else. But I haven't seen any NTP servers for these things. Yeah, that's the trick.
Starting point is 00:36:22 Client is one thing. Server is something else. And NTP protocol has got, you know, it does all kinds of other things that aren't necessarily, you know, super critical. So I ended up looking at the, you know, specs for NTP and re-implementing some of that protocol,
Starting point is 00:36:35 you know, especially the back and forth, you know, and time window calculation, and got pretty close. But, you know, this hack that started out, you know, running in the Arduino framework is still all executing in this main loop. And so the main loop is doing all these things. It's calling out to the web server. It's calling out to the pattern engine.
Starting point is 00:36:56 It's calling out to the WebSocket thing. And trying to do some time-sensitive UDP all in the middle of that doesn't really work too well. I'm surprised that it's working as well. Yeah, so the next thing to go from there is maybe look at doing some async stuff. So there's libraries out there that will call some handler in an interrupt, so you're not waiting for whatever's going on in the main loop to finish what it's doing and adding tens of milliseconds to your time-sensitive thing.
Starting point is 00:37:36 And you don't want to move away from Arduino because you don't want your customers to have to do something more complicated, right? Well, actually, so the customers don't have to touch any actual traditional IDE or development environment at all. And that's part of the draw. It's literally just fire up a web browser and you're good to go. But yeah, so, I mean, it started off in that framework and I've been looking at, you know, what will it take to get away from that.
Starting point is 00:38:02 So you can, you know, you can take the expressive, I forget what they call it, but they have like an SDK and, you know, just go from there and, you know, write or find a web server that's, you know, open source or write or find a WebSocket server and, you know, something that helps you set up wifi and all that kind of stuff. So there's, you know, there's all these, you know, libraries that made it a lot easier to sort of get started, but they're, they're not, I would say professional enough to really, you know, consider it, have it be
Starting point is 00:38:33 considered like completely dialed in. And, you know, it's sort of a, sort of a dead end, you know, for, for a lot of those things. So it's like, okay, do I start from scratch or do i just you know live with the limitations that i have right now and you know keep going so and that and that's you know that's the same kind of challenge that you know that i imagine all projects face you know at some level yeah do do i pay the technical debt or declare bankruptcy and go on that does sound like this this product has a lot of headroom. I mean, it's a very powerful chip. You have lots of space.
Starting point is 00:39:10 There's lots you can do with it without changing anything except software. Yeah. So it costs about $40. Yeah, and I've actually, in the process of figuring out how to manufacture these things at home, I've gotten better at it. So it used to take me a lot of time to put together one of these boards. So a bunch of little surface mount things, an ESP chip, and a fun extortion into figuring out how to get panelized PCBs that weren't panelized. So I had this little tiny PCB and this stencil that's like an 8x10 size stencil or whatever,
Starting point is 00:39:49 and it's got just one board in it. So I'm doing them one at a time. But I've got, I know, upgraded to this pneumatic thing. So it's basically like a little air pump and a little tiny syringe thing with a little needle that I can pick up these little 602 resistors, you know, a lot faster than tweezers. And assembling these yourself is,
Starting point is 00:40:15 do you know other people can assemble things for you? I do. I've heard, I've heard of these places. I mean, I didn't have to build my Mac by myself? But you're enjoying the building part. Yeah, yeah. And I haven't had the volume. Yeah, that's the thing. It's a curve, right?
Starting point is 00:40:36 Yeah, you have to have the volume. It has to be cost effective. Yeah, before I jump in and build a couple hundred of these things, I want to make sure that I'm going to be able to sell them. Otherwise, I'm going to have more fun gadgets than I can possibly figure out what to do with. So I've actually dropped the price a little bit. So they're $34, I think, right now, or $29 if you buy three or more. And I do have a code for your listeners.
Starting point is 00:41:03 Oh, right, a coupon. Yeah. Um, and I do have a code for, for your listeners. Right. A coupon. So if you, uh, if you go to 10 D and you look up Electro Mage and you, you purchase some of these and you put in the code embedded FM, you get 25% off. Wow. Yeah. Thank you. I'm going to buy them all. Okay.
Starting point is 00:41:17 He doesn't care. I can make more. I'm going to get to make more. And, and I do feel like I should say that if you decide to assemble things, you should talk to Bob Cogshaw over at Small Batch Assembly because he's giving out embedded FM discounts too. Yes, I actually... Often.
Starting point is 00:41:34 Bob, if you're listening, I have a draft email that I'm working on right now. Yeah, and I'm just trying to figure out, okay, well, how do I source all the parts for these things? So I did a little bit of digging, and I can get these ESP8266 modules that are usually, they come to me in these little anti-static bags, and that's great. But I imagine you can't feed a handful of anti-static bags into a machine and have it assemble things. Not yet. Not yet. So getting some sort of tape or reel of these things
Starting point is 00:42:06 figuring out how to source all this stuff and then of course you know the transistor that i use for the level shifting is like out of stock everywhere so i have to figure out an equivalent transistor and i'm like reading data sheets and that's really fun figuring out you know gate charge and but this is a second rise time this is a huge skill set. I mean, this is something that once you've done this and you've gone through the process and you learn some of these gotchas, I mean, doing this anywhere else, you're going to have a leg up on a lot of people, right?
Starting point is 00:42:35 Because that's the whole production slash manufacturing slash electrical engineering thing. Yeah, and it's fascinating. It's exciting. It's fun. Sourcing is a skill. I mean, all of these things, knowing where to go,
Starting point is 00:42:53 how to high cat up a board. And for small companies, this is not something like you were suggesting that you outsource a lot. This is something you have to, you know, it's on you to figure out, okay, I need these parts
Starting point is 00:43:04 and this one's difficult to get. So can I get two sources and that kind of thing? Can I put this into a kit that I can send to somebody? So yeah, it was a great learning experience. So the ESP8266 boards on their own are like four bucks. You're like charging like 40. So what's the deal with that? Let me explain capitalism. like four bucks. Yeah. You're like charging like 40. Mm-hmm. So, or you're charging. So what's the deal with that?
Starting point is 00:43:26 So, let me explain capitalism. Yeah. And I, I mean, I would love to sell them for, you know, exactly what I paid for them,
Starting point is 00:43:37 but then I wouldn't be making any money. And it wouldn't, it's really to, to figure out the economics behind it. And so that's funny. So I ended up looking into this thing. How do you even price a board? How do you price this thing?
Starting point is 00:43:50 Well, can I just take whatever it'll cost to make and then just add a dollar? Well, probably not if you're spending. So you've got the ASP chip. You've got the board. You've got all these transistors. There's some through-hole stuff. Just the whole building materials. Yeah, board you've got all these like transistors there's some like surface mount or sorry some through hole stuff uh you know just the whole building materials yeah so you got all these things and then you got to figure out okay well how much is it going to cost me to like package and ship these things and all that kind of fun stuff and um there's a formula you know
Starting point is 00:44:18 like what if you want to ever you know have a reseller for these things right and that'd be pretty cool like and i'm not i'm not thinking that these things are going to be the most popular thing that they're going to be carried, you know, and you know, whatever replaces Radio Shack, but. Adafruit. Yeah. But yeah, I mean, it would be kind of cool if they were on Adafruit. And Adafruit has carried some others like Fade Candy.
Starting point is 00:44:38 Yeah. And, and SparkFun carries some things like this. So. Yeah. Yeah. You can start, you know, once you have a sales record. Yeah. And, and a like this. Yeah. You can start, once you have a sales record and a fulfillment record, you can start looking at them. Yeah, exactly. And the price is part of that experiment to try to figure out what would I have to sell these things at to be making a little bit of money, even if I was in like a reseller type situation. And then, you know, try to adjust for there. So like once I can get my manufacturing costs down
Starting point is 00:45:10 and I'm not spending all day building like a couple of boards. What's the thing? Because your time is valued at, you know, every hour you spend on it is your hourly rate. Yeah, exactly. If it takes you an hour to build two boards, that's pretty expensive um that's the tricky bit is incorporating your labor into it beyond just parts and
Starting point is 00:45:31 that sort of thing yeah yeah exactly but going back to my question it wasn't just a a how do you price it it was a what does it have in addition uh oh yeah okay what's on the board what do you get so i It was a what does it have in addition to the baseboard. What's on the board? What do you get? So I tried to keep it as small as possible. So it's basically... He's showing you with his hands, by the way.
Starting point is 00:45:55 Yeah. It's this many inches. He's showing his hands. It's a small square, less than two inches, but greater than half an inch on each side. Sorry. I forget, but I think it's something like 40 millimeters by 25 millimeters or something like that. If you don't count the ESP antenna, and if you do, it's whatever that is.
Starting point is 00:46:19 So the idea is it's pretty small that you could incorporate it into wearables. Obviously, I'm still using ESP, you know, 12 modules. So it's, you know, it's still at least postage stamp size. I added in screw terminals because in pretty much all the projects that I've ended up working on, I've either, you know, used like little, you know, like the 10th inch space header pins or, you know, soldered things in and then you need to take the thing out and then, you know, it's, it's just a hassle. So I ended up, uh, going with screw, screw terminals so that you could, uh,
Starting point is 00:46:53 install this thing and remove it without any kind of soldering at all. Um, and he could just, you know, go from some bare wires that, um, that you've got coming out of your, your piece or, or whatever. So there's a screw terminal to connect to the strip. There's a micro USB connector for power. And then on the right-hand side, there's a header where you can actually connect a button and cycle through patterns or put it back into Wi-Fi setup mode.
Starting point is 00:47:22 All right. And the USB is primarily power, but that's also how you program it? Yeah, USB is just power. So I actually program it on the header that's on the right-hand side. So it's got all the things that you need to flash the ESP. So the serial port, power, ground, GP0, and reset, so that you can hold that low and put it into programming mode. Do you bring out any of the other ASPP stuff,
Starting point is 00:47:59 signals for prototyping or just purpose build? Yeah. So today it's just what's on the header. So obviously you can use GP0 for the button, so that's repurposed. But so far, none of the other pins on the version 1 board. That's a size versus extra headers choice. But today, actually, I sent Tosh Park, favorite board prototyping place ever. Those guys are awesome. I sent out a new version.
Starting point is 00:48:25 So I've actually, so I've, I was able to move things around a little bit and I've actually, I've exposed the ADC and what I want to do there is add in a software. So like in your expression, you could use whatever's going on in the ADC. I think that'd be pretty cool. You could at least do like a view meter or something,
Starting point is 00:48:38 things like that. Yeah. And then on the backside, I'm not adding additional, you know, like through holes, but I've exposed a bunch of pads for all the other pins. So all the, all the IO on the new version are exposed. Cool.
Starting point is 00:48:50 Cool. I was specifically thinking about audio. Uh, when I, when I thought of that question, it's like, Oh, what if I want to do something with a signal, even if the slow, low rate signal, you can do some really cool stuff yeah christopher today uh i after after doing our own things for a couple of hours he he returned to the kitchen and he said i made a project it was kind of cool i just put the kit together so it's still fun doesn't work right it will all right so you're selling these on tind. You're learning a lot about building a small kit company. And you have not told very many people about one of the coolest things you built with this. I mean, the hat is cool. I give you that. But when I saw the light you built for your daughter, I was just like, okay, to heck with selling the board. Just sell kits for that. It was awesome.
Starting point is 00:49:48 Could you describe it? Okay. Well, there's an idea. Yeah. So this is a – it's basically like a design that I based off of a tulip. And it's all like laser cut. So it's a bunch of acrylic. So I took an acrylic sheet and I kind of drew like an outline of, you know,
Starting point is 00:50:11 of a tulip petal, whatever I thought it, what, what a tulip look like. I had to Google it. Right. Fortunately there's, you know, like little paper mache patterns or whatever for tulip, you know, petals and took that and then um you know i was like okay well this is cool so i fired up open s cad and they have this great this was this was a fun detour uh learned all about l system fractals so that was fun and uh made a little like fractal tree pattern thing that i could etch onto the petals um so
Starting point is 00:50:42 instead of just being like a plain acrylic in sheet or whatever, it's got fun fractals on it. Laser cut two of those and then made a vice, you know, some wood discs, held that together and then got a heat gun and heated up these petals. And then when the acrylic got malleable, I was able to kind of fold them in. So it's more of a flower, you know, three-dimensional flower structure. Okay, so now I've got this basically donut thing. And 3D printed a bracket that basically let me stuff these LEDs in facing outwards so that they'd shine into the circle donut edge of the acrylic. And then as it went through the curve of the bent acrylic, it's bouncing around until it hits the edges or the laser cut etched parts. So I've got that.
Starting point is 00:51:32 I've got photos of that up on, you know, I don't have it on my website. I should put it on my website. No, you don't have it on your website. And you don't have it on your Tindy store where you could say, you could build things like this. You got three days. Yeah. Okay.
Starting point is 00:51:45 By Wednesday, maybe days. Yeah. Okay. By Wednesday. Maybe Thursday. Yeah. I mean, that's pretty easy because I could just upload the patterns if people have access to a makerspace. Well, that was the thing is that you listed a number of things there. You have the laser cutter. You have to etch it, which is probably the laser cutter.
Starting point is 00:52:08 Yeah. Unless you have a water jet, in which case you also need a laser cutter. And then you need to be able to melt it safely. Although, if you didn't want to use that pattern, there's the malleable plastic that you can heat up and it gets soft. And for as long as it's warm, you can squish it around. That doesn't have the clear sides, so it would glow much differently, but it might still work.
Starting point is 00:52:38 Yeah. And I think you could probably take the acrylic and even just put it into your oven. You know, put it on like, I forget where the deformation temperature. Maybe into your reflow oven. Don't try this at home. Yeah. Yeah, don't use your. You know, bake some cookies too.
Starting point is 00:52:53 Cooking oven. Or, yeah. One could maybe do this. Maybe do this. But we shouldn't probably suggest that you do that. But you also, 3d printed brackets yeah um and i i i know you like 3d printing because we and i you and i have talked about this in the past like i can't use my 3d printer and at one time yours caught fire
Starting point is 00:53:18 twice well and then you brought it over and you let me watch it catch fire. That was totally fun. Yeah. I've gone through two printers that have caught on fire in varying degrees. And, and did that teach you not to let them run when you're not home? Yes. Which, which limits the,
Starting point is 00:53:38 you know, it really does limit the usefulness of 3d printers because they take forever. Yeah. I mean, some of these things, I mean, you need to let it run for 16 hours. What you need to do is put them in a metal box with a fire extinguisher system on top.
Starting point is 00:53:53 It'll just put itself out. Yeah. You have those battery charging bags that are made of flame proof. They're just storage bags, not for charging. But yeah, put the scary lipos in those. Do you have the best home shop? Or are you going out to community college or library? Where are you getting access to all of your toys?
Starting point is 00:54:19 Yeah, I mean, I love having the tools nearby as much as possible. But the laser cutter is not something that I've, that I've, I've ponied up for yet. Um, especially the ones that can cut, you know, like half inch and things like that.
Starting point is 00:54:33 That's serious business. Yeah. So there's a, there's a local, um, uh, maker space idea, fab labs in Santa Cruz.
Starting point is 00:54:40 They have a Chico and, and, and Santa Cruz locations. And, uh, and they have a membership that gets you access to laser cutters and wood shops and all that kind of stuff. I've got a garage I've dedicated. I've repurposed for all this stuff, plus an office in the house.
Starting point is 00:54:56 My hobby is serious enough that it's taking over some very large percentage of my house. Which is good if you're running a business, but at some point as you're packing boards to ship on the kitchen table, you start wondering when you get your life back. Yes. And maybe your family wonders that too. And then the lights shine into the edges of the acrylic and you can see the glow of the colors on the etched part of the petals as well as the edge of the petals. But not in the petals themselves. Through the magic of total internal reflection. Yes.
Starting point is 00:55:38 Sorry. Well, I mean, I was going to say something about fiber optics, but that's fine. Same thing. You're totally, you're way off. And it glows and it can change and it can change over a long period. So it's not just that it's blinking lights all the time. It's like, oh, it's morning. It can go on gently. It was really pretty.
Starting point is 00:56:03 Thank you. Yeah. And this is actually, it's in my daughter's room as a nightlight. And so I can connect into it. And I've actually put in some patterns. This is where those APA and the global brightness really comes in handy because I can dim this thing down just to ridiculously low levels. And it's still doing cool, interesting tones and colors and things. But it's not obviously keeping the baby up.
Starting point is 00:56:28 Cool. This isn't your first foray into light things. When I first met you, you told me about Cynthia, which is synthesizer and light. And you described it all to me, and I don't think you had any pictures, and I walked away thinking I have no idea what he's talking about. We can repeat that experience. Yes, let's repeat that for everybody.
Starting point is 00:56:57 That's not, I mean, Christopher's seen it, so Christopher can describe it at least. I'm trying to remember. So it was a keyboard, and I think there was plexiglass keys or something, but it was all very clear. And as you played, it would shoot the sound up, the LEDs, at the same time. So depending on the timbre of the sound you were playing,
Starting point is 00:57:17 it would do different things. And as you played, it would be like a cascading waterfall of light. And I'm remembering based on five minutes of playing with it. Yeah, that's pretty good. I like a cascading waterfall of light. And I'm remembering based on five minutes of playing with it. So. Yeah, that's pretty good. Okay.
Starting point is 00:57:27 I like the cascading, uh, cascading waterfall of light. Yeah. Um, and that was, that was, uh,
Starting point is 00:57:34 that was fun. So Cynthia is, uh, in our project I've, I've been doing for a number of years and she started off just as like a, if you can imagine eight, uh, clear arcade buttons with,
Starting point is 00:57:44 you know, um, uh, NeoPixelixel LEDs shoved in them. And it was actually, the first one was quite large, two meters long of LED strips. And it was kind of like a Guitar Hero thing where you'd press a bunch of buttons, a reverse Guitar Hero where you'd press a bunch of buttons and then light beams would shoot across to the other side.
Starting point is 00:58:04 And there was two players, so you'd have another person on the other side and then shoot them back and forth and but the whole idea with this thing was um an interactive light project but it needed sound it just needed sound and so i was trying to think how can i you know how can i make this this fun interactive thing that does a bunch of sound that isn't going to just sound like this random cacophony of stuff, right? Well, of course, music. But then there's a lot of people that are not musically inclined, myself included, that couldn't just go up to a piano and start playing something that sounded interesting or cool. So it got me to thinking, how can I make this thing more approachable?
Starting point is 00:58:41 Right, that was a piece that I forgot. This was the thing that I really didn't understand. Okay. So I taught myself enough music theory to figure out why just pressing random white and black keys on the keyboard just sounds terrible. And basically learned about music scales. And so I put into this keyboard the concept of calculating
Starting point is 00:59:01 all these music scales for you. So the idea is you can pick a bunch of different music scales, and you can pick a starting offset, and it'll just calculate the whole music scale for you across all of its keys. And it's kind of fun, because you can move one dial to shift up and down sort of the starting color, and it's basically this keyboard is like a rainbow moving back and forth. And another one where you can change the music scale
Starting point is 00:59:25 and you can see you have some colors disappear and other colors appear. So it's pretty cool because, at least for me, I can intuitively see what's going on. I know that red is a C. And it doesn't matter where on this thing it is, all the Cs are always red. And so I can pick them out in any octave.
Starting point is 00:59:47 It's like synesthesia. Yeah, exactly. It's like a product that causes. It doesn't cause it. It creates it. Oh, yeah. Those are totally different things. Well, if it caused it, once you've used it, you'd have it forever.
Starting point is 01:00:01 And that would be bad. Or good. I don't know. I wonder if you could learn perfect pitch this way. I don't think you can learn perfect pitch that way. There are lots of studies that show you can learn perfect pitch. You can learn good relative pitch. You can learn perfect.
Starting point is 01:00:19 It just requires a lot of effort. Yeah. But like an oscillator, I imagine that you have some drift depending on what temperature your brain's at. Yeah. But that's not a kit yet either. No. That one is the least manufacturable thing
Starting point is 01:00:34 I've ever created. It took me weeks to put that thing together. A lot of little tiny wires, a lot of troubleshooting. And this is where my adventure into something that isn't a WS-2812 began, because I've had to replace all the LEDs on that thing at least three or four times. You took it to the Santa Cruz Mini Maker Faire. Yes. How did that go? It was really good. It was really good.
Starting point is 01:01:08 It got a lot of attention. We were kind of back in the corner, so we didn't get a lot of foot traffic, but everybody that came through that area was just drawn to this thing. It was awesome. Because it was glowy, and because no matter what you did, it didn't sound awful. Yeah. Yeah. It was a lot of fun. But you had to be inside because it was glowy and everybody else was outside.
Starting point is 01:01:31 Mm-hmm. Do you have plans for a future one of those or future showings of that? Yeah, I've been working on ideas for version three. And so mainly around the keyboard. So version 1 was just arcade buttons. Version 2 was a little bit more keyboard-like, but it's very wavy. And the keys were not all the same size,
Starting point is 01:01:57 and they were definitely not standard keyboard size. So I'm thinking of shifting a little bit and going a little bit more as you know, as close to piano keys as I can. So that if somebody is familiar with the, you know, that spacing, they, they, you know, they can intuitively play it instead of having to kind of hunt and peck. And I'm, I'm thinking about building a capacitive, capacitive bass keys. So right now it's all very mechanical and you get a lot of clickety
Starting point is 01:02:22 clackety kind of thing. And so I'm thinking, know capacitive i figured out a way to basically laminate the backside of an acrylic key with a conductive layer that's nice and shiny and reflective and then attach electrodes and i haven't dialed in yet i want to make uh basically uh you know how quickly you end up touching the touch keypad create acceleration for generating different key sounds. Yeah, that's in the good electric pianos. That's an important feature. Yeah. What's that called?
Starting point is 01:02:58 Velocity sensitivity. Yes, velocity. You have so many interests here. Yes. It must be very hard to complete anything. At the top of the show, you did ask the question. Yeah, I might have to change the ratio to maybe 24 to 1. But these things we're talking about, you have completed.
Starting point is 01:03:22 I mean, I imagine Cynthia is something that you never finish. You just always keep tweaking. Yeah. Like somebody's hobby, classic car, you know. There's always more tinkering to be done. How did you learn to do all the electronics part? Oh, gosh. Well, I've been interested in this stuff forever.
Starting point is 01:03:47 I mean, I can remember when I was a kid, my parents got me these RadioShack kits, you know, the 4-bit microcontroller included, but also, you know, like those 101s, 201s, or whatever the little springboard things. You plug in a bunch of wires to a bunch of ICs and just bare transistors. And I love those things. I just played with those, you know, tons. You plug in a bunch of wires to a bunch of ICs and just bare transistors.
Starting point is 01:04:06 I love those things. I just played with those tons. When I was 14, actually, my parents got me this mail-in electronic course, an actual college-level McGraw-Hill mail-in kind of thing. They'd send me all these kits and books and all that kind of stuff. I got maybe two-thirds of the way through it. I didn't end up doing a lot of the labs, but I read about two thirds of the, um, you know, like the theoretical stuff. So, you know, it was pretty cool. Like I got like a basic understanding of like, Oh, how does a transistor work? Okay. Well, there's, you know, silicon and we dope it and there's holes and electrons and,
Starting point is 01:04:42 you know, barriers and all kinds of fun stuff. So that was um but um you know i never never really pursued that as a career ended up you know getting swooped up in the whole um you know internet thing scooped up into the internet um so you went into software because it seemed lucrative and fun and expanding yeah i mean it was i i have you know as much interest in and that kind of stuff i would say as i do in the electronic stuff so like i find you know trying to figure out how to scale big giant clusters of servers and you know designing architectures with all kinds of complicated bits, just as fun as I do is tinkering on some little, you know, microcontroller board. But yeah, I mean, that, that ended up being, you know, my career path. But at a certain point, you know, I did,
Starting point is 01:05:36 I did a lot of, a lot of really great fun things and I felt like it was time for, you know, time for a change. And here you are selling Yeah. Selling things on Tindy. All right. Do you have any advice for people who are thinking about changing careers or are thinking about trying something completely new? It sounds like it's been a good idea for you, but it also sounds like you're not making money yet. Yeah. And my advice would be if you can do it, do it. Like, always.
Starting point is 01:06:10 If you're interested in something, do it. Like, life is short. Pursue all of your interests. Simultaneously, if possible. Sleep is for the weak. Christopher, do you have any other questions are we out of time oh right so let's answer that verbally all right shaking your head doesn't do them a lot of good no no i don't have anything else all right ben is there anything you'd like to leave us with
Starting point is 01:06:37 um i would say enjoy the gifts that are given to you fully and share as you can and share the things that you learned with other people. Our guest has been Ben Hanke, the Electro Mage and maker of the Pixel Blaze, which you can find on Tindy. There is a coupon embedded FM, all one word,
Starting point is 01:07:03 all capitalized, and that will get you 25% off of the Pixel Blaze, which you can then use to build lights or things. Thank you for being with us, Ben. Thank you for having me. Thank you to Christopher for producing and co-hosting. And of course, thank you for listening. Those of you who are patrons, patreons? Patreons. Those people who are supporting
Starting point is 01:07:29 us on that site, I want to give you a special thank you. We did sponsor part of the open source hardware summit, and I got to give out little tiny stickers to everyone, one of which ended up on our sworn enemies t-shirt. Thank you for that. On the back. On the back. Without his knowledge. That's the important part. Oh, yes, yes.
Starting point is 01:07:52 I have no idea how that happened. Now a quote to leave you with. This from a fairly new author, Rita Sciano, and she has to say this, talking about our problems is our greatest addiction. Break the habit, talk about your joys. Embedded is an independently produced radio show that focuses on the many aspects of engineering. It is a production of Logical Elegance, an embedded software consulting company in California. Thank you.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.