Embedded - 220: Cascading Waterfall of Lights

Episode Date: October 27, 2017

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 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 DotStar (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 Talia's nightlight  

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 Sort of pursued my hobby as a potential career path. So trying to follow the dream of can somebody just make a bunch of stuff in their garage and tinker around with things? If not, become the next Tesla or whatever, but at 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 uh stage name wow 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. I'm not even going to explain that.
Starting point is 00:02:01 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. Maybe more.
Starting point is 00:02:14 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? 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
Starting point is 00:02:38 with like a hex led and like a couple of leds and you'd punch in single-digit opcodes, and yeah, it was fun. Open-source hardware summit or Hackaday SuperCon? Ooh, that's tough. Both? Is that valid? Both, all right. Favorite wavelength? 950 nanometers.
Starting point is 00:03:03 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.
Starting point is 00:03:31 Okay, I think that's enough lightning around. 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.
Starting point is 00:03:51 What was that like? 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
Starting point is 00:04:38 and just talk about cool, fun, geeky hardware and software projects. 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,
Starting point is 00:05:00 but are there others? 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
Starting point is 00:05:23 and there's all these great talks, 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,
Starting point is 00:05:41 those are the only two I've been to recently 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.
Starting point is 00:06:08 Okay. He did 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
Starting point is 00:06:24 on the Open Source 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 recording 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 that's fine
Starting point is 00:06:51 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 selecting patterns, it was all the math. So it's basically a web page with a bunch of expressions on it. You could go in there and 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.
Starting point is 00:08:18 So it helps to sort of start in an HSV kind of color space where you have hue is, if you imagine like a circle or like a clock but instead of like, you know, 12 it's like, you know, 0 and it goes around through the circle from like 0 to, you know, like half down at the bottom to back up to
Starting point is 00:08:38 0 up at the top. It's a terrible explanation. It's difficult to describe color spaces in audio so you basically have a color around this rainbow that loops around in a wheel
Starting point is 00:08:52 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 around or change over time you can you know offset it based on time you can you know take the the
Starting point is 00:09:20 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 green all the time, but it would be like a snoring pattern. A sawtooth would be more like a bright up,
Starting point is 00:10:14 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. It started off as a hack, and it was just like,
Starting point is 00:10:34 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. Always it's the same kind of thing. It's the same kind of thing that I imagine embedded engineers have. If you want to try something, you've got to make your changes,
Starting point is 00:10:55 compile it, wait for the compiler to finish, 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 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.
Starting point is 00:11:27 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, pop those off the stack and consume them and potentially return a value and so
Starting point is 00:11:59 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.
Starting point is 00:12:24 So is all of that running on the micro? Yeah. 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.
Starting point is 00:12:38 But what does the microcontroller receive 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 on a plus. Then I tell it that you need to consume two arguments. On the microcontroller, I parse all this stuff out into more efficient bytecode
Starting point is 00:13:07 to run in memory. And then just basically run through the list of operations. 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.
Starting point is 00:13:43 And, you know, in a pretty cheap module. I mean, it's just, it's a game changer. 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,
Starting point is 00:14:04 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, 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?
Starting point is 00:14:34 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. 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
Starting point is 00:15:13 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 and started to see those pick up a little bit more traction. I thought, 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
Starting point is 00:15:43 RGB 0 to T5 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 NeoPixels, they're not really great for persistence of vision type effects, and even if they're just stationary, they kind of blink if you're looking around or, you know,
Starting point is 00:16:07 you know, if you, if you just not fast enough. Yeah. So these are, these are awesome. Um, yeah.
Starting point is 00:16:14 And I ended up, uh, exploring that, that global brightness, it's additional five bits on top. So it's basically like multiplied with the, uh, the brightness of the channel.
Starting point is 00:16:23 Um, and it's not per channel. So it's the whole, it's the overall,, so it's the overall brightness for all RGB. 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.
Starting point is 00:16:47 So if you look at like the brightness difference between a 1 and a 2 is just staggering. And between a 0 and a 1, it's like clearly on or off. Like there's no, you know, fade to nothingness kind of levels. And so you can actually do that with these APA102s. 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
Starting point is 00:17:14 and figure out 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? Is it eight bits per LED or is it eight times three?
Starting point is 00:17:56 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 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 um you basically get it for free you don't have to think about it cool okay so one of these
Starting point is 00:18:53 things one of the things i have learned about the leds like this is that they require power handling i mean they 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 aircraft 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.
Starting point is 00:20:26 And if they get any kind of noise on the power supply, 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.
Starting point is 00:20:48 And I've used SPI with the WS2812, the NeoPixels, 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
Starting point is 00:21:14 and meeting bizarreness. 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,
Starting point is 00:21:31 which is basically 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
Starting point is 00:21:52 something ridiculous, like 40 megahertz or something crazy. I mean, yeah. I mean, 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
Starting point is 00:22:24 that he was playing music, he wanted the LEDs to go with the music that he was playing at that time. 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, color-cord is all audio-driven, and it's really cool.
Starting point is 00:22:48 That's very pretty. Yeah, it's pretty cool stuff. And he's doing some pretty amazing audio analysis on the ISP chip, 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 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.
Starting point is 00:23:11 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. 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.
Starting point is 00:23:35 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. This is named it Pixel Blaze. And you gave me one and I think I blew it up immediately because that's how I roll.
Starting point is 00:24:15 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. Why? I mean, selling hardware is hard. Why would you do this?
Starting point is 00:24:42 I understand building these things. Why would anybody do this? Why does anybody do this? I understand building these things. Why would anybody do this? 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. Otherwise, I'm going to have to go back to boring old dry software at 9 to 5. So, I mean, this was something that I, this was a hack that I thought was pretty interesting and kind of unique.
Starting point is 00:25:08 And I thought, you know, maybe this would be useful for other people. So can I, can I polish this up? Can I put it out there? You know, maybe, you know, maybe sell a couple of units, but more just to get the experience. Like, what does it take to do that? You know, if I'm going to do this process for something that's, you know, bigger or more complicated, 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
Starting point is 00:25:37 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? 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,
Starting point is 00:26:17 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 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,
Starting point is 00:26:44 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 put it in the mail, and I get this email from this guy that's understandably very upset because they actually charged him the additional postage. Oh.
Starting point is 00:27:16 Yeah. Oh. Yeah. And I was able 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.
Starting point is 00:27:31 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. 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.
Starting point is 00:27:55 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 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 and 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.
Starting point is 00:28:33 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, this phrase that if HP sold sushi, they would call it cold dead fish. Um, and as an engineer,
Starting point is 00:28:56 I'm like, yeah, of course that is, that is how I market. I just, I made this thing, uh, here are all the problems with it.
Starting point is 00:29:06 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. And yet people, and as an engineer, I don't mind buying 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?
Starting point is 00:30:03 Where did you go? 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?
Starting point is 00:30:31 So I had a bunch of Arduinos, or if I needed to, I'd build a board and put a pick in it or something like that, where eventually an 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, 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,
Starting point is 00:30:59 you know, like program a bunch of stuff and all that kind of fun stuff. Right. 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.
Starting point is 00:31:14 People that make interesting, like physical artistry installations. Yeah, exactly. And maybe not, you know, like the big fancy installations, because obviously those,
Starting point is 00:31:23 you know, you need, you know, a lot of thought and design and, and, and almost the technology is secondary to the desired effect on those sorts 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.
Starting point is 00:31:58 And he was commissioned to make this gorgeous Tesla portrait of Nikola Tesla. 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 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.
Starting point is 00:32:32 Of course. 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.
Starting point is 00:32:55 And then once I realized I could copy some of your canned ones and change them, I think I helped. 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. So instead of pursuing that and going deeper into there. And again, 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, you figure out the market and then design your product around the needs of that market.
Starting point is 00:33:25 But of course, this is a hack. This is for me. This is an NBA 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.
Starting point is 00:33:48 Okay. And so I've been tailoring it more and more to that. 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, when you started the show, you know, like,
Starting point is 00:34:13 well, the first thing you do when you start a microcontroller, right, you get an Arduino or whatever, you run the blink sketch, 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.
Starting point is 00:34:38 What's next? All right, what am I doing next? 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.
Starting point is 00:35:04 And things like Right. And, and things like that. 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,
Starting point is 00:35:18 okay, I wanted, 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
Starting point is 00:35:26 right boot, and maybe a belt or something like that. And I don't want them to just do random 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,
Starting point is 00:35:42 it would be really cool if they at least shared a time base. 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,
Starting point is 00:36:00 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. It all works itself out. All right, that's a solution. Yeah. And they actually have NTP libraries
Starting point is 00:36:17 if there is an NTP server somewhere else. But I haven't seen any NTP servers for these things. Yeah, that's the trick. Client is one thing, server is something else. And NTP protocol has got, you know, it does all kinds of other things
Starting point is 00:36:28 that aren't necessarily super critical. So I ended up looking at the specs for NTP and re-implementing some of that protocol, especially the back and forth and time window calculation
Starting point is 00:36:39 and got pretty close. But, you know, this hack that started out 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. It's calling out to the WebSocket thing.
Starting point is 00:36:59 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. And you don't want to move away from Arduino
Starting point is 00:37:37 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 what will it take to get away from that. So you can take the expressive,
Starting point is 00:38:07 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 considered like completely dialed in. And, you know, it's sort of a, sort of a dead end, you
Starting point is 00:38:39 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 it does sound like this this product has a lot of headroom. I mean, it's a very powerful chip. You have lots of space. There's lots you can do with it without changing anything except software.
Starting point is 00:39:14 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, and it's got just one board in it.
Starting point is 00:39:51 So I'm doing them one at a time. But I've now 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 a lot faster than tweezers. And assembling these yourself is – do you know other people can assemble things for you? I do. I've heard of these places. You mean I didn't have to build my Mac by myself?
Starting point is 00:40:30 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? 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,
Starting point is 00:40:44 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. Oh, right, a coupon. So if you go to 10D and you look up Electro Mage
Starting point is 00:41:08 and you purchase some of these and you put in the code embeddedfm, you get 25% off. Wow. Yeah. Thank you. I'm going to buy them all. Okay. He doesn't care.
Starting point is 00:41:19 I can make more. Then he gets to make more. 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. Bob, if you're listening, I have a draft email that I'm working on right now.
Starting point is 00:41:41 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 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 figuring out how to source all this stuff and then of course you know the transistor that i use for
Starting point is 00:42:10 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 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 gonna i mean you're gonna have a leg up on a lot of people right because that's the whole production slash manufacturing slash electrical engineering thing. Yeah, and it's fascinating. It's exciting.
Starting point is 00:42:48 It's fun. Sourcing is a skill. I mean, all of these things, knowing where to go, how to high cat up a board. And for small companies, this is not something like you were suggesting that you outsource a lot.
Starting point is 00:43:00 This is something you have to, you know, it's on you to figure out, okay, I need these parts 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.
Starting point is 00:43:21 You're like charging like 40. So what's the deal with that so why is it so let me explain capitalism um yeah and i i mean i would love to sell them for you know exactly what i paid for them but then i wouldn't be making any money and it wouldn't it's really to to figure out um the economics behind it and so that's funny. So I ended up looking into this thing. How do you even price a board?
Starting point is 00:43:49 How do you price this thing? 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 bill of 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
Starting point is 00:44:13 package and ship these things and all that kind of fun stuff and um there's a formula you know 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 in whatever replaces Radio Shack. Adafruit. Yeah, exactly. But yeah, 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 SparkFun carries some things like this. Yeah. Yeah, you can start, you know, once you have a sales record. Yeah. 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. That's the thing, because your time is valued at, you know, every hour you spend on it is your hourly rate. Yeah, exactly. So 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 that sort of thing yeah yeah exactly
Starting point is 00:45:35 but going back to my question it wasn't just a a how do you price it it was a what does it have an 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 base board. 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. Yeah.
Starting point is 00:45:55 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 12 module, so 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 used the 10th-inch space header pins or soldered things in 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, 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,
Starting point is 00:47:01 that you've got coming out of your, your piece or, or whatever. So there's a, uh, 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. All right. And the USB is primarily power,
Starting point is 00:47:27 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,
Starting point is 00:47:47 so that you can hold that low and put it into programming mode. Do you bring out any of the other ASPP stuff? 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.
Starting point is 00:48:16 But today, actually, I sent Tosh Park, favorite board prototyping place ever. Those guys are awesome. I sent out a new version. 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.
Starting point is 00:48:32 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, things like that. Yeah. And then on the backside, I'm not adding additional,
Starting point is 00:48:43 you know, like through holes, but I've exposed a bunch of pads for all the other pins. So all the I.O. on the new version are exposed. Cool. Cool. I was specifically thinking about audio when I thought of that question. I was like, oh, what if I want to do something with a signal?
Starting point is 00:48:59 Even if it's a low-rate signal, you could do some really cool stuff. Yeah. Christopher today, 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. 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.
Starting point is 00:49:47 It was awesome. 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.
Starting point is 00:50:06 So I took an acrylic sheet and I kind of drew like an outline of, you know, of a tulip petal, whatever I thought it, what would a tulip look like? I had to Google it. Right. And fortunately there's,
Starting point is 00:50:20 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 instead of just being like a plain acrylic in sheet whatever, it's got fun fractals on it. Laser cut two of those
Starting point is 00:50:48 and then made a vice with 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.
Starting point is 00:51:31 So I've got that. 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.
Starting point is 00:51:44 Okay. 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.
Starting point is 00:52:05 You have to etch it, which is probably the laser cutter. 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
Starting point is 00:52:36 work. 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.
Starting point is 00:52:52 You know, bake some cookies too. 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
Starting point is 00:53:07 and I know you like 3D printing because 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 twice well and then you brought it over and you let me watch it catch fire
Starting point is 00:53:24 that was totally fun yeah I've gone through two printers that have caught on fire in varying degrees and did that teach you not to let them run
Starting point is 00:53:34 when you're not home yes which limits the you know it really does limit the usefulness of 3D printers because they take forever yeah I mean
Starting point is 00:53:43 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. 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.
Starting point is 00:54:04 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? Yeah, I mean, I love having the tools nearby as much as possible. But the laser cutter is not something that I've ponied up for yet. Especially the ones that can cut half inch and things like that. That's serious business.
Starting point is 00:54:34 Yeah. So there's a local makerspace, Idea Fab Labs in Santa Cruz. They have a Chico in Santa Cruz locations. 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. My hobby is serious enough that it's taking over some very large percentage of my house.
Starting point is 00:55:04 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. Sorry. Well, I mean, I was going to say something about fiber optics, but that's fine.
Starting point is 00:55:42 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. Thank you. Yeah.
Starting point is 00:56:04 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. Cool. This isn't your first foray into light things.
Starting point is 00:56:36 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. That's not, that's not, I mean, Christopher's seen it,
Starting point is 00:56:59 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. I like the cascading,
Starting point is 00:57:28 uh, cascading waterfall of light. Yeah. Um, and that was, that was, uh, that was fun.
Starting point is 00:57:34 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, you know,
Starting point is 00:57:44 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 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 um and and and basically learned about music scales and so i put into this keyboard the concept of calculating all these music scales for you so the idea is you 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
Starting point is 00:59:17 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 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.
Starting point is 00:59:39 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. It's like synesthesia. Yeah, exactly. It's like a product that causes. It doesn't cause it. It creates it.
Starting point is 00:59:56 Oh, yeah. Those are totally different things. Well, if it caused it, once you've used it, you'd have it forever. 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.
Starting point is 01:00:13 There are lots of studies that show you can learn perfect pitch. You can learn good relative pitch. You can learn perfect. 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.
Starting point is 01:00:28 But that's not a kit yet either. No. That one is the least manufacturable thing 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,
Starting point is 01:00:55 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. 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
Starting point is 01:01:23 awful. Yeah. Yeah. It was a lot of fun. But you had to be inside because it was glowy and everybody else was outside. 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 a version three. And so mainly around the keyboard.
Starting point is 01:01:47 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, 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,
Starting point is 01:02:09 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 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.
Starting point is 01:02:52 Yeah, that's in the good electric pianos. That's an important feature. Yeah. What's that called? Velocity sensitivity. Yes, velocity. You have so many interests here. Yes.
Starting point is 01:03:06 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. 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.
Starting point is 01:03:34 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. I mean, I can remember when I was a kid, my parents got me these RadioShack kits, the 4-bit microcontroller included, but also those 101s, 201s,
Starting point is 01:03:58 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 tons. You plug in a bunch of wires to a bunch of ICs and just bare transistors. 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.
Starting point is 01:04:24 And they'd send me all these kits and books and all that kind of stuff. And 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 you know barriers and all kinds of fun stuff so that was cool 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, I have as much interest in that kind of stuff, I would say,
Starting point is 01:05:14 as I do in the electronic stuff. So I find trying to figure out how to scale big, giant clusters of servers and 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, 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 things on Tindy. All right. Do you know, time for change. And here you are. Yeah. Selling things on Tindy. All right.
Starting point is 01:05:47 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. If you're interested in something, do it. Like, life is short. Pursue all of your interests.
Starting point is 01:06:15 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 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.
Starting point is 01:06:51 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, all capitalized, and that will get you 25% off of the Pixel Blaze, which you can then use to build lights or things.
Starting point is 01:07:12 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 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
Starting point is 01:07:40 stickers to everyone, one of which ended up on our sworn enemy's t-shirt. Thank you for that. On the back. On the back. Without his knowledge. That's the important part. Oh, yes, yes. I have no idea how that happened. Now a quote to leave you with.
Starting point is 01:07:59 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.