Embedded - 220: Cascading Waterfall of Lights (Repeat)
Episode Date: September 17, 2020Ben 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)
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.
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.
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.
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.
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.
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
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?
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.
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?
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.
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?
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,
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
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
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
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
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,
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.
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,
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
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
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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,
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.
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
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.
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.
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.
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.
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?
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.
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,
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.
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?
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,
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,
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.
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,
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,
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.
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.
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.
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.
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.
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.
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?
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?
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
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
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.
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,
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,
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.
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.
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?
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,
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.
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,
like physical artistry installations.
Yeah,
exactly.
And maybe not,
you know,
like the big fancy installations,
because obviously those,
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 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.
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.
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.
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,
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.
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.
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,
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?
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.
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,
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
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.
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.
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.
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,
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.
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.
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.
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
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.
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,
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,
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?
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.
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.
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.
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
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?
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,
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
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?
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,
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?
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
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.
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
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
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.
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.
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,
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.
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,
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.
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,
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.
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.
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,
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
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.
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.
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.
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.
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.
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
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,
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.
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?
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.
That's serious business.
Yeah.
So there's a,
there's a local,
um,
uh,
maker space idea,
fab labs in Santa Cruz.
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.
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.
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.
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.
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.
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,
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,
uh,
cascading waterfall of light.
Yeah.
Um,
and that was,
that was,
uh,
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,
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.
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?
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
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
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.
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.
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.
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
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.
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.
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,
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
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?
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.
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.
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.
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,
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,
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.
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
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,
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
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.
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.