Embedded - 445: I Do Not Like Blinking
Episode Date: March 16, 2023We spoke with Charlyn Gonda about making things glow, dealing with imposter syndrome, and using origami. Charlyn’s website is charlyn.codes, the projects we talked about are documented there. You ca...n find her on Instagram (@chardane) and Mastodon (https://leds.social/@charlyn). Adafruit came up a lot in this episode. NeoPixel Jewel DotStar High Density 8x8 Grid SAMD21 QT Py and RP2040 QT Py Adafruit IO Jason Koon’s Fibonacci displays are mesmerizing. Check them out on Jason’s website www.evilgeniuslabs.org or acquire them on Tindie. It can be controlled with the Pixelblaze. Sonobe modules in origami Transcript
Transcript
Discussion (0)
Welcome to Embedded.
I am Alicia White alongside Christopher White.
Our guest this week is Charlene Gonda.
It's really sad that this is all audio and you'll be missing out on some beautiful blinking lights.
And you know I don't say that lightly.
Hi, Charlene. Welcome.
Hi, thanks for having me.
Could you tell us a bit about yourself as if we met at a, I don't know...
Maker Faire.
Maker Faire. Thank you.
Awesome. Yeah, so I'm Charlene.
I often like to say that I'm a coder by sunlight, maker by moonlight.
I'm currently a software engineer at a company called Pave and previously worked at other companies like Google and Uber.
But when I'm not working, I'm in my home workshop making delightful things that my brain won't
shut up about.
And those things are usually glowy and sometimes they have code in it.
And I'm also a co-organizer for Hardware Happy Hour in San Francisco.
That all sounds like things we're going to ask more about, except your job. We don't really care.
But first we want to do lightning round where we ask you short answers and we want,
where we ask you short questions and we want short answers.
And if we're behaving ourselves, we won't say how and why and are you sure.
Are you ready?
Yes.
Favorite color on a NeoPixel?
Ooh, pink.
What is your puppy's name?
A biscuit.
Mountain folds or valley folds?
Mountain folds. Complete one project or start a dozen complete one project while starting a dozen best animal crossing islander oh my god uh
celeste even though she's not really an islander that's the owl with the astronomy oh no i got
that i just was wondering if you liked the sport ones or the quiet ones.
Oh, right.
But I didn't remember all four of them, so I couldn't ask.
What's your favorite way to learn a new technical skill?
Doing a project with it.
Favorite material to work with?
Oh, right now it's brass. Really? Yeah.
And do you have a favorite fictional robot? BMO. BMO from Adventure Time. Absolutely.
If you could teach a college course, what would you want to teach?
I would teach a pass-no-pass course on just making a bunch of creative projects.
And every two weeks you have a new prompt and you have to build the project.
And you pass if you actually build the project that's somewhat related to the prompt.
I like prompt-based learning.
I've taken some courses recently that were done like that.
It's very creative.
Yeah.
I've never had a course like that, so I feel like that's what I would want to take.
So that's what I would want to teach.
I'm just finishing paper engineering with Kelly Anderson.
And it was a cohort-based art class that lasted 11 weeks. And we went through like pop-ups and building sensors with paper and all kinds of things. And it was like that where
you kind of got a prompt and then you just went away and did something along that prompt.
Oh my God. You can't see me, but my jaw just dropped.
It was really fun. And in fact, the parts where I was disappointed was when she
told us what to do instead of giving us a prompt. It was like, finish this. And I'm like, well,
yes, but you gave us all the instructions. That is not as much fun.
Yeah. It's most fun when you get to twist the prompt
and then justify why it's related.
Exactly.
Well, clearly we're done with lightning round.
So you do work with paper some.
Yes.
And you work with LEDs a lot.
Yes.
What are your favorite papers and what are your favorite LEDs?
Oh, my gosh.
Okay.
My favorite papers are, so I really like this vellum paper that's, like, just the right level of translucent because they are super flexible, like super versatile. Um, I've used them in, uh,
like glowing greeting cards and then I've used them for origami. Um, and so like, and like,
I've even thought about using them for like jewelry projects. So they're very versatile
and they diffuse light really well. And that's why
I really like them. And my favorite LEDs are definitely the NeoPixel kind. But it definitely
depends on the day. That's fair. There are days when I just want, you know, something simple and something
really flexible. They're not usually the same days. Yeah, exactly. How much origami do you do?
Um, I, I feel like I did a lot more origami last year. Um, although, wait, is is it what year is it now it's 2023 okay um uh or like late last year
I actually was able to do a little um workshop we called it a glowagami workshop and it was for work
um and I I basically took I don't know 30 of my co-workers i stuck them in a room and i made them
fold um 12 of those sonobe mode modules i'm sure you're familiar with us um and we made like the uh
i guess it's it's kind of like a icosahedron like a or maybe it was a octahedron i actually
don't remember how many sides,
but the smaller sort of like ball shape that you can make with 12 Sonobim modules.
And it was a lot harder than I thought it was going to be to teach like 30 people how to fold this one module
and then like how to put everything together into a 3D shape. Because I
feel like on my best days, I have to really think hard about where the little pockets and the little
tails have to go. So it was a struggle, but it was super fun. Yeah, the little modules, the sonobe, I've never known how to say that.
They're very easy to fold, especially after you've folded your like 400th.
But putting them together to make a ball or any, I think they're called kusudamas.
But the structures are just, I never really get that, especially when you get down to the last three and they don't fit.
Yes, I agree.
But you did this origami wall.
That wasn't like that.
Yeah.
Yeah, so the origami wall was actually one of my first sonobem module projects um and it was made out of woven pyramids basically
and some of the woven pyramids are all made up of the vellum paper so the light can shine through
them they're kind of like scattered um randomly across the surface.
So it looks like there's a random smattering of lights that pop up whenever they glow.
They were pre-planned instead of random.
So it was a very, very fun project.
And I even connected it to Google Home for a short time,
although that integration has probably died by now.
We need to make one of these.
Yeah, it was super pretty.
It was little, I want to say like flower shapes, but geometric shapes, a whole bunch of them.
And I didn't realize that there were only some that could light up.
Yeah. Because they look so uniform, and the lights are slow and subtle enough
that you don't really realize that only a few of them are lighting up
because they don't all light up at the same time.
Yeah.
And that was kind of like the trick is that I felt like it would be too much
if the entire thing lit up.
Plus, that was one of my first projects, so I wasn't really confident that I could manage the power requirements for that many LEDs.
Because each of those pyramids actually has seven NeoPixels.
And that's how I achieved the fade effect.
Because I just add more pixels or subtract.
And they're like the NeoPixel jewels from Adafruit.
Yeah, so it was such a fun project.
I would not really recommend it.
Oh, but it looks so good.
Just because it's so, oh man, it took a few days to fold all of those modules.
Well, that's no problem for her.
There we go.
They may already be lying about the house.
Amazing. Yeah. There was a middle of the project where I fully folded maybe like 50
of them the wrong orientation. Oh no. So I had to put it down. I had to wait until the morning.
I had to have some tea to calm myself. And then I like opened up all of the 50 and then refolded them in the correct orientation.
But during the day, you're a software engineer, right?
Yeah.
And that's your background, being a software person.
Uh-huh. Yes.
You went to school for computer science.
I did. Yes.
And now you're doing hardware things.
Uh-huh. And now you're doing hardware things. What was the first step on this path to darkness?
I mean, lightness, lightness, because of course you're using light.
That's true, yes.
Well, it was actually, okay.
So I've always really liked coding.
And I was really lucky that I was in high school when my school started offering a computer science course in high school.
I fell in love with it, and it was really awesome.
And on the side, when I wasn't in this computer science class, I really liked arts and crafts.
Like I like I like to paint. I like to do some origami. I like to do a bunch of crafty stuff.
But I had always considered these skills separate.
Like I always thought that there was no way that I could do them at the same time. And then, uh, one of my
coworkers challenged me to make a light. It's kind of a long story why he challenged me, but, um, he,
he said, if I could make a light that would, sorry, a hat that would light up, uh, depending on the state of your Uber ride,
uh, that that would be a really interesting educational tool. Um, and that's when I started
like wondering about like, well, how would you do something like this? And the, my first exposure to, or my first sort of reason that I found out about microcontrollers or how they work is because there was some conference that had this electronic badge.
It was a Twilio conference.
And they made it seem so easy because they were catering to software developers and they were like, look, you already know how to code.
Just like stick your code in here, in this specific spot, and you can do stuff with it.
So like all of the combinations of things started coming together.
And then I made this hat and it ended up being a shark-shaped hat with a unicorn horn.
And a unicorn horn would animate differently depending on where you were in your Uber rot.
This was the shark-nicorn.
I saw this hat, yes.
Yes.
And it was so fun to make.
And that was kind of my gateway project.
Okay, sorry.
That was my gateway project that succeeded.
There was one other project that I tried to do where it was like a button that you would hit and it would like augment some score on a scoreboard. But I did not have, I didn't know about the Adafruit learn guides
when I embarked on that project. So it totally failed. So yeah, that was kind of how it started.
I guess it just started because somebody asked the question and that question intrigued me.
And then I answered it with a shark hat.
What was the controller you used?
That one was actually a particle board, a particle controller.
Yeah, and it was actually the LTE one, too,
because I wanted you to be able to take it on the Uber ride
and then have it light up differently.
Cell modem, not Wi light up differently cell modem not wi-fi cell modem i noticed you use particles in a lot of your projects i don't see that very
often what attracted you to those uh i actually uh came across it why did i come oh yeah it was
probably because of one of the um tech conferences that offered this badge. And they made it super
easy because you don't even have to really plug in to the USB. You just open up a web page and you
like paste some code in. And that was really appealing to me because I had no idea how any of the tool chains worked.
So it was the least intimidating way to get into it.
Although these days, I feel like most of my projects are in CircuitPython.
So like all of the Adafruit stuff.
Which has a similar low friction development system
absolutely yeah i think i mean i i've i could probably do an arduino project
it's just it just seems like there's just so much work that i need to do in comparison
i'm sorry it is very funny to hear somebody say that. And you're right.
But it's also very funny. I know it's like probably just a minuscule amount of work more to do an Arduino project. I don't know. I'm a lazy developer. I don't know.
Well, going beyond Arduino, which is a little bit more work, but not a lot more benefit in my book, from
a circuit Python.
If you went further down into the realm of truly awful development environments.
Normal development environments, yes.
You do get step-through debugging and all the things you get when you're developing
at a higher level. But there is this bit of a chasm between making it easy enough to use,
like Arduino and CircuitPython.
There's a vast gap between Arduino and normal development.
I don't know what adjective to use.
Professional development is what I say,
although people use circuit python for professional
normal but that doesn't make sense either for deeply embedded development non-hobby
like productionized oh my gosh yeah i would actually that's actually a question that i
had for y'all but we can talk about that whenever you want to talk about it. engineer now you want to do that for your job right i i cringe a little bit because i know like
i know as a software engineer that the gap between doing a little coding project or like doing a
little programming exercise and like like performance scalable software engineering that has to be used by thousands of people
every second is such a different world. And there's so much tedium in the spectrum in between.
So I just feel like I get to do all the fun stuff in hardware engineering, but like, I don't really know what it takes to
make like what comes after making one or maybe 10 of something versus like making a thousand or
a hundred thousand of something. So like, can you enlighten me on what the, what, what is the
hardest part of it or what's the most tedious part of it
it depends a lot on what you want or what you're making what you're making yeah i mean
the short answer is alan cohen has a book called prototype to product and it goes through the
steps and it is it is very good it is also like 500 pages long. And that is the more the hardware side and the paperwork side. I mean, nobody thinks about FCC certification being part of an electrical engineering curriculum, but it's always the EE's job. they have some sort of magical ability to deal with frequencies in radio when what they really
did was put together a schematic for a digital board. So yeah, there are all these hidden things,
manufacturing, how you talk to contract manufacturers. It's all much, it's the same chasm as you said about
software.
It's not, it's fun to make a few.
And then when you make a few thousand and you have people paying for it, there's a lot
of tedium that goes into it.
Well, that's too where you start having to move away from things like CircuitPython or Arduino because you can't spend that much money
on your electronics.
If you're making hundreds of thousands, you're not going to say
a $10 CircuitPython
module is a good
pet, probably.
So you're going to drive cost out,
you're going to make a custom board with a custom microcontroller
and you're going to probably write all the
software
bare metal with the you know the libraries that the vendor provides
yeah people always ask me hey are you going to sell that thing the one thing that you made right
i don't really want to i mean it can work for tens and dozens.
That's totally fine.
And, you know, you charge an appropriate amount to cover your extra costs.
But yeah, it's really when you get into the thousands of things that stuff gets really tricky.
Yeah.
And then I don't have the luxury of just pushing out some update, some software update,
if I figure out that there's a bug in my code,
because there's always a bug in my code.
And yeah, that just gives me a lot of anxiety.
Well, in things like Particle, you can.
I mean, that's what their whole shtick is.
You can manage a whole bunch of IoT devices, but you pay a cost for that.
Yeah, absolutely.
And sometimes you don't really need the IoT part of it, really.
I mean, for security reasons, sometimes you don't want the IoT part of it.
True, very true.
So yeah, that same chasm you see between software and projects
exists on the other side.
And it is often just as frustrating and tedious
to do that last,
what seems like it should be 1%,
but is actually all the hard parts.
Now that you've done all the fun parts.
I'd also say it's not super cut and dried
because you can certainly do a custom board
with a cheap microcontroller that supports CircuitPython
and continue to use CircuitPython for development.
Dia did that with all of her synth boards.
A lot of people do that,
and that's a way of kind of splitting the cost,
your development cost, making that a little bit
easy, but also
cutting down on the electronics cost.
But then you do lose
some performance in that
if you care about that and stuff like that.
And so your product is a little bit more expensive.
Yeah, because you might need a bigger microcontroller than you otherwise would.
Which isn't a problem until you start doing consumer levels of things where pennies matter.
Right, yeah.
And then you have to get into the economics of, well, how much are people willing to pay?
Exactly.
Yes. And what does it cost to have a penny added to the bill of materials versus having an engineer spend a month on a problem?
Right now we're like, oh, yeah, if it'll save me an hour, I'll totally spend five bucks.
But that doesn't make sense when you're building a lot of them.
I had a follow up question about this, just a small one. I was reading about how, what was it? Oh yeah. I was reading about a blog post
or a blog post that described how software developers had to figure out like back in the 80s or something how they had to fit or do spell check like spell
checking used to be this entire sort of like niche uh set of algorithms uh that had to
be created because there was a limited amount of memory so you couldn't like you couldn't just like
store everything in memory and then like do a hash map check or whatever um but like how much
of that obviously this is like not a problem in like laptops now or whatever but how much of that like mental olympics has to happen at the embedded
level like i i imagine that maybe there's still a lot of that like judging of code that needs to
happen when you're like that far down that's my my favorite thing. Controversial answer is not very much anymore.
Yeah, this is a controversial answer.
It's my favorite thing.
He says not.
It depends.
I mean, it depends on what you mean.
When we talk about firmware update,
there's this idea that you have code coming in
and you have code running on the device.
And you really don't want to erase the code on the device until you're sure that the code coming in is good and will all arrive. trying to cross the river. It's very much like that, where you have to do some kind of inexplicable things
with dividing parts of code and putting it here and there.
And so you can buy a bigger processor,
a bigger flash, and not have as many problems,
or you can be as cheap as possible,
and you do have to do this puzzling.
I would say it depends on what your device or thing is doing.
So if you're doing something that has to do a lot of math or computation, then people do spend a lot of time trying to balance how cheap can I make this processor and how optimized can I make my algorithm and have those meet in a place where I got the best cost.
All the machine learning things happening right now.
Yeah, all that stuff.
Those are all having that problem.
Same thing with memory.
Like, okay, are we going to run out of memory?
And that happens a lot.
It's like, okay, we're going to run out of memory.
How do you plan that up front and pick the best part?
And usually for prototypes, you pick a big part,
figure out when you get sort of done with your software,
does this fit?
And if it does then
you know maybe get a cheaper part that doesn't have as much memory but there's still a little
bit of that but it's not the i don't think generally it's unless you've got a really
specific application that needs some specific computation thing or a very specific algorithm
and it also needs to fit on something cheap, or you need to optimize that.
It hasn't happened, it doesn't happen as much anymore.
It's certainly not like the spellcheck example,
where it's like, okay, there doesn't exist in the world
a cheap computing platform that we can do this on
with a brute force algorithm,
so we're going to have to finesse this.
Yeah, that's incredible.
We are definitely summer children,
summer engineering children.
I think the machine learning actually is the area
of where things are still hitting walls
much before they would like to.
For most development,
the processors are so cheap now that that isn't the
limiting cost. And then engineering time becomes a limiting cost. And then we go to things that
are easier to develop. On the other hand, I find those problems where you have to just take it
apart and put the puzzle back together super fun.
So if anybody's out there saying, oh, I have one of those and it's awful and I can't, just let me know.
Yeah, I'm not saying they don't exist.
I've had to do them, you know, for graphics that comes up a lot on microcontrollers because they're not very fast and they don't push things to memory very fast.
And so how do you...
Everybody wants rounded corners for some horrible reason.
Everybody wants everything to look like an iPhone when you're spending a dollar.
So that comes up a lot because it's like, what can we do with this?
Pretty much nothing.
Okay, what's the next step above nothing?
We'd like 3D graphics.
Okay, you can have 1D graphics.
Yes, one dot at any time.
You can have an LED.
That actually comes up a lot now that I'm thinking about it.
Because there's an infinite appetite for things that look good,
but it's very hard to achieve them with, you know, small parts.
And then they put the assets into Flash,
and then they want to be able to change the assets as part of firmware update.
And it just is yeah here's here's 10 megabytes of of jpegs or bitmaps because they probably
don't have the cpu to actually decode a jpeg yeah so yeah yeah i love this this is exactly
the type of insight i was looking for do you have any specific questions um no not really i just wanted to be floored by the amount
of stuff that you have to deal with like this is this is like i just wanted to get an idea of what
that chasm really looked like and yeah it looks magnificently um i want to say interesting. Oh, no, that's a slippery slope. You'll be
about it in no time. One of the other areas that is different from what software was when I was a
software engineer is having to read data sheets. And I think that's something you're starting to have
to do. I mean, you mentioned the Adafruit Learn Guides, and those are a good place to start,
but are you going beyond those into the actual chip data sheets or LED data sheets?
No. It's a little intimidating. So I think, so one of the skills that I really want to learn
eventually, and maybe I just need to put a deadline on it, is to do some like basic PCB design,
or like as far as I can get with it, I guess. And I think at that point, I'm probably going to have to be really into the data sheets of things.
But I also feel like I can get away for a while of just like replicating a lot of open source designs and then maybe like munging them together.
That's what I feel like I would start with.
That's a good place to start.
I don't do board design.
I think I did Blinky.
And if I remember correctly, you were talking to Alex and said something about doing Blinky.
I had about the same experience.
It was like, okay, I'm going to walk away slowly now.
The Blinky's over there and I'll just be over here.
Yes, this is my happy space, my happy place.
But I do read a lot of data sheets because if I want to control an LED in a way that isn't
the way everybody else controls it, that's when you start having to read the data sheets,
not for the electronics, but for the weird interface bits or when you're stuck in a corner some part it's a
complicated part like a display or something and you're like okay oh you want you want me to rotate
this display 90 degrees because your mechanical engineers don't want to make this fit the right
way and then you have to dive into the data sheet to find you, what bit you have to send it to. And it's one bit in 200 registers.
It's not well, it's not.
It's never documented.
It's not like 90 degree rotate either.
It's like, you know, column row readout order or something.
Oh my God.
It's never just rotate.
That's amazing.
So I have a need.
I need something in front of my drum set that tells me to relax.
But it's not just a sign.
It can't just be a sign because I'll tune it out.
So it needs to randomly and with some dynamic changes to tell me to relax and catch my eye.
And it should flash really brightly at you, right?
I don't know if flash is the right thing.
That might be distracting, but, well, you're not drumming.
I can handle flashing.
That's true.
What would you suggest?
Well, I guess it depends on if you want to ball out on it.
Sure.
The first thing that came to mind is Jason Kuhn makes these Fibonacci displays.
I think I've seen these.
Yeah, and just connect that to a Pixel Blaze.
Oh, man, you can pick whatever animation you want.
And they all look fantastic.
How different are these from the high density dot streams from Adafruit?
The difference is that these ones are arranged in these like Fibonacci spirals.
So when you think about, you kind of have to do a little bit of mental gymnastics to figure out where the positions of each of the LED,
because the index of the LED is sort of arranged in a spiral.
So the zeroth one is in the middle and the next one
is in some branch of the spiral and then you kind of have to like figure figure out what that would
look like if you wanted to build some sort of graphic around it so i feel like the math
the graphic math ends up being different and i honestly don't even really understand it. So, but they've done a lot of work figuring all that out
and then mapping it to the Pixel Blaze library.
So you don't really have to do any of the math.
You just stick a bunch of animations in
and they all just look beautiful.
Oh my God.
I mean, Pixel Blaze is made by Ben Henke and
he likes doing math. So it does not surprise me that they figured out the math.
Yes, absolutely. Have you been using the Pixel Blaze as much?
I have a couple of Pixel Blazes. I have been wanting to make something with them but i think it's going to be
one of those um like like paint in my palette that will come up when the right ideas come up
you know like when you're you're you have an object and you just know that you're going to make something with this object
but you just don't know what it is yet
so it's like it's there
I know I'm going to make something awesome
with it I just don't know
what that is yet
I mean the pixel places are
really awesome when you need wifi as well
as pixels
also
amazing animations right out of the box.
It's incredible.
That's the thing.
It's like, yeah, back to the developing stuff from scratch.
I mean, you can do so much with so many modules now.
It's hard to tell people to go do anything from scratch.
Yeah, I know what you mean i mean they're even in circuit python they have a um a display led display led animations library
and that already has a bunch of really cool animations you can do so not only do you just stick you know a usb into
a microcontroller into a usb and then type some code with it um you also could just use this
library to make pretty things happen in your led strips so it's really a great time to be alive folks you made a little cube with the high density
uh oh i love this grid oh my god yes what did you use to drive that um it's actually driven i have
it right here actually it's driven by an esb 32 s3 because I want it to be fancy.
And did you, is it CircuitPython?
Yep, it's written in CircuitPython.
It has, so it has that Qtpy, the ESP32S3,
and then it has the little charger board that Adafruit made with it.
And it also has an accelerometer via the Stemma QT port.
So it's orientation aware.
So you can flip it and it'll change animations.
And it's also, because it has ESP32, it has Wi-Fi. So I made a little web page that can post some payload to Adafruit.io.
And the firmware in the cube knows how to parse that string to draw on the top of the cube and also display some message on the sides of the cube
and definitely one of my favorite projects how big is it um it's roughly one and a half inches
tall like one and a half inch cube 1.5 inch cube and you 3d printed uh armature framework what would you
call it yeah it's like a press fit frame i guess um and it the frame itself has a little notch
for the switch so you can turn it on and off and it includes like another little notch that you can pop the top
of the so all of the leds press fit into the 3d printed uh frame and then you can pop the top off
and you can access the usb inside and for charging and for reprogramming purposes.
And there's a battery in there too, right?
Oh, yes.
There's a...
I mean, because that's the thing is you need to make it self-contained.
Yeah.
It's like a tiny little battery.
And I was so happy when I found out it just existed off the shelf.
Oh, man.
I mean, not entirely off the shelf. You did build this. able to order and not have to design a custom PCB for it was really, like, was such a delightful
thing. And did you write much software for it? Yes, I had to write all of the software that
drives it, essentially, and it's all in CircuitPython. I have, have like a little cube object that's written in Python that can sort of manage
the state of like what's happening in the cube. Because there's a, there's an orientation
sort of state, like if it's upside down or not. And then there's like, how do you scroll
the images on the side, or sorry, the the text around it and then how do you display
the top um the the graphic on the top part um i feel like maybe there was probably a way to
display an image and wrap it around the cube but um yeah, at that point, my brain was frying. So I was just
very happy that I made something display. So you say you didn't make a board, but you did make a
3D printed framework. Yeah. And you did put together six of these boards and the electronics necessary to drive them
all and then wrote software so that they would do appropriate things to what you wanted when
accelerometers changed and text changed and it talked to a website.
Yeah.
Okay.
I just wanted to make sure that, you know, you kind of minimize what you did, but there was plenty there. And in fact, there was enough that Adafruit, you wrote a tutorial for them.
Yeah.
And that was exciting? I definitely felt like, so I finished it.
And then I was like, this is super awesome.
But is it awesome enough?
Is it awesome enough for me to write a guide about it? Is somebody going to pay me to actually tell someone how to do something like this?
And I don't really know why my brain works that way sometimes.
Because you're right.
I guess it's because I tend to think that if I know something,
then a lot of other people know that thing.
So it doesn't feel like something that I can, can talk about or,
or, or be teaching other people about. Um, but, uh, I think it's a weird thing that my brain does
really. Um, and, and I also feel like it's a habit that I, that I need to get
out of, of doing. I think it's sort of this mental tick that happens. And I just have to catch myself
every time I do it because I feel like the world will probably do enough of the, the invalidation
for me without, without me have like helping it the special form
of imposter syndrome it's it's teacher's imposter syndrome yeah oh i didn't even know that that was
a thing oh yeah is it is it separate oh it's separate because now you've got i mean i think
about when i used to work on patents for larger companies.
And the question was always, is this novel?
Is this non-obvious to a practitioner of the arts?
And I'm just like, everything I do is obvious.
Yeah.
That's a bit different though.
But what I'm talking about is like getting in front of a bunch of people.
And, you know, by teaching somebody, the implicit thing is I know how to do this.
And not only that, I know it well enough to tell you how to do it.
And that the information is valuable.
And the information is valuable, yeah.
But I think that's a real trap because by teaching things, you learn them much better.
Very much.
True.
And everyone has a different perspective on things. And, you know, I can't tell you how many times I've watched different instructional videos or read different things on the same subject, trying to understand it better. And I think having multiple perspectives on stuff is really useful. And if there was just one person who knew how to do everything, and that was the person who taught, you know, or who knew how to to do a specific topic and that was the only person allowed to teach it that would be very bad
that's true you know that is actually a really helpful um way to sort of reframe
this thought that this thought of like oh well i'm like am i good enough to tell this story?
But you're right that your perspective is different.
Like, it's unique.
It's you.
So it's like a sort of a handle that you can like grasp on whenever your brain goes in that direction.
And there is the idea that an expert often makes a terrible teacher. Oh, yes.
Not even an idea. That's a fact. I mean, I would definitely love to do a lecture on pointers,
on how to understand pointers. But the truth is, I have no idea how you don't understand pointers.
Why doesn't everybody understand? Same way. Totally obvious to me. I completely remember being confused by pointers.
And I remember being stuck on stuff with them.
But now when people ask about pointers, I'm like, this is obvious.
I can't even explain.
This is like, you know, a fish in water.
This makes no sense that you can't understand this.
Even though I remember not understanding it.
Oh, yeah.
I can't understand this. Even though I remember not understanding it. Oh, yeah. I can't. It would take me days to sit down
and kind of construct from a beginner perspective
something that I thought would be a good tutorial on pointers
because it's like, okay, where...
It's like addition, right?
It's like explaining addition after doing it for 20 years.
I could explain addition better than I could explain pointers.
Probably, yeah. And I was trying to think
of another example, but yeah.
So that's definitely the case.
And I've taken classes from people
who are super, you know,
and you take people
math classes in college and stuff.
There were a lot of math professors who were
so into their research and stuff that teaching calculus
was impossible for them.
And yet those were the people who were teaching calculus.
But if you get an instructor who's into teaching and understands teaching.
Into the educational part.
Yeah, yeah.
Or you get a TA who learned it last year and totally remembers where you're coming from.
Right, right.
Yes.
Yeah, it's totally different.
So, yeah, it's really hard yeah it's crazy um i feel like i i honestly feel like teaching itself is
probably one of the hardest things like hardest jobs because not only do you have to sort of apply
a lot of creativity around this thing that you had to do every day you also don't really get
paid a lot for it and and a lot of your students end up not liking you So it's a really thankless job.
Yes.
Yes, it is.
Yeah.
When I taught, a bunch of my students kept calling me Steve.
I never figured out why.
What?
Graduate physics? I was teaching undergraduates.
But physics lab.
Is it like in an endearing sort of way?
No, no, they didn't know who I was.
Oh, no.
They thought I was some other person.
Oh, my goodness. That means that if they didn't understand,
it's Steve's fault.
It's true.
That's right.
I blame everything on Steve.
Steve is your teaching alter ego. The nega Christopher.
So having written the Adafruit tutorial, Adafruit Learn Guide is the right name.
Do you think in the future you'll be able to say, oh, and you get that feeling of not being worthy or not having done enough.
Do you think you'll be able to say, I wrote the Adafruit Learn Guide and people liked it, people appreciated it.
I don't need to feel this way.
Will it help with the imposter syndrome?
I think so.
Although I think it's like, it's kind of like exercising, like you, your muscle doesn't
get strong unless you can consistently do the same sort of exercises. I think my journey right now is to figure out how to consistently
redirect my brain whenever it tries to go the direction of like, oh, I'm not good enough,
I'm not worthy. And it's definitely still a journey that I'm in the middle of.
Um, so an example of this is I, uh, was just invited to speak at Maker Faire Miami, um,
this April, um, which is super exciting, but I was about to book my flight.
They were like, yeah, this is good.
You know, um, go book it and then we'll reimburse
you and I froze and I actually procrastinated on it for a day or two because I was like what if I
have nothing interesting things to say like well like I don't like what am I going to talk to people about? Like, what am I going to get on stage for? Like,
and, um, I had to, I had to like voice it aloud. And thankfully my partner, um, he knows that I,
I, I tend to do this to myself. So he like knows to like remind me that it's just like my tendency and that I definitely have interesting things to say.
So yeah, I booked the flight. I'm going. It's going to happen. But yeah, it's a work in progress.
One of the things I found helpful with imposter syndrome, which, by the way, is not something that has ever really gone away, is making a PowerPoint slide deck of things that I had accomplished.
And looking at that when I needed the boost.
Because usually you know you need the boost,
you just can't figure out how to do it.
But if you put your Adafruit Learn tutorial on there
and you've been featured on Hackaday and Hackspace Magazine and Hackster.io,
it's not that you need the external validation,
it's just sometimes when the internal validation
is fading, external is okay enough to get by. I like that. I did read about a blog post where
somebody talked about a hype doc. You have to write a hype doc for yourself because not only does it help you in times when
your internal validation is failing you, it also helps you, you know, for professional career stuff.
So yeah, that's actually very helpful. I haven't done an intention. I feel like I've collected them
in like various places to look at later maybe.
But I haven't really did an intentional exercise of sort of keeping this emergency kit.
So I really like that.
I think I will do that.
Cool.
And I mean, you have so many pretty projects.
Thank you. There's so many. projects. Thank you.
There's so many.
I don't like blinking lights.
Let's just be upfront with that.
I do not like blinking lights.
But the slow fades and the pretty colors, I can really get behind that.
Thank you so much. And I, that's amazing because I feel like
your skill set is sort of in the complete other spectrum from what I know in terms of like,
you really, I feel like the way that you're able to dig into all of these lower-level puzzles, like you were saying earlier, is just so fascinating.
And it's so intimidating, to be honest with you, because there's so much technical depth there.
And so I really appreciate that you also appreciate my work. Thank you.
I will tell you how that works though. The in-depth embedded stuff, it's anger because all this stuff is so frustrating and, and, and you just get angry at it until you,
you have to make it work because otherwise it wins.
Wow. Whoa. Maybe that's just my work ethic
whoa so you're really like warriors you're like in this battlefield every day
and you're just not letting it win amazing no i'm letting it win this year oh
it's gonna win this year but i don't i read schematics, but I don't write schematics.
And I don't do boards.
Yeah.
And I've never put together something that has 3D print successfully.
I have only recently done that.
And it's, they're embarrassing, but they work.
And I have made higher level software,
but it's almost always in service of the lower level software,
simulators and whatnot.
And so I can't care about how that code works.
I just need it to work because it's not what I'm delivering.
You said earlier about thinking that because you knew something,
everybody else does.
And I know Adam Savage has several things to say about this, but I really liked the idea of having highlights reel.
People see my highlights reel.
They don't see the actual things that go on.
Yeah.
I do.
Christopher does. Let. I do. Christopher does.
Let him tell you.
That's amazing.
I have another question for you.
It's more of a thought experiment.
But LEDs seem to be this gateway that a lot of maker folks get into,
projects, making things with them. And, you know, when I started in electronics, LEDs were red. And, you know, they were round and, you know, fairly large. What about LEDs do you think is attractive as this kind of gateway to doing maker maker projects as opposed to things like, I don't
know, motors or, or audio or. Yeah. You know, I think it's super magical. Um, for some reason,
and you know, I, I don't think I can fully explain it, but when I see an object i often ask myself oh how can i make that thing glow
or like like oh that thing would look really cool if it had this like subtle strip of light on it
like i i don't really i i think it's just somehow my, the, the antenna of my creative brain is tuned to the
frequency of LEDs. I don't know if that makes sense, but, but like I, I often get a lot of
ideas and they just often involve like something that's glowing. Um, and it goes, it kind of goes the other way around. Like if I see a thing that's glowing,
it generates a lot of ideas. Like there's a strip from nth light that's like a super thin
printed LED strip. And when I saw that object, I was like, wow, there's so much possibilities. I don't know
what those possibilities are, but there's a lot of them. And yeah, I guess it's just like, to me,
I guess it's a real life sort of magic. There's like fantasy novels that talk about magic, and I really want to live in those worlds.
And this is kind of my way of making magic real,
is making stuff glow.
That's a good answer.
I mean, that is the first spell you learn in D&D, isn't it?
Magic Missile.
What?
You are very violent, D&D. What? Magic Missile is the first spell you learn in D&D, isn't it? Magic Missile. What? You have very violent D&D.
What?
Magic Missile is a first-level spell.
Everyone learns Magic Missile first.
How are you supposed to fight monsters?
I thought it was light.
I mean, even now when we watch the super, like, Star Wars show, everybody has really bad flashlights.
And Star Trek.
Everybody has bad flashlights in all sci-fi shows.
What?
Sorry.
We've got a little off topic there.
It's Magic Missile.
I really appreciate your answer. That's a really good answer.
And you mentioned being worried about power on the origami uh wall yeah how much have you had to learn about dealing
with power or does that how have you learned about dealing with power um you know to be honest i
have learned to i i know that voltages matter i know that voltages matter. I know that amps matter.
And that's about it.
Well, when you multiply them, then you get power.
Yeah, I don't even.
Yeah, I don't really do any sort of like calculations.
I just do a lot of sort of tilting of my head and going,
ah, this is probably going to work.
Because I think that's like the entire other part of sort of, I don't really have to, like, I'm not thinking about all of the sort of theoretical foundational things that should be underpinning some of this electronics because I don't have that foundation. Because one of the things that I was wondering about when I was building the
cube, for example, was like, well,
is it actually safe to stick a bunch of things that might get hot inside of a
cube that's closed and doesn't have a way to vent the heat?
And then I was like, ah, it's probably going to be fine.
Oh, it's totally going to be fine.
Yeah.
Oh, okay.
Great.
I'm really glad.
I mean, volts need to be consistent.
All the volts need to be about the same,
or they need to have something that translates between them.
So if it's all five volts, that's good.
If it's five volts and three volts,
you have to have some kind of translator.
Okay.
And amps are about adding things together.
If your power supply is two amps,
then all of the other amps have to be,
have to add to less than two amps.
Oh.
See, that's the other thing is that
sometimes they're like theoretically i feel like maybe
it shouldn't have worked but then it kind of does there are lots of times that works yeah
see that's the thing so many people who are afraid of breaking things that they don't get
started and stuff like this or with software i mean i remember people being afraid of oh
i'm gonna break the computer or what happens if I hit Dell or, you know.
And the way I learned was just, eh, whatever.
It's going to break.
It's going to break.
It's probably not going to break.
They wouldn't make something like this that's going to break easily.
Yeah.
Like, I made this ring.
And, you know, have you seen the filaments, the LED filaments that are, like, sort of 360-degree 360 degree glowy. Yeah, they're so awesome.
There's like little tiny ones that are rigid and he made a ring out of three of them.
And somebody asked like, oh, how much power does that take? Because I told them that
it's actually just running off of a 1225 coin cell for all three. And they were like, oh, does it last like
60 seconds? Ha ha ha. And I was like, no, it lasted 15 hours. And then they were like, but
there's no resistor. Like, don't you need a resistor? I was like, I have no idea. I just,
I tried it. It worked, and it lasted 15 hours.
That's actually a really good response.
And when we asked you what your favorite material was, you said bronze.
Oh, I said brass.
You said brass. It's been so long, I had no idea.
What are you doing with brass these days?
Yeah, I think it's a very approachable metal, and it's gold. So it's probably not like real jewelers who probably think that it's actually not that gold but i really like the color of brass um so i've
been doing um some circuit sculpture jewelry with them like marie was doing yeah exactly more jewelry
pendants and it's great because it's a way to get the glow into something I can wear that doesn't require a microcontroller.
So it doesn't require a battery that's bigger than a coin cell.
And it doesn't need to be recharged.
There's just so much less that needs to happen.
Just some LEDs, a positive and a negative. And as long as they
don't short, you're fine. And I've just been having, like, it's sort of a really
addictive exercise for me to think about like, well, what can I make that's glowy and gold um and recently i've been trying to make um bezels for uh i'm actually
trying to to make a new wearable with the dot star grid the the same grid that um is on the cubes
and it's a little bit more chunky because i'll i'll need to have at least a cutie pie in there.
But I'm trying to wrap a brass bezel around it.
And oh man, I was looking at YouTube videos and there's just so, there's actually like
a bunch of tools that I don't have that you can use to bend metal in certain ways and to make it so that it
looks nice when it's bent. Um, cause, cause you do one bend the wrong way and the entire thing,
the entire thing just looks bad and you can't really undo it. Well, you can, but it's, uh,
but then it looks worse. Exactly. So you have to sort of just cut it off and do it again um but yeah i i don't really have
the right tools for it but it's fun to just like experiment with and it's just so shiny and i feel
like you get a really good result out of just like if you just bend it right so i guess i'm just
fascinated by by what you can do i guess metal, it's kind of my next frontier
because I feel like I could 3D print some plastic stuff. I love working with paper. I have like
some stuff that I've done with wood, but I have it, but like getting to work with metal is just
like very, very cool. Some of your past projects've i've really noticed were the detailed wood cuts
and those come from a glow forge right yeah does the does the uh brass and the glow forge they
don't play together right oh yeah not really i don't think you should laser shiny things. Yeah, but, but, but, but, apparently, and this is something that I've been wanting to experiment with,
there is a coat, like a coating that you can put on brass.
And you stick it in your laser and you can engrave on it.
And then it apparently will just engrave on brass which is very exciting um i feel like
you can make trophies out of it you can make like interesting graphical elements with your jewelry
man that would be cool i feel like one one thing that i really want to figure out how to do is
how to make intricate the same sort of intricate cuts that I can make on wood, but on
brass. I feel like I need an industry, like an industrial sort of laser cutter or water jet or
something for that. And I don't really have access to that yet. You might want something mechanical,
more like a cricket, because then it doesn't matter if it's
shiny it just has to have the right tools to emboss or cut through yeah yeah i gotta i gotta
figure that out because there's definitely like sort of these intricate flat brass sheets that
have like intricate cuts on them i just don't know how they make i think they made up it might be stamped or something yeah i can get a stamped effect with metal on
my cricket but i don't know if i could cut metal yeah although if it was straight lines i could
stamp it and then probably cut it after oh once i had a guide because I'm not going to cut straight lines on my own.
That's fine.
Same.
I feel you.
Do you have a favorite project that you've worked on?
Ooh, ooh, I have to choose among my children.
I want to say, yeah, I think the cube is probably one of my favorites right now.
It's just so satisfying to hold it.
Even when it's off, I just sometimes fiddle around with it.
It's just a satisfying thing.
I also really like, I made a phone case, essentially, but it looks like a Sheika slate from breath of the wild i don't know
if you guys have ever played that game um the glowy remember link got the the glowy slates
that had i don't remember what they were for exactly got new information or new abilities
out of the recipes were from uh yeah yeah i you can like, it's basically they gave Link a smartphone.
Yeah, that's right.
So I figured, yeah, I already have a smartphone so I can have a Sheikah Slate.
And that was definitely like such a fun project to work on because the end result was really just like layers of a laser cut wood.
And then I painted the back and it has a little LED eye on it.
But it's one of those examples where it didn't really require much, just like some elbow grease, some paint.
And creativity, some identification of something that would be fun.
The time to finish it all,
the ambition to actually get it done
instead of just starting it.
No, it didn't take much at all.
Yeah, yeah, yeah.
But yes, it came out great.
Well, Charlene, it's been really great to talk to you.
Do you have any thoughts you'd like to leave us with?
Yeah.
Oh my gosh, it's been such a fun time talking with you.
I guess my final thought would be,
I make stuff because I kind of cannot not. I do it because it makes
me feel alive. And I think there's a special, unique joy in thinking up a thing and then like yanking it out of your brain and making it real. And I guess my hope is that
a lot of people just like, if you're like me and you like to make things, like I hope you take some
time to pause and savor that unique joy and, you know, just keep making things.
Our guest has been Charlene Gonda, software engineer and maker. You can find her blog
and her projects at Charlene Codes. That's C-H-A-R-L-Y-N dot C-O-D-E-S.
There'll be a link in the show notes along with many of the other things we talked about today.
Thanks, Charlene.
Thank you so much for having me.
Thank you to Christopher for producing and co-hosting.
Thank you to Carmelo for recommending Charlene.
Thank you to our Patreon listener Slack group for all that they do. And of course,
thank you for listening. You can always contact us at show at embedded.fm or at the contact link
on embedded.fm. And now a quote to leave you with from Madeline L'Engle.
Unless we are creators, we are not fully alive. What do I mean by creators?
Not only artists whose acts of creation are the obvious ones of working with paint or clay or words.
Creativity is a way of life.
No matter our vocation or how we earn a living.
Creativity is not limited to the arts or having some kind of important career.