Embedded - 445: I Do Not Like Blinking

Episode Date: March 16, 2023

We 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)
Starting point is 00:00:00 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...
Starting point is 00:00:33 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.
Starting point is 00:01:05 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?
Starting point is 00:01:36 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.
Starting point is 00:02:08 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.
Starting point is 00:02:57 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.
Starting point is 00:03:18 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
Starting point is 00:04:06 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?
Starting point is 00:04:26 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
Starting point is 00:05:26 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.
Starting point is 00:06:37 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.
Starting point is 00:07:31 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.
Starting point is 00:08:16 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
Starting point is 00:08:48 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.
Starting point is 00:09:24 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.
Starting point is 00:09:59 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.
Starting point is 00:10:37 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.
Starting point is 00:11:05 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,
Starting point is 00:12:07 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.
Starting point is 00:13:15 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
Starting point is 00:13:48 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.
Starting point is 00:14:25 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.
Starting point is 00:15:24 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.
Starting point is 00:16:15 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
Starting point is 00:16:46 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
Starting point is 00:18:15 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.
Starting point is 00:19:28 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
Starting point is 00:19:56 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.
Starting point is 00:20:26 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.
Starting point is 00:20:56 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
Starting point is 00:21:30 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
Starting point is 00:21:52 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.
Starting point is 00:22:13 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?
Starting point is 00:22:38 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
Starting point is 00:23:47 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.
Starting point is 00:24:32 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,
Starting point is 00:25:17 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.
Starting point is 00:25:50 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
Starting point is 00:26:05 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
Starting point is 00:26:39 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.
Starting point is 00:27:01 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.
Starting point is 00:27:40 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.
Starting point is 00:27:59 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
Starting point is 00:28:31 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?
Starting point is 00:29:39 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.
Starting point is 00:30:28 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
Starting point is 00:31:08 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.
Starting point is 00:31:38 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?
Starting point is 00:32:08 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.
Starting point is 00:32:37 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.
Starting point is 00:33:23 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.
Starting point is 00:34:02 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
Starting point is 00:34:48 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
Starting point is 00:35:03 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
Starting point is 00:35:46 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.
Starting point is 00:36:44 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
Starting point is 00:37:58 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.
Starting point is 00:38:35 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
Starting point is 00:39:40 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.
Starting point is 00:40:41 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.
Starting point is 00:41:31 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
Starting point is 00:42:24 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.
Starting point is 00:42:55 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.
Starting point is 00:43:19 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.
Starting point is 00:44:22 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.
Starting point is 00:44:59 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?
Starting point is 00:45:18 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
Starting point is 00:45:36 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.
Starting point is 00:45:56 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.
Starting point is 00:46:47 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.
Starting point is 00:47:10 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.
Starting point is 00:47:22 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.
Starting point is 00:48:06 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
Starting point is 00:49:05 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,
Starting point is 00:50:26 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.
Starting point is 00:51:14 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.
Starting point is 00:51:46 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.
Starting point is 00:52:39 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.
Starting point is 00:53:29 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.
Starting point is 00:53:51 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.
Starting point is 00:54:24 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
Starting point is 00:55:06 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
Starting point is 00:56:29 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?
Starting point is 00:57:05 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.
Starting point is 00:57:21 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
Starting point is 00:57:57 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
Starting point is 00:59:09 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.
Starting point is 00:59:30 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.
Starting point is 00:59:49 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
Starting point is 01:00:13 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.
Starting point is 01:00:34 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,
Starting point is 01:01:20 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
Starting point is 01:02:15 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
Starting point is 01:03:18 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
Starting point is 01:04:14 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.
Starting point is 01:05:16 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
Starting point is 01:06:06 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.
Starting point is 01:06:51 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
Starting point is 01:07:35 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.
Starting point is 01:08:23 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?
Starting point is 01:08:52 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
Starting point is 01:09:54 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
Starting point is 01:10:31 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.

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