#675 – Changing Course with Shawn Hymel

Download episode · 105 MB
Also on Apple · Spotify · YouTube · RSS
Show Notes
Welcome Shawn Hymel!
- Shawn will be transitioning out Developer Relations at Edge Impulse. He will now be building courses full time. (this was recorded before Shawn announced his departure)
- He want's to be like a Professor, which partially explains his signature bowtie
- Should people go into content? What about Developer Relations more specifically?
- New courses will include FreeCAD and 3D printing and will be published by Digikey
- Part design in FreeCAD
- 0.22 in Mango Jelly
- Learning modeling vs learning an actual program
- Scoffolding
- Making a Zephyr course
- Zephyr / Golioth training
- Ecosystem vs RTOS
- Workshop at Harvard
- Trying to train on hardware
- What should engineers know about ML
- Andrew Ng's course on Coursera
- Updated for NumPy / Python
- Understand Neural Networks
- Can treat them as a black box
- More important to understand statistics and data science
- Hot dog / not hot dog (silicon valley)
- Model zoos
- Hugging Face
- Coprocessing on U55 - U85
- ToorCamp
- Michael Cheich
- Robert Ferenec
- Marketing courses
- Running
- You can find Shawn as ShawnHymel on most social
- You can also check out his site, shawnhymel.com
Transcript
Chris Gammell: This is The Amp Hour Podcast. Released August 8th, 2024. Episode 675. Changing Course with Sean Hymel.
Chris Gammell: Welcome to the Amp Hour. I'm Chris Gammell of Contextual Electronics.
Shawn Hymel: I'm Sean Hymel. I'm going to be transitioning out of doing developer relations with Edge Impulse. And I believe by the time this episode comes out, I will be going back to doing my own thing full time, which should be a fun transition.
Chris Gammell: Sean Hymel, free agent to the stars and the technical content engines of the world. Absolutely.
Shawn Hymel: That's it. I'm actually going to be focusing more on course creation, which is interesting because when I used to work for myself, I think it was between 2018 and 2021. So for a few years there, I was kind of just freelance trying to figure out how I can make working for myself work. And Chris, I know, I think you've got experience doing the same thing. So for me, it was mostly doing videos with DigiKey, some content with some other companies, and also doing a little bit of consulting engineering on the side with some companies. And for me, as much as I enjoy engineering and that side of it, I think it's really interesting that I don't actually enjoy the engineering for somebody else. It's the weirdest thing I struggle with. Like I love making projects, right? I don't know how you feel about it because you did a lot of stuff on your own as a consultant engineer. And when it's like, oh, I got to wake up in the morning and write code for this other person, like it is just a demotivator hard for me.
Chris Gammell: Oh, that is interesting. Okay. Yeah. Okay. So I think, yeah, to kind of talk, one, we should talk about your background a little bit, but, but yeah, no, this is a good topic to get into generally too, because it is. Okay. So the things that I really like, I actually switched, you know, I did what you did and went into course creation kind of place. And then I just scramble, scramble, scramble. And then I started consulting for other people and design for hire. The thing I like about design for hire is actually the constraints it places upon you. When I have my own system constraints, like when I'm in charge of constraints, they're never realistic enough. You know what I mean? I'm like, oh, well, of course the list price for this device is 599. And of course everybody's going to be buying it and I'll have, I'm going to be selling a hundred thousand units and it can have whatever kind of hardware I want. And, and, you know, unlimited battery, unlimited everything, you know? And so like the thing that I like most about customer style consulting is constraints, even if they are infuriating sometimes.
Shawn Hymel: And you've made your own devices. I think I came across one of yours the other day. It's like key cat logo all across it. So you've sold your own devices, right?
Chris Gammell: Not sold. No, I didn't sell. And that's, and that's actually one of the things, that's one of the ones that I didn't have a constraint for. Like I, that was probably the advanced Blee cell, terrible name, but like it was basically a NR52 and a BG95. And that was a quasi product. And I made a course out of that. And, but then I didn't end up selling it and I didn't get certified. And the real problem there was that I shoved so much stuff in it. It was like based on some things that I'd run into before. And that was a good framing for it, but it was not enough of a hard price target, enough of a hard spec target. Like I had to do this, this, and this. Yeah.
Shawn Hymel: Yeah. And I find it's really hard to compete nowadays. You know, way back when we had SparkFun, Adafruit, and Olamex are kind of your only places doing these like custom dev boards that you can buy. And so I think, you know, 10, 15 years ago, it was probably easy enough to roll your own. There weren't many platforms to sell it on, but if you had a way to do it, you could sell. In fact, SparkFun and Adafruit, I know still work with, you know, if you come to them, you could propose something, maybe they'll be able to sell it. But, you know, their bar is really, really high. But these days I find like, oh, I've made my own dev boards, right? I rolled my own ESP32. I rolled my own STM32, excuse me, ESP32 and STM32 dev boards just to see if I could. It was good key CAD practice. But then those are already out there. There was nothing I was. Right, right, right. I'm going to be cheaper than the black pill, right? Right, there's no way. I can't compete with China. I just can't. Like, there's just no way. And so for me, it's like I'm trying to go up against the giants, which includes SparkFun, Adafruit, Seed Studio, all of these. And I'm just like, I can't compete with them unless I worked for them or sold through them. And then so for me, it was I would make something in support of something else. And for the most part, it was like, I'm going to make this board and then let's teach people how to make this board. And that works really, really well. And then it was trying to figure out how can I sell the content, not the hardware, which is like I love hardware. I love embedded systems. I love making these things come alive with code, trying to optimize it. It's so much fun. And from like almost an academic perspective, but then the actual selling process, even though I'm literally in marketing, the actual selling. It's finding that product market fit. That's the hard part. And if you come across a sensor or an interesting chip, chances are these other companies have beaten you to it. Like that's just totally.
Chris Gammell: Yeah. And like, and I think, yeah, that's a good point about like the, like being in the game of like making breakout boards too, right? Like that was enough of a business before. And you're saying that that's, well, so you used to work at SparkFun and we both love Adafruit stuff. And it's like, really the thing they're really selling is it is that similar kind of like content plus, right? Because it's like the reason you buy it from them versus going to a AliExpress and buying just a breakout or just a blank breakout and soldering it down yourself is, well, they're going to show me how to use it too. Or maybe it has the, you know, the quick interface or the STEM interface, that sort of thing. Yeah.
Shawn Hymel: Yeah. Yeah. They've standardized all these interfaces. They have the documentation and it's almost guaranteed that you're going to get a library to work with like something like Arduino or Raspberry Pi, any of these, I'm going to call them maker boards, but prototyping boards. Yeah. Right. Right. That's, that's kind of what you're getting when you buy from them. And yeah, you're going to pay more, but you're also helping support those businesses because they put in that extra effort.
Chris Gammell: Totally. Yeah. It would be hard to, I think it would be hard to break into that space these days. I've actually thought about it. Like I did a lot of stuff with like the, not a lot of stuff. I really love all the stuff around the CH32 VOO3 and just like the dreaming up the things you can do with it. And it's like super constrained and, oh, it's so cheap. And then I thought about like, well, if you sell the, if you sold a product with it, like our dev board with it, no one's going to be like, oh, it's the 10 cent microcontroller. And you're trying to sell me a dev board for like $50. And it's like, no. Yeah. What are your profit margins? Yeah. But if you sell a product with it, right, if you sold an actual use case and a full end to end widget thingy doohickey that does something, then it's like, oh, actually that solves a problem. That's like the true difference of kind of the hardware mindset of, you know, kind of cost plus or like the 4X rule sort of thing versus the product side of things. Whereas it doesn't actually matter what the electronics are inside because it's a, it's a $99 thingy that solves my problem. Right. That's, that's ultimately like where product companies have to go. I feel like.
Shawn Hymel: Yeah. Yeah, exactly. And there's this niche market of selling, making dev boards and breakout boards. That's super niche because you're targeting the engineers who are trying to make those products. Yeah, exactly. Or trying to do the makery stuff. When I say makery stuff, I usually mean more of the artsy stuff. And I don't mean that as a bad thing. Like I absolutely.
Chris Gammell: Blink, blink, bleep, bleeps, bloop, bloops. Yeah.
Shawn Hymel: The like companion robots, the blinky things. Like I think those are so much fun. Every now and then I'll do a similar project, but you know, we're talking about the companies that I'm going to make a product to meet an end goal, to do something that, you know, has some, has some value or requirement in the market.
Chris Gammell: Yeah. Well, that was, that was a blockbuster start there, but what would be the number one word people would say if they saw a Sean Hummel video? What would they say?
Shawn Hymel: I like the term professor and I'm trying to like adopt this idea of corporate professor. Professor, I'm not in academia, but I'm trying to like bridge that gap from academia to. Oh, you could be like doctor in quotes sort of thing. Oh, what was the podcast? Professor in quotes. What was the podcast? I think it was like Amy Schumer. One of these have like a podcast that's like. Oh, no. Not Amy Schumer. Amy Poehler. Amy Poehler. Poehler. Sorry. Sorry. Amy Poehler. Yeah. Has the like doctor. I can't call myself doctor. That's right.
Chris Gammell: Doctor. Doctor. That's right. Yeah. She does these plays because she was in improv. And so they'll do like improv where like people are coming into a therapist's office. Yeah. That's great.
Shawn Hymel: It's so good. It's so good. My girlfriend turned me on to those. I can't remember the name off the top of my head, but I'm sure we'll put it in the show notes or something. Yes, definitely. But yeah, like I like this idea of professor. And what I've discovered is outside of the US, they call anybody who teaches professor like a lot of European, Middle Eastern countries. And I think India as well. I'm just professor. Like if you go to any of my courses, you'll see like comments like, oh, hi, professor, blah, blah, blah. Even though I'm like, I'm not a doctor. I don't have a PhD. I'm not in academia.
Chris Gammell: I don't think professor is actually, it's not a protected term either.
Shawn Hymel: So no. Like look at Harry Potter, right? They were all professors, right? They taught grade school. Yes. This is where we're going for all of our judgment calls on what to call people. So, but I like that. Like the idea of corporate professors, what I'm getting at. It's like, I'm not, I'm not a PhD. One of these days I consider.
Chris Gammell: Sean, what I was, what I was really trying to get out of you here. Maybe I should just go back and just hit it on the nose. I was going to say bow tie. That's what people were going to say. If they say, oh, oh, oh, bow tie guy. Yeah. I know you don't want to be bow tie guy, but that would be the, the word I think that would then, if people have seen you in a video, a technical, you know, a tutorial style video, they're probably like, oh, Sean with the bow tie, you know what I mean?
Shawn Hymel: The bow tie guy. Yeah. You usually like a lot, I've done a lot of stuff with digi key. So that's where I get associated with like the digi key bow tie guy. Cause I've done so much with them. Right. You know, you were the spark fund bow tie guy first, right? For a long time. Yeah. I was the spark fund bow tie guy. Exactly.
Chris Gammell: Yeah, exactly. Yeah. Okay. All right. So now we're moving, we're moving from bow ties to elbow patches. Is that right? That's, that would be the professor thing in my, twee jackets. Yeah, exactly.
Shawn Hymel: Yeah. But with the elbow patches, you know, I'm getting the grays, Chris, I'm getting the grays on the side. Oh, they're here. You get the Dr. Strange ones that are like just on the side. Yeah. It's so good. Yeah. Yeah. See distinguished. It's all good. So that's, that's where, what it's been going is like the bow ties, that signature, right? It's, it's the thing I try to wear in all my videos and it makes me recognizable regardless of what company I might be working with or for, especially like if I show up at events, I used to go to super con and the first day I'd be wearing a t-shirt and maybe one person would recognize me. It was fun to see, right? Cause it's just so different. It's not what you expect.
Chris Gammell: Yeah. Super con. I hope I get to go this year. I'm not sure I'm going to be able to.
Shawn Hymel: I know. I was sad. I didn't get in your workshop last year, but I took your workshop with Mike for Zephyr previously. No, that wasn't. No, that was pretty soon.
Chris Gammell: That was pretty super con. This past year. I didn't go. Okay. Two years ago. No, no, no, no. It was a virtual. It was virtual.
Shawn Hymel: No.
Chris Gammell: Two years ago we went and we did a workshop. Yes. Yes. So that probably was, that was it. Yeah. Yeah. It all blurs together. Time's a flat circle. So yeah. Yeah. That's fair. That's fair. Yeah. Okay. Yeah. Well, hopefully I'll be there this year and maybe you will as well. Okay. That'd be great to hang out. Yeah. Okay. So you've been doing content a long time. We've mentioned SparkFun. We mentioned the DigiKey videos. You were in developer relations as well at Edge and Pulse, which is what you're transitioning out of as we record this. That's, you know, a wide swath of companies that people will recognize. And so I guess first off, would you recommend the content creation path as a career overarching thing, if nothing else?
Shawn Hymel: I do in a very specific set of circumstances. Let's hear what those are. Yeah, if you're just driven to just wake up and do code or do hardware all day, every day, and you're okay with, here's the constraints, make a thing. If you're okay with somebody doing that, do the engineering path, right? There's a great career path for doing hard engineering or engineering into management. I never really wanted to go into management. And I find that I like to jump around too much from project to project, topic to topic, you know, technology, different tools. Not just like, oh, I know these five languages for programming, but, oh, I want to do hardware and I want to do 3D printing and I want to do some coding. And I really like embedded systems, right? It's just like this whole swath of things. And so if you like that kind of idea of, I just pursue these wide variety of things, consider something like DevRel. But more importantly, what I find for DevRel, you really have to enjoy the social aspect of it, like the teaching aspect. And you have to have an eye for good documentation. And what does it mean to have a good on-ramp for beginners into a platform, right? Good forum support, like all of these things. From my perspective, I come in from the, I like to teach things, which makes for a good DevRel, both in events, running workshops, but also writing decent documentation and knowing how to plug technologies in together. So as DevRel in Edge Impulse, I'm not creating much or any of the actual core engineering. I'm working on, right now I'm finishing up or handing it over, but it's a Python SDK for Edge Impulse where it's, you know, I'm writing some library, I'm writing some code, but it's a way to interact with their core product. So it's kind of ancillary. So that's another aspect. And then it's knowing like, oh, I understand these boards or these technologies and let me show people how to take this technology and plug it into this technology. Here's an example. Here's a course. Here's content. So it's, you have to enjoy, to me, it's like that teaching or the presenting or the writing side of it just as much as the engineering side.
Chris Gammell: Yeah. That's interesting. Yeah. And it's interesting to break that out as like, yeah, we're both in developer relations for now. You are moving into your own space, which is great. And yeah, I was actually thinking more broadly than just developer relations, but yeah, definitely content is a huge piece of developer relations as well. So that's a good call out. Yeah.
Shawn Hymel: Yeah. Like what's, what's it like from your side? Cause like I have my limited view of what is DevRel like, but it's a weird wide field that can encompass a lot of things.
Chris Gammell: I think I've said on the show before, I really don't like the term developer relations because first off, it's a, it's a software thing, right? We both work at software companies, right? So like, of course we would be called that. I would call it applications engineering, right? That's really, I think that's still encompassing a lot of this stuff, maybe a little bit less so on the content side of things. But the real thing I don't like is if people are listening to this and they're like, Oh, Sean and Chris are both in developer relations. Maybe I'll look at this as a career path. Beware. There'd be dragons in terms of like DevRelCon is a conference for DevRel people. And it's just not my flavor of like, Oh, how to live a balanced, you know, how to have work-life balance while being DevRel or have, you know, like just like all these soft topics that are just so like this own lifestyle that's additional that is very much, I think from the software world, because it's, it's a big thing in the software world. And I would caution anyone who looks at it. There's a lot of fluff in, in, in, in, and amongst this stuff. I think the stuff that Sean laid out is actually very good explanation, the content and the training and the document documentation is a much bigger one than I ever thought. And then the hands-on and the building, you know, if you're like you and I both are hardware adjacent as well. So kind of smushing together hardware, firmware, software, cloud, all that stuff. That's, that's really the kind of the stuff where you and I really are in a very similar space. I feel like.
Shawn Hymel: Yeah, that's, that's so true. And I think you have to have a technical background coming to DevRel. Like, I don't know many places that, Oh, really? You, you, you disagree.
Chris Gammell: Oh yeah. I just go watch those talks from that conference that I'm talking about. Like nothing against it. Like, it's just not my cup of tea really. Like I, it's, it's not, I, I just, I get all these emails about it. I'm just like, ah, I don't like it. I don't like it. You want to say more on the technical side though, is what it sounds like. I do. That's exactly what, that's exactly what, that's a much better way to say it. You're much more well-versed at saying nice things than I am. Yeah. Yes. I just want to be in the technical realm, but the type of companies that would have DevRel software type companies, I just don't, I don't fit in. I don't fit that mold otherwise. So like, it is me that is, you know, like I am on the periphery. I'm what Jonathan who started Goliath talks about is user number zero, user number one. That's really what it comes down to. So a new thing comes out from the software team. It's like, all right, let me go try it on hardware. Let me go try this, push it together, that sort of thing. And like, I'm very much resonate with that. Like I want to be struggling with new stuff and trying out new features. I will never be writing those features though.
Shawn Hymel: Yeah, no, that makes, that makes sense. There's also other terms like developer advocacy, developer evangelism, and I think it was like Microsoft. There's like DevRel, and then there's a dev advocacy team and a different evangelism team. So where they actually split out the different functions of like evangelism, they go out to conferences and evangelize. Whereas the advocacy works, the forums works closely with users and their job is more to understand where the users are having problems and bringing similar requirements, use cases back to the engineering team. So since, you know, we're- I talk to the customers, God damn it. What's the matter with you people? What does it say? What would you say you do here? Kind of, kind of, but it's more like understanding the zeitgeist of the whole user base and the people like, what issues are they having? And so sometimes, sometimes engineering teams are really open to that and work with the DevRel teams. Other time, it's just like, no, your job is to write documentation and go to events. Yeah, right. Exactly. Depends on the company.
Chris Gammell: Yep. Yep. So do you think in your new course kind of realm that you'll be doing more hardware as well? Then what are the courses going to look like? Do you have an idea? Do you have them lined up?
Shawn Hymel: The two I've got lined up for the rest of this year. The first one I want to do FreeCAD and 3D printing. I haven't noticed- Ooh. Yeah. I haven't noticed much 3D printing intro courses. There's a ton of content for 3D printing out there, right? Yes. You search for 3D printing in YouTube and you get everybody's channel under the sun. And it's so cool to watch, but I haven't found many, I don't know what I'm doing. And how do you set up a 3D printer and understand what's going on a slicer in a generic enough way that you feel comfortable tweaking, troubleshooting and whatnot without going, oh, you have to use this one particular model of 3D printer. It's a little tricky. I see.
Chris Gammell: Yeah. That's interesting. Yeah. What about, oh, sorry. You were going to say another one. Oh, I want to come back. I want to come back to FreeCAD. I was just about to go there. You were. Okay. Wait, so those are two different things then.
Shawn Hymel: FreeCAD is one. 3D printing is another. Yeah. So I kind of build it as like intro to 3D printing, but it's probably going to be like a handful of episodes on intro to actual 3D printing. Like what is a slicer? How does a 3D printer work? And mostly focusing on like additive process and understanding the configuration in a slicer and how do you troubleshoot my first layers not sticking, which happens to me all the time. Right. Glue stick. Yeah. But then I want to spend probably like eight plus episodes on FreeCAD because I think FreeCAD is actually in a really, really sweet spot right now. It's like KeyCAD when KeyCAD released, I think like three or four. And we saw that migration from Eagle and like Altium and where they started clamping down on the free stuff and Eagle was bought out. They started charging. And so a lot of people started tending towards KeyCAD because it's the true open source option. And it was finally in a usable place, right? Before it was like KeyCAD 3. You know, because you did the videos on like 3D or whatever it was. Yeah. And it was like kind of rough, but it got to a usable place. And now it's like really good. And FreeCAD. Oh man, eight is so great. I just switched over. It's so good. I haven't laid out a board in like four years.
Chris Gammell: I feel embarrassed. Now you're going to have time. Exactly. You could do another course about it, you know? I think there's... Yeah, I could do an update. There are a bunch of courses now though too. So Petter was on the show and he has a course. And Peter Del Maris is another one. The Aussie. Like there's just a bunch. It's great. I haven't made a KeyCAD video in a long time. I don't think I need to, honestly. I mean, there's so much good content out there. It's really, really nice.
Shawn Hymel: That's how I feel too. There's so many people making content. I'm like, can I really compete with some of these? Because they're really, really good. And so I try to continuously find spaces that aren't covered very well. That's what I try to do.
Chris Gammell: And so... So you're telling me, Sean, that FreeCAD is not yet perfect and it needs some assistance? Is that what I'm hearing? What? I don't know what you're talking about, Chris. But yes. In case people don't know what we're talking about, give us a lay of the land for FreeCAD
Shawn Hymel: first. Sure. It's a 3D CAD software like SolidWorks or Fusion 360, but it's the actual real open source version of them. And it's been around for, gosh, 10 years or something. Somebody's going to know better than I am. But yeah, a long time. And the biggest reason people haven't used it is because, well, frankly, it's kind of janky. They switched over to this thing called part design, which is a particular workbench, which changes how the flow works. So my understanding is it's a little closer to like Fusion 360 where it's like, oh, I create a body and then I can click on a face and I can create a sketch on that face and then I can extrude from that and do stuff. And so you build out a part rather than I build a body here and a body here and I add or subtract them. It's a little bit different. So it's more like a logical step flow rather than like amalgamation of bodies. So you can still do both or one or the other and you can kind of combine them and it's wonky. But in this part design workbench, the biggest issue is it suffers from the topological naming problem where you try to create a face or you create like a body. And then you say, oh, I'm going to attach something to this face. And then you try to go back later and change that original body. And like all the naming just gets completely messed up. And so your whole sketch from or sorry, pointer to a pointer to a pointer to a pointer sort of thing, right? Yeah, it's it's like basically like the pointer doesn't exist anymore. And so three cat tries to guess at the next best thing and you will find that your entire part is just broken.
Chris Gammell: And it's awful to fix. Give us into the spider verse across the spider verse where like they have that like animation style that just goes completely wonky and like neon. My 3D models do that basically. They're like, oh, did you mean rectangle or did you mean septa duodeniegel mangle? You know, it's just it's just completely off the charts. Yeah.
Shawn Hymel: Yeah. And the error messages are like less than helpful. It's just like cannot recompute. It's just like I give up and it doesn't tell you what broke where. And so like I've been using it for a few months and I start to learn, oh, I know this is a topological naming problem issue. So I kind of know where to go look in my sketch now. But the error messages are just useless beyond useless. You know how to fix them too. Ish, ish. Like I'm working on a project right now where I had to go back and change something in the design and the topological naming problem broke everything. So I know where to go back because I know that's what I changed recently. So it's it's more like mental in your own head.
Chris Gammell: Like back back to the future of two where you're like, you can't change anything or else you disappear off the map. Right.
Shawn Hymel: It's not untrue. It's kind of exactly like that. But they have a nightly or weekly build showcasing version, I think, point two, two, which I've heard rumors is going to become the actual one point oh, a freak had fixing the topological naming problem. I have not played with it yet, but it is very like probably this week.
Chris Gammell: You and I both are fans of mango jelly solutions, which is the YouTube channels. And mango jelly was previewing some of those point two, two as I saw. So that's great.
Shawn Hymel: That's what I saw. It showed up in my YouTube feed. I'm like, oh, click on this video. And I was watching his stuff and it's really good. So it's very promising. And I think that if I can do this course and they release at least point two, two or one point oh, whatever they decide to call it around the time I release this course, I'm going to be able to absolutely nail that free cat shift and really sell free cat is like that'd be great. Yeah. People should switch over to free open source software because now it's usable. Yeah. I mean, like, don't get me wrong.
Chris Gammell: I love fusion 360. It was great product. Onshape is really nice when I've tried it. Even the traditional ones. It's amazing what you can do in those things. It's just you are completely locked into them. There was just no like there's no ASCII file. There's no capturing. It's like Onshape. You don't even I don't think you even see your own files. I don't think you own files anymore. Like you're just renting server space. And it's just that is very frightening in a general context.
Shawn Hymel: Right. So, yeah, I do not like that method of can I have the file? Can I open it on like a free viewer or something like or I can export it? It's like, nope, you can't have it. So I hate that concept of I don't actually own the file. I get it. I don't own the software. That's fine. But the file I created.
Chris Gammell: Yeah. Yeah. Right. I mean, we are definitely in the in the era of we're not buying the software. We're renting it. Right. I mean, but still, it's yeah, it's it's not great. Yeah.
Shawn Hymel: That subscription model is just eating the whole software world right now. They all want a piece of it.
Chris Gammell: Yes, totally. Yeah. Yes. Yes. And it's interesting. So now from a course perspective, do you. So say like point two, two comes out in time for this sort of thing. One of the problems that I've always run into key cad three, four, five, six, seven, eight, where it is the kind of where do I click problem? And this is like endemic to just UI general. Like, how do you make it so that the course lasts longer than, you know, until point two, three, as it were with three cad.
Shawn Hymel: Yeah. When they move something. It kind of depends on the software and how much they change. Most of the time, as long as you're not more than a couple of major version iterations out, users can usually find it right. Users can figure it out. Yeah. Right. It's hard to update the videos like on YouTube. You can't really update videos. So I could create a new video that shows this stuff, but then that's a new video. So you might as well just label it as, you know, here's the updated course and it's version eight instead of version four. Right. So you might as well. You're doing everything again at that point. Right. It's like, yeah, then you have to like kind of do a wholesale renewal. Right. Exactly. And that's kind of the nature of just tech in general. Like any of the tech books that come out or videos or courses, you assume you've got like a one or two year window when it's really useful. And then it just kind of dies. Like you just have to be okay knowing that this is the, you know, the temporary ephemeral thing you create and it's going to go by the wayside. Unless, unless you're talking about like, oh, intro to C or something. Right. Like that's kind of different.
Chris Gammell: But I think even, you know, like even the methodology. So like if you're learning 0.22, here was one of the problems that I had when I was learning 3D, you know, parametric modeling. I didn't actually care about the software underneath. You know, I was learning fusion. I learned on fusion 360. I loved it. And I knew it was going to move on, but I still needed to just learn parametric modeling. I just needed to like know the basics of how do I reference? However, you're going to reference something. There's going to be like a, I'm going to do a ratio metric, you know, one line is at one X and the other lines at two X. And I need to be able to figure out how to just do that and understand the modeling perspective and having calipers in my hand and actually measuring stuff, entering it. Like that is a different, that's kind of like the meta skillset that then is going to be different than the software tutorial itself.
Shawn Hymel: Right. Sure. I think the same idea applies to like programming languages, right? You learn one. Right. Right. And you understand certain terminology, certain concepts, right? If I know how to make a linked list in one, as long as I understand the syntax, I understand what a linked list is and I can do it in another.
Chris Gammell: So it's the compiler beats me over the head when I'm wrong until I, yeah, until I figure out that I'm not in C89, I'm in C93 or whatever it is.
Shawn Hymel: Or JavaScript. You're like everyone's favorite. Yeah, exactly. Yeah, right.
Chris Gammell: Exactly. And so you're in a totally different language. You didn't even know it. So yeah. Yeah. Semicolon. What's that? Yeah. Or ask ChatGPT, right?
Shawn Hymel: Yeah. Yes. Yes. But I think it's easier for programming languages. A lot of those concepts are very similar, especially in your procedural languages going from one to the other. Not too terribly difficult. Same kind of applies for board layout where, oh, I learned Eagle. Jumping to KiCad, not that hard because I understood the basic flow. I just need to know where are the buttons to drop a node, connect pins. How do I define a pin, right? And I think the same applies to CAD software or modeling software. Especially this parametric style where it's like, oh, if I come from SOLIDWORKS, all the terminology is kind of the same. It's just harder to find stuff in FreeCAD. And you'll have to forgive me. I forget the names of it. But there's the two styles of modeling and the older style of, oh, I make parts and I do like Boolean operation with parts to construct it versus now the sequential thing of like, I make a body and then I sketch on the faces. I forget the names. There's two different styles. But once you know one, you can go to a different software as long as it's using that style of flow.
Chris Gammell: Yeah. For our purposes, let's just pretend like it's like Kung Fu. It's like tiger style and I don't know, eagle style. Yeah. Or for me, dancing. Names are hard. Yeah.
Shawn Hymel: There you go. Dancing. Yeah. Like one swing and one what? Swing is kind of my main one. And then I've been doing some salsa bachata recently trying to learn that. I don't know the Latin dances very well. Okay. All right. But learning to lead from one to the other, you know, you start from the beginning. That's like the really bum part of like, oh, you know, I've been doing swing for 10 years and then I go to do salsa and I'm like, oh, I feel like a total noob again because I don't know the moves. I don't know the footwork. Sure. Sure. But you do have better control of your feet as an analogy, right? Yeah. Yeah. It's like, you know, you've increased that learning stat. So it's like, oh, I can pick up moves faster because it is similar to something I know or the lead, the lead follow is similar. So I know those things. I don't have to learn those from scratch. So you learn it faster, but it does suck having to be like, oh, I'm back to, you know, being a beginner again.
Chris Gammell: That's true. That's true. Yeah. Yeah. That's interesting. One thing I've always thought about with like learning too is like, it sounded like when you were talking about like, I want to do more of the process, right? I want to, I want to do the 3D printing and the electronics and the code and all this other stuff that, that kind of sounds like my MO as well, where it's like, I don't want to just do the one thing and hyper-focus on that one thing. And yet I feel like the people that are best when they're learning, they are kind of like the hyper-focusers and then they just jump to the next thing and hyper-focus. How do you teach that sort of stuff? How do you kind of guide people in a, in a way that makes it easier for them to pick up
Shawn Hymel: stuff quickly? You're assuming somebody is like, I've never done this before. I'm a beginner, not. Yeah. Right. Like I'm trying to go to the next thing. As a beginner, what I find it can be really frustrating to sit down and learn this because I don't have that skillset to do it. Right. Like I might have an idea for a project and I'm like, oh, I want to make this widget that measures house temperature or something, but I don't know any embedded systems. So, you know, I, what do I start? Arduino. And you're like, I don't know C. And so you're frustrated. Like, oh, now I have to take a course. Now I got to get a book, blah, blah, blah. So you sit down and you're like, I've got to put aside time for an hour. And I just want to make a thing to, I want to solve this problem. And so I personally struggle as a learner to go, I know I need to get the skills. So I should put aside like an hour every day to learn the skills, which is what I've been doing with free cat and mango jellies videos. Like, let me go through one of his videos and learn this, this new concept. So as a teacher, I try to keep that in mind and I try to make the videos bite-sized enough that I can both cover a topic or a concept in like a theoretical sense, demonstrate it with code or the tool or whatever. And then ideally give the students something to work on as a next thing. Like, here's a challenge or ask a quiz or, you know, ask some questions in a quiz or something to be like, make you think I'm like, okay, how can I start applying this to build them? And so I try to keep everything bite-sized in that sense, knowing that I'm going to probably have people's attention for at most 20 ish minutes. Yeah, right, right. That's, that's what I find. And then what I try to get to is I try to do, I think in the education world, it's called scaffolding where, you know, you start off with, okay, let's think about where the students probably are coming from. Maybe they've got Arduino. Maybe they've never seen Arduino, right? What are they coming in from? I'm going to teach something a little more advanced than that, right? So the next course I want to teach is like Zephyr. And so it's like, okay, let's, let's assume somebody is coming from Arduino. What do they probably know in Arduino? Some C++ syntax, blah, blah, blah. And then, so it's like, what are the concepts we can demonstrate? To build on top of that, like, oh, we're going to do GPIO. You probably know what a GPIO is. So let's talk about how we do this in Zephyr. Great. Now let's talk about I squared C. Now let's talk about writing your own device drivers, right? And so we start building up to like the more advanced stuff. And at some point, and this happens to me too, when I'm learning, at some point, I get halfway through whatever tech book I'm working on. And I go, I feel like I have enough skills and enough knowledge to do the thing that I need to do. And so I have student drop off, whether it's from people getting bored or they feel like they've reached a point they can do, go do the things they need to do. So my hope is to give them enough building blocks that they can go accomplish the things they want to do with that tool or programming language. And it's like, how do you get people there? And then make sure you just cover the more advanced stuff kind of at the very end for people who want to stick around. So I try to cover those big blocks first, if that makes sense.
Chris Gammell: No, that's great. That's really great. And I didn't know you were going to do Zephyr next, but. Oh, surprise. Yeah. No, I mean, it is sorely. I mean, so that's something that I help on at Goliath as well. And it's like, there could be a thousand tutorials on Zephyr. And it really, like you mentioned, where people are coming from. If they're coming from like embedded Linux, I'm like, you're going to be fine. Yeah. But if you're coming from like, you know, bare metal programming, like, oh boy, get ready. Get ready for some weirdness. Yeah. Start top down. That is that is my number one thing that I say. Start top down and start tweaking stuff, you know?
Shawn Hymel: So that's you bring up a good point. Once again, I ask you, Chris Gammell, I hope you don't mind if I take on like doing some content that you're also working on.
Chris Gammell: I don't care. No, this is all stuff that needs to be done. I mean, like it's yeah, it's like, oh, well, there's this one course. He solved it. You know, there is not that. That is not a thing, you know, and people need help on a lot of things. And it's such a specific with Zephyr. It's such a fast moving field. I don't know if you heard Carlos. He was on embedded.fm as well. You know, just hearing about like how first off, how they build Zephyr. Carlos is one of the leads at Nordic. And it's such a big project. And there's so much changing. And it's getting so much adoption. It's just there's it's such a big, big field that people can jump into it any at any space. So, yeah. Don't worry about me, Sean. I'm going to take your course. I need to get better at it.
Shawn Hymel: And I've been doing it a bunch, too, you know? Yeah, no. And that's actually one of the inspirations was that virtual course you gave that was intro to Zephyr with Goliath. You know, may help me understand both Zephyr, how you teach this stuff. And it's hard. Like you did it in like two hours. And it's so it's a huge project. There's so many things to cover in it. And so it's exactly like you said. This is the problem I ran into. I came from the bare metal world where it's everything is a super loop. I'm writing I squared C stuff by hand. And then suddenly you're like K config. What the hell is K config? And so if you're coming from the Linux world, great. But that's right. Yeah. Yeah. That's where I plan to go. It's like, oh, somebody probably has Arduino experience. You know, that that lower level. I'm used to like bare metal or Arduino. How do we get them to do this? And it's probably like, OK, we're going to introduce a device tree and we're going to write our own driver and plug it in and blah, blah, blah. So I'm going to probably do bottom up where, you know, maybe I'll start with the top down of like, oh, here's a board. Here's a board config. Here's how we blink and read a sensor. Now that you know how to do that, let's jump into writing your own stuff because using to me making something really useful means extensibility. And how do you teach that going beyond just the here's the demo board? Because not many people are going to deploy with just the demo board. Not going to happen.
Chris Gammell: Yeah, I really did. I really liked your you did bottom up on the free RTOS. So that was one of your DigiKey series, right?
Shawn Hymel: Yeah. Yeah. Like, yeah, I did free RTOS. I wanted to teach RTOS concepts. And so it was a what's a good board and good platform. And free RTOS absolutely nailed it because it's like a bare bones scheduler. It's so good for teaching multi threading. Exactly. That, you know, bare metal level.
Chris Gammell: It is that same thing where like, so like this is stuff that I run into a lot when teaching Zephyr or talking to people to free RTOS or whatever. Like the expectation in free RTOS is that you're starting from a scheduler and kind of adding stuff on. What often happens, this is what I always kind of point out with ecosystem versus RTOS as well, right? Zephyr is both. Zephyr is an ecosystem because all these vendors are involved and they all, you know, they all are basically making their own compatibilities with the quote unquote Zephyr way of doing things. But at the core Zephyr is, it has a kernel and it has a scheduler and it has all the stuff that is, makes it go. And then it has all the peripheral, sorry, all the subsystems that make it interesting and cool and very full featured. So a lot of vendors will take free RTOS, which is this, you know, starts from bare bones. So like Espressif, ESP IDF is based on free RTOS, but it's really the ecosystem of ESP IDF is built on top of free RTOS. And then they layer on all of the capabilities of things that Espressif parts can do. And that's really like the differentiation. So ESP IDF and Zephyr are both ecosystems. Zephyr and free RTOS are both RTOSs, but then like, it's just kind of which direction you're coming at from them, you know?
Shawn Hymel: Yeah, it's so true. And like ESP IDF is still unique to Espressif stuff. And that's to me where Zephyr is going to shine in the near future of ideally it does what Linux has done to the PC world of let's bring all this hardware together. We can have a common kernel, a common scheduler. And so if I'm just writing application code in theory, right, this is always in theory with embedded systems is I can write application code and rely on these Zephyr subsystems to handle all this for me. Like, oh, I just pull in a TCP IP stack and I can just make get requests, which would be freaking amazing as opposed to having to write that. And I know that like free RTOS, the like Amazon version has some of those subsystems there that you can maybe use depending on the chips. But it's like dealing with all the drivers and the disparate hardware, the actual like microcontroller and processors and architectures. Like that's where it becomes an issue. So like you said, as it is an ecosystem with more and more partners coming on board, hopefully we get to a point where I just like I pull in these drivers, I write my application code and I kind of don't care what hardware I deploy. I just pick the chip that meets my processing and price needs and I don't have to write these drivers from scratch or like learning a new how or anything like that. So I'm very hopeful. Like I am fully invested that Zephyr is the future.
Chris Gammell: Yes. Kites everywhere. Yep. Yeah, it's it is exciting. It is. It's a sharp learning curve, but that's exciting that you're going to make a course on it, too, because that's going to that that'll help a lot of people, I think.
Shawn Hymel: Yeah, I think we're at a good place for making such content. A couple of years ago when I played with it, it you know, they still very much are like Windows. Haha, get out of here. But my hope is that I can use like a Docker container. And I think this is what you guys had done at Goliath is let's use a Docker container. And you just pull that and you can have the build system ready to go. So it's like, I don't care what your host systems. No, you all use Chasm. You all you all had people log into Chasm.
Chris Gammell: We did have Chasm. Now we use we use Codespaces. That's Codespaces is definitely the that's the way to do it because it's also browser based. Chasm would be great for like a free CAD type of thing where if you maintain the build. Right. That would be the best for that sort of thing. But you would need to have GPU support. And then like it wouldn't be a great experience because it's pretty graphic heavy. Right. But that's something we tried to do in Contextual Electronics a long time ago where we did Vagrant. I don't even know what it was. It was Eric was one of the guys working with me who set up a Vagrant system. So it would be like you didn't download STM32 IDE tools and stuff like that. It was all just like you click the link. It downloaded this container and just kind of ran on its own. I didn't understand how any of it worked. But that was kind of the idea where it's like this it's the best case scenario would just be a virtual machine to be honest that like anyone could run. But those are expensive, fortunately. And if you need USB support, it's problematic. Like it would be best if everybody could just get like a free license of VMware. Like that would be like the best case scenario. And then if you could redistribute as well, that would be my preferred thing of doing teaching. But that is not economically realistic.
Shawn Hymel: I tried this. Really? Oh, okay. Yeah, I did an intro to embedded machine learning course. I think it was. I flew out to Harvard because one of their professors. Oh, Mr. Professor here. No, no. Like just name dropping Harvard.
Chris Gammell: Golden elbow patches.
Shawn Hymel: Right. Oh, yeah. I got to work my way up for those. That's right. Professor Reddy at Harvard works closely with Edge Impulse, which is how I got in touch with him. And he was like, hey, can we fly you out to do a workshop? Like, yeah, absolutely. Let's go. And so it was like this three-hour workshop. It was all on an Arduino board using Edge Impulse. I think we talked about this. Yeah, right. This was the magic wand one. Is that the one you did often? Yeah, it was the magic wand. It was either the magic wand or it was the rock, paper, scissors. So it was using that camera. And because it's like black and white, it can look at your hand. And so you'd collect data and be like, oh, are you doing rock, paper, scissors with your hand? Either way, same idea. Little Arduino board running local inference. And I initially tried to run that with a VM where you can get, you know, VMware, like whatever free version. And I made these, like I made a VM and it was just like, here they are, you know, little thumbsticks, little USB thumbsticks and people copy them. And Apple like puked all over it. If you had like an M1, it was just like, ha ha, no, I'm not running this. You need to do all these things to the VM. And I was just like, oh, this is, this is worse. This is, this is worse than having people locally install. So I'm going to keep playing. I'll try Codespaces. Chasm was a really cool idea.
Chris Gammell: I was really surprised. Okay, this is just a totally random thing that went wrong, but maybe it would work. I switched out my, my laptop stick. I had like SSD and I had Linux Mint. And I was like, for some reasons, I wanted to just switch back to Ubuntu, which is what I'm running on the machine I'm recording on now. And so I had bought, I had one of those, you know, little M2 SSD to USB-C things. Yeah. I had it. I was like, I need to access the file. So I plugged it into my computer and then it still had the boot partition on there and it was plugged into USB-C and I restarted the computer and it booted off that disk. And I was like, oh, what about that? I don't know if enough machines would let you do that, but that would be, that would be the real jam where you show up with just a bunch of SSDs and then you're running off pre-flash sort of things. Like that's basically the version of what Joe Fitz does when he rolls up to training hardware security trainings for Black Hat and he has actual laptops and that's like heavy duty. But if it was like a bag like this, instead of like a bunch of Pelican cases, that would be the jam. Cause then you'd have access to all the other hardware peripherals too. Yeah. No, that would be, that would be super cool. I might have to try that. I just, I don't think that would, that wouldn't work actually. Nevermind. Cause the hardware would be different. Right. So like the thing I installed on there was for this computer. Damn.
Shawn Hymel: Yeah. Cause it's like, that would be great. Like what are my drivers? And it would be like, Oh, I'm on a Mac now. Like I'm just going to puke. Yeah, exactly. Yeah, exactly. Exactly. Memory spaces matter. Yeah. That's, I imagine that like, it's a great idea at spark fun. We did that too. We had the laptop solution. We would just, we just paid to like shift these Pelican cases with like two dozen laptops and we would just train with those. That's yeah. With our education department. That is the most reliable solution, even though it's very fragile, you know, like it's very fragile. Yeah. Yeah. It's, it's the, it's the most reliable, but it is the absolute, the most pain in the butt. And for me, I try to make scalable more like MOOC style where it's like, Oh, you watch this and you can do it on your own time. So most of my contents there, but if I have to teach a workshop, you know, in person's way different than I make a video. So it's just different medium. Yeah. I don't know. I'll keep playing with Docker. I, this is so stupid, but I just discovered the other day that VS code, you can like SSH into a space. Right. I'm like, it's probably been there for like 10 freaking years and I just discovered it. So it's how I do Raspberry Pi development. I just SSH with VS code and I just do everything from VS code. Yeah.
Chris Gammell: That took me a long time too.
Shawn Hymel: I feel so silly, but, but I wonder if we run a Docker container that exposes an SSH port that, you know, it has the build, it has West and it's got all the build stuff. Can you, you should be able to VS code into that, but you still run into USB issues is my understanding. So I'm just like, Oh, how do we do this? You haven't solved the USB thing yet. Have you?
Chris Gammell: No, that would be a good one to talk about. Okay. There, there is some stuff coming through and like web USB and like some, it's just like, this is the same thing where we're getting deep now, Sean. I know this is the same thing I talked to Chasm about where there was like, you know, you'd basically need like a host side, like my laptop now would have to be running like a Damon. That's listening for commands. Or alternatively, one thing we looked at was running a J link server locally. Right. So like I have a J link plugged in, you can have a TCP address for that thing, but then you'd have to have a tunnel to your box, right. From the remote container that you're on, even though that's on the same browser. So it's just like, okay.
Shawn Hymel: I'm going to propose, I'm going to propose a joint project right now, Chris. Sure. And that is, that is to lay out a board, throw on their, like, I don't know, a CM4, whatever's like really the basic Linux module that you can just drop. Like the, remember the BeagleBone little modules or the CM4, one of those, it does not need to be very powerful. It just needs to run the compiler and the tool chain. And I went, okay, for Zephyr, I don't, I don't know how much power that requires.
Chris Gammell: Right, right, right. Yeah.
Shawn Hymel: Right. And then, so that exposes an SSH port and you configure all the USB, it has a USB host, but then it's got a USB client that you plug into your laptop and you SSH into that. And then that shows up on your own VS code and that handles all the backend stuff and talks to USB.
Chris Gammell: I don't know. Yeah. And that's actually some, so that's something I've talked to someone who did that as well with remote setups. Oh, I'm blanking on his name right now. Yeah. But I'm blanking on his name right now. It was, it's called Senate lab and it was like super cool. He was doing it to help students in Egypt who couldn't afford like hardware, but wanted to access it. So it was like shared time server. And I feel so bad. I can't remember his name, but someone that he was doing great stuff there. Tarek. Tarek. Yes. Tarek from Senate lab was doing that and it's super cool. So maybe that's the person to talk to. Yeah. Okay.
Shawn Hymel: Very, very cool project. Basically rolling that, that is great for something like that. You could bring to workshops and like you could say, like, didn't you do this? Didn't you do this at Supercon where you like set up a Chasm server? I roll up with my laptop and it's running the Chasm server and people just.
Chris Gammell: It was, it was running on a, that was running an AWS, but like on the West, on the West, Western instance. So yeah, it was still like wifi thing. Yeah. It would be, there's just, yeah, it's tough, man. It's tough when everybody shows up with a different laptop, but yeah, that's, that's enough. That's super insider baseball between you and I, we definitely will continue talking about that. I want to talk a little bit about, so you've worked at Edge Impulse now for two, three years? How long? Two, two and a half. Yep. Two and a half. Okay. People are listening. What should they, what should they know about like ML and maybe more broadly, just kind of the AI sphere, right? So this is stuff that's, you know, been, I'm sure people are getting asked this sort of thing at their jobs. Like, Hey, you know, you have to do AI, ML, whatever, like machine learning. You have to work with cameras, stuff like that. Where should people go? If they want to like upskill themselves for work that is coming down the pipe, new parts that are coming down the pipe, new things that, you know, employers are going to ask of them generally, maybe not in specific scenarios, where should they be looking at learning?
Shawn Hymel: So the absolute best intro to AI machine learning is Andrew Ng's course on Coursera. That hands down, he, he is, you know, amazing AI researcher. He puts stuff in a very approachable manner. He recently updated that course. The one I took, we had to use MATLAB and he's recently updated to actually Python, right? This was like pre Python numpy kind of era when I, you know, I took it and just before they updated it, but he made that course 15 years ago or 10 years ago where it was like, right. Numpy wasn't the thing it is today, but that's where I would go. And you, you start to understand the basics of neural networks. That's where I learned it. And then I think the new version uses numpy. I don't know if they're touching like TensorFlow or whatever, but I would do that for the foundational. Okay.
Chris Gammell: It's like, so now I'm just going to work from my own experience, right? I've done like a little tiny bit of camera type stuff, right? And that's often the things that are being trained with neural nets and gesture recognition or hot dog, not hot dog is the classic example. How much do we really need to understand, you know, like you were talking about scaffolding before and I'm like way down to the bottom rungs of the scaffold. How much do I need to understand neural nets to be able to actually implement and build a thing? Am I going to be like hamstrung if I get halfway through like a training session using some software like edge impulse or, you know, just all these other ones that are out there. I don't even know the name of them. TensorFlow. And like, I don't know what's going on. Am I going to just be tweaking knobs at that point and just be like, oh, I hope this works.
Shawn Hymel: So, so you don't actually need to know much about how neural networks operate, right? You can, you can treat those as a black box, which is really nice. And in a lot of cases, like the more advanced ones, we humans treat them as black boxes because we're like, we don't know. There's a whole problem with explainability and AI where, you know, chat GPT makes decisions and we're like, how did it make that decision? And people are just like, I don't know. It's shoving data. It learns and it just makes decisions. So explainability is a big problem. So what that means for you as somebody who's trying to learn ML is, yeah, you can still treat neural networks as a black box. I think it's more important to understand things like statistics and data science so that you understand biases, how much, like when people ask like, how much data do I need? And so if you can't answer that question, who cares what neural networks are doing? Understanding overfitting, underfitting. Yeah.
Chris Gammell: So like a finer point on that, that would be like two pictures is too few, but maybe 200,000 pictures is too many. Is that kind of the idea? Just to like, if we really narrow it down, let's just use the hot dog, not hot dog thing. So now I'm, I'm training the seafood app. I have a set of data and then I'm trying to tell it what it is a hot dog or not. Right. That's what you're saying there. Like understanding kind of like the, the practical limits at that point.
Shawn Hymel: Yeah. The practical limits and what it takes to accomplish your goals in the sense of like, if, if I just need to know hot dog, not hot dog, and I can guarantee, I always have great lighting and a black background and I can control the environment. Six pictures is probably fine. Uh-huh. Okay. If I want hot dogs and a variety of lighting, a variety of situations, maybe some occlusion, maybe I've eaten half the hot dog. Now we start getting in, I need to train a more robust model. So understanding data science of what creates a good data set. And then how do I analyze my model? Whatever the model is, it could be a support vector machine. It could be a neural network, whatever it is. I know what's going to work. Cause then I can say, let me just try different models. Like I can use scikit learn. I can use that Jim pulse. I can use all these different tools that are available to me to try to find a good model. Cause the model is just trying to replicate what you told it to with the data. And so understanding what makes a good data set is usually more important than understanding the inner workings of a model. Right.
Chris Gammell: Right. Yeah. So it's an equivalent of like understanding how offset voltages and leakage currents can impact an op amp more than a specific brand of op amp sort of thing. Yeah. Yeah.
Shawn Hymel: Or, or understanding like the actual circuitry that makes up an op amp. You don't need to build the internals of an op amp to buy one off the shelf.
Chris Gammell: That's a good point. Yeah. Right, right, right. Yeah. So it's almost like having a, having a mental model of the ideal scenario, knowing some of the realities of a real world model and where things might fall over and then how you would implement it and where to look for problems. That sort of like troubleshooting it to me is always like the, the most important skill in these things. Cause when things go wrong as they always will, then where do you look and what do you tweak? What do you try? Who do you talk to? That sort of thing.
Shawn Hymel: Yeah. So I would say understanding data science and understanding what makes good data sets is a, the better foundational layer, because then once I need to troubleshoot a model, that's when you can start probing it in different things. Like, let me try three layers instead of two. And a lot of it's just tweaking knobs or there's known good off the shelf models for a lot of stuff these days, especially vision stuff. Like, let me just go try this one that Google reports works better and try this other model off the shelf to see if it's doing better than this one that just like came default. Or I tried to pull out of my own butt just to solve this, solve this image issue.
Chris Gammell: And so when you say like a pre-trained model like that too, what does that practically look like? So I go to, I guess I don't even know. I know so little about this stuff, Sean. It's really interesting. It's like really adjacent to the stuff that I've done before, but it's, it's in the air. That's for sure. You know, I hear this NVIDIA thing. They might go somewhere. Well, I don't, I don't know. Like, yeah. Who's this NVIDIA? I just use them for gaming, right? Yeah. Right, right, right. So let's just go with that example now with, with Google has a predefined pre-trained model. Yeah. How would, how would I use that?
Shawn Hymel: How would I use that? So there's these things called model zoos. And so Google has a model zoo. NVIDIA has a model zoo, like NVIDIA Tau. That's the one I'm mostly familiar with because Edge Impulse has partnered with them. And then, so you just go to a website. Oh, Hugging Face. That's another great one. You can go to Hugging Face. Be like, show me models. And you can usually have like parametric search and be like, it needs to be this big. It's, it does object detection or it's, you know, it's an LLM or I want these use cases. And then you just, you can download this model and in a variety of formats. So like Onyx or TensorFlow or like an H5 or a PyTorch. And there's converters. So if you get it in Onyx, you can convert it to TensorFlow if you want to, if you want to run it on something else in like a different framework.
Chris Gammell: So you said so many words that I don't understand right now, but I'm just going to, I'm going to hand wave past those. Yes. Okay. So these are implementation. So like they're data sets and like pre-trained, like what's the goo? What's the goo inside of these modules? So you have, right? You have data sets. You have models. Is there like a zero and then a one and then a one and then a zero? Like this is where my stupid brain is right now. Like I don't even know. Is it like a binary? Is it like, is it trinary?
Shawn Hymel: What is, what is Sean talking about? No, it's a good question. It's a good question. So there's two different things. There's data sets and there's models. And like. Data set is like the photos of hot dogs or not hot dogs. Yes. Yes. You take a whole bunch of photos of hot dogs and not hot dogs. That's becomes your data set. You can also go to places like Kaggle to download somebody else's data set. Right. If you want to play with a data set that's already out there around some topic that you might want to explore. Right. Got it. And then, so there's also models. You can build your own model and the model takes the data in, updates its internal weight. So they're mathematical models is all they are.
Chris Gammell: Mathematical models. Okay.
Shawn Hymel: That's where the term actually comes from. Yeah. It's numbers. They're mathematical models. Got it.
Chris Gammell: So these, and these are like a Bayesian filters and all that kind of crap that's inside of those sort of things. Yeah. Yeah. I'm just saying words that I know.
Shawn Hymel: Essentially. I know. Right. We just got like word vomit stuff that I think is about right now. That's essentially. Yes. It's, it's things like a neural network is basically a collection of weighted sums. Okay. So you have a bunch of inputs and for like your hot dog, not hot dog, those weighted inputs are just your pixel values. That's all they are. Huh? So those pixel values come in and you might filter it. You might do some things to it, but, or you might filter it. You might edge detection type stuff. Yeah. Right. Right. Right. Right. Yes. You might do all of that where convolutional neural networks come in and it's like the next step beyond basic, you know, artificial neural networks or dense neural networks is it learns those filters on its own, which was, was what makes it interesting. So we can do, we can do convolutional filters, which is an old vision processing technique. But the trick is that the model, as it does this crazy updating and learning, it learns those filters on its own. And then it goes to a dense neural network, which is just weighted inputs, values, their numbers that get some together with some sort of offset, like 0.2 or something. Right. Right. Four. Right. Just some value. And then the real tricky thing is it goes through like that, that produces a number. It's a weighted sum that goes through a non-linearity function, which these days is, I think, ReLU where they just, anything that's negative becomes zero. Like it's like the stupidest operation and computers can do that super simply. And so that non-linearity, when you start combining like that, that's one node. And when you combine a bunch of these nodes together, you can have it start learning patterns. And the tricky part is that learning where it updates those weights in the weighted sums. And so that these training, these mathematicians, these brilliant mathematicians figure out these, all these crazy training algorithms to say, oh, data comes in and we have an output, hot dog or not hot dog. How close is that to my known good ground truth label of hot dog, not hot dog? And we'll define a function that says how close is that. And then we'll update those internal weights automatically using this training algorithm until we get to a point where the output of that model is actually pretty close at predicting those ground truth labels based on my input values.
Chris Gammell: Did I say words that made more sense? I think you may have broken my brain, but yes, I think so. It's wild to me, like, it's all just math. But then I guess you could just say everything in engineering is just math at the end of the day, right? I mean, we were talking about 3D modeling and, you know, Kikad and, yeah, it's all just math. You know, it's just like math and programming. And at the end of the day, though, there's, you know, then there's like a generated photo of like Leonardo DiCaprio, like, rowing a boat. I don't know. I don't know what people are using it for. But somehow this is now the thing that, like, has dominated the headlines as well.
Shawn Hymel: Yeah, Gen. AI is the new hype, right? ChatGPT, LLMs, Gen. AI. That's the new hype. That's where we are. I expect that to do its normal hype cycle. We'll get some really cool, useful stuff. I know I'm using it to help me coding. I can't remember how to do half the things in Python. So I just asked ChatGPT, how do I do this? Yeah, I'm using Gen. AI for that, right? There's controversy around it and all that. I don't know much about how Gen. AI works on a technical level.
Chris Gammell: Okay, so those are different things then, though. Again, like, this is the level I'm at.
Shawn Hymel: Yeah, it's using neural networks. I know that much. And it's taking data in. It's creating these things called embeddings. So a lot of those nodes that I described. And so as you get deeper and deeper layers, you get these things called embeddings. The way I like to think about embeddings is if I think about hot dog, right? My brain. My brain thinks about hot dog. I can conjure an image in my head, depending on who you are, how clear that image is. What does a hot dog look like? And so that reversal process of hot dog, like, that means something to me. There's an embedding, like, in a neural network. And it feeds forward to create this image. And that's basically what these Gen. AI models are doing.
Chris Gammell: Oh, okay. And but it's just like... You should explain things, Sean. You're good at this.
Shawn Hymel: I like this. I should, like, make courses.
Chris Gammell: This has made me feel better, honestly. Like, yeah. I think so. First off, like you said, like, we're in the hype cycle for Gen. AI type stuff. I think even the ML stuff, it's still hype-y, but it's not super hype-y, right? I mean, it's like, it's come into more of like a, oh, there are some practical use cases here. We talked about on the show at one point, just like that. I forget who was on. There's so many shows, Sean. But like, someone was on just talking about, like, capturing and characterizing sensor data. And like, yeah, it does make a lot of sense there where you could start to pull stuff out eventually if you had big enough data sets and stuff like that. I get it. But this has been good to figure out. I think some of it is like understanding what is actually important to users as hardware and firmware engineers. And then what are they going to be asked to do? And then how much do they really need to know to get by? And then if they want to, if they are actually interested, then what else should they go look at too, right?
Shawn Hymel: Yeah, that's true. Like, if you're remotely interested in this kind of stuff, where do you go to learn it if you really want to, like, tinker with it? Because edge AI is here, right? We're still a little bit in that hype cycle. Define that, define edge AI? Sure. It's locally processing stuff, usually like on embedded devices. So like if my phone, you know, hey, Siri or whatever, that's edge AI, that actual keyword of hey, Siri or key phrase. That's being processed.
Chris Gammell: I always think about the ones as I was walking around in Better World this year where I couldn't walk past a screen and a camera and not have a green box drawn around me. That's like, that's my edge AI where it's like, oh, person, square box, you know? Yeah.
Shawn Hymel: It's going to find me. And that's the new thing is getting powerful enough hardware and optimized enough software that we can now do things like object detection, which has traditionally been very computationally intensive. I see. We couldn't do them without really powerful CPUs or GPUs. It's like crunch, crunch, crunch, crunch, crunch. It's a ball, right? Like that sort of thing. Yeah. It would take like seconds and like not particularly useful. Now that we have GPUs doing this stuff, we can do it faster. So I see. You know, your laptop can, you know, 60 frames a second, no problem. Raspberry Pi, you know, three, four years ago on like the Pi 4, that was going to do it in like one frame a second. So like getting too useful and now we've got GPUs and accelerators and these edge, you know, like the Jetson Nano or the Jetson Orin Nanos that are just like 60 frames a second. Like, right. We're so optimized that we can now do object detection on these edge devices. No problem.
Chris Gammell: Got it. Okay. And so that and that might be in the realm of what people listening are already doing or being asked to do or. Yeah, it's not mature, but it is widely available technology depending on margin and battery availability, stuff like that in the electronics sphere.
Shawn Hymel: Yeah, what I'm really excited about is the ARM ethos cores, the like U55, U65, U85s. Oh, yeah, sure, sure. We're creating these coprocessors that are on the same silicon as their main processor and they are just optimized for things like neural network computations. So it's like the Google TPU. It's these like neural processing units that I can just construct a neural network inside of this coprocessor and I can send it jobs. And I think it's Aleph had some of the early silicon for it. And so I saw, you know, it's like a year or two ago, they gave a demo and they were doing like 10 frame a second full object detection. I think with one of the YOLO models, I don't remember which model they were using. But yeah, like see person, draw box around person, face, cat, hot dog, whatever at 10 frames a second, which is really impressive for, you know, a seven millimeter by seven millimeter chip, you know, sipping power.
Chris Gammell: Right, versus like a NVIDIA GPU attached to it sort of thing you're saying. Right, which is like this monster thing. Yeah, right, right, right. Yeah. Okay. And that's the U55, U up to 85? Yeah. Arm has this like infographic. I see these numbers come up, like, you know, like all the chip companies are talking about it. And I'm just like, okay, so it's a processor. Like, what do I, what do I care? What does it run software wise? You know, like, I don't really get it, but, but they should hire someone like you to talk about it. That's smart.
Shawn Hymel: I mean, like, you've got contacts at arm and it's like edit edge impulse is helping to further that, right? It's like all the co-marketing stuff that comes out. Yeah. But I, I want more silicon. I want more silicon actually produced with this stuff on it because then it gives us all this capability in these tiny packages that are great for, I don't know yet, doorbell cams. Doorbell cameras. Yeah. Right, right, right, right. Drones that can identify hot dogs and go eat them in the field automatically. Yeah. Taco copter. Taco copter.
Chris Gammell: You know, I will, I have video of my first taco being delivered to me by drone. It was actually at tour camp just happened last weekend. Oh, did you go? I need to go back to tour camp. I did not. I did not go, but it was at the 2018 tour camp that I went to where we released a bunch of episodes. And I think it was Joe Fitz who was doing all the taco copter stuff. And I think in the background of some of those episodes, people were like mixed on whether or not they liked those episodes. But I had a blast. I don't really care. And taco copter was in the background of some of those, I think.
Shawn Hymel: Oh, that's awesome. I had a blast. I think it was like 2012 or 2013. I went to like their second tour camp and it was so good.
Chris Gammell: I loved it. Yeah. Yeah. Also odd. I interviewed Matt Knight, who was, we referenced in the Charles Laura episode. He was just back on talking about Laura stuff. And Matt Knight did a bunch of like security research around Laura. And then I looked him up on LinkedIn the other day and he's the head of security for open AI. I was like, what? What is going on here? Like, so, okay. We've had the head of security on open AI back when he was not the head of security on open AI. So enjoy all your money, Matt. Yeah, that's awesome. Oh, yeah. Okay. So you'd mentioned, you know, kind of the where people should go if people do want to dive into this space and they do want to learn it. Where should they go to learn that sort of stuff? I'm interested in that broadly, but I'm also interested in, I guess, back to insider baseball a little bit. How are you delivering these new courses you're going to be doing? Are they shornheemail.com or are you going to have a new site or just YouTube? I guess some of that's also how are you making a living going forward, I guess, is a little bit of a question there.
Shawn Hymel: Yeah, the two that I mentioned, the FreeCAD 3D printing one and the Zephyr one, I'm contracted with DigiKey to produce. So it's going to be on their DigiKey YouTube channel. So those will be free. They're picking up the tab. Yeah, kind of, kind of. That's great. So let's go DigiKey. Right, yeah. Yeah, exactly. So that's right now there's a good bit of money making through contracting with companies who, oh, you want to showcase the technology. Let's talk about putting together a full course. So I want to get away from the onesie twosie videos that I used to do because I.
Chris Gammell: Well, I mentioned that the FreeRTOS one had like impact. I mean, you were going all the way zero to zero to something, you know, like that's great.
Shawn Hymel: Yeah, I want people to feel comfortable when they get out of that to work with that technology. That's the goal with any of these courses. Yeah, right. And I found that like the onesie twosies that I would do, I mean, I'm not Mark Rober, Simone Yerch or any of those. I hope I'm saying her last name correctly, but they are amazing creators, inspiration, like the face of this maker wave, whatever. I don't think in that crazy creative way. And so I admire what they do, but I realized I can't do what they do, or at least right now. But I am better at these courses and doing this, you know, zero to something. I love that term, zero to something. I'm better at doing that zero to something and getting people there. And so I might as well lean into that and go, I'm not going to do these onesie twosie projects anymore. They just weren't having the impact that I hoped. So I would do a demo project and usually my demo project would have like an education bent to it, right? Can I showcase using a TPU with this robotics platform? Right, right, right. It would always have an education bent to it rather than just what's out there. How can I make a drone explode using some like less of the YouTube flair, more of the educational side. And so if I'm going to take an educational side, I should just go into making these progressive courses that actually make a bigger impact with people. And so I'm like, I'm just going to lean into that. So my hope going forward is that mostly contracting with companies to do this with the understanding of like, I'm not going to sell you a single video. I can put you in touch with people who are going to do this, but I want to talk about doing a progressive because this is what makes an impact.
Chris Gammell: Like the focus on education versus just promotion, right? And I think that's good too because it's like, first off, from my perspective as just a viewer, I watched the DigiKey logo be with that. It's like, oh, they're funding stuff that I want to learn. That's great. That's a good thing that they should do more of. They are doing more of that. That's great. And then the other thing too is it's not just the saccharine, I mean, not saccharine, but like, you know, just the fast hit type of stuff. It's like people that are digging in, it's going to build brand equity for you, for the company hiring you, that sort of thing. So I think I'm a big fan. That's great. Yeah.
Shawn Hymel: Yeah. So that's the new plan is to not do engineering consultancy and not do these one-off videos. The other thing that really stinks is, you know, some, you know, name a chip vendor that you don't know comes to you. Chris Gammell is like, can you make one video and show people how to do use this? And so it's like, yeah, I have to spend two weeks learning your build system. Right. And I have to make a demo, which is like another week. And then you're like, you don't understand, like, it's not just a video, right? If I know your tech, if Arduino approach, yeah, I could throw something together with Arduino real fast. But if somebody approaches you and it's like, yeah, I don't know this build system, blah, blah, blah. I'm like, I got to spend like three weeks learning this build system to do one video. So I'd rather be like, let's do a full progressive. So I learned this tech. Now we do a full progressive. Bring people with you. And yeah, totally. And it makes more sense with my time as well. Let me give you more value. And then I can spend, you know, if I'm going to spend three weeks learning this thing and then it just goes in the bin, that's a waste of my time of what I can bring and what I'm learning too. Yeah. And then, oh, let me ask you this. Because I've played with the idea of running my own course, like putting it behind a paywall. You've done that, right? You did that with some of your like contextual electronics.
Chris Gammell: Technically, I'm still doing that, but it's much, much declined from the yesteryear. Yeah. Okay.
Shawn Hymel: So like, like, is it, did you, did you find it was enough to be like, oh, if I had put effort and maintained it, I could live off of this? Or is it still like, man, that is a rough thing, like trying to sell your own courses?
Chris Gammell: Well, I have friends that do it. Michael Cheich, who's runs electronics programming academy or sorry, PEA programming electronics academy. Sorry, PEA. Yeah. Yeah. So he still does that. And he's got people, he's kind of teaching at the Arduino level on up and he does content creation and just great marketing around it. He's still doing that. And yeah, he does a great job with it. I think the hard thing is how are you finding, where are you targeting kind of the people coming in? What are you offering them? And then what is the expectation? Are you like trying to sell them kind of additional content? Or is it like, they just kind of, there's like the product side of like selling someone a thing. And some people will go for that and some people don't, they just want free content. That's fine. And then do they get through it? Because ultimately the ones that are going to have the best reviews of your content, the best, you know, like to recommend it to other people, like, hey, I learned this great thing from Sean. They need to get through it. And that alone is enough of a support thing that you might, it might become overwhelming to me. That was, that was a very, very difficult thing from my perspective, trying to do that. Like if you're trying to build a new thing, but then also support the old thing, growing that content catalog, it becomes very onerous.
Shawn Hymel: Yeah. I imagine you did a subscription model, right? Where it was like subscribing, get access. That's right. Yeah.
Chris Gammell: That's right. Okay. Yeah. Yeah.
Shawn Hymel: Got it. Got it. Yeah. Yeah. Cause then, then it's like, oh, you, you need a catalog.
Chris Gammell: And if you want access to this catalog or like a community, you have to keep paying sort of thing versus the one time. Yeah. It's a lot of figuring that stuff out. I don't know. It's my friend, Gary from college, Gary Bernhardt does destroyer software. And he kind of went back and forth between those two things, a bunch as well. And he does great educational content and stuff like that. But it's seeing, seeing the ways that it does or doesn't work. I feel like the best case scenario is just finding the biggest group of people that need help because some subset of those people will want to pay for a little bit extra help.
Shawn Hymel: So yeah. And then finding something where there's not a free YouTube series that just does it better than you.
Chris Gammell: Even if there is a free YouTube series, people just want deeper content sometimes. You know, like there being a free alternative is not always a death knell for content. I think it's really about quality and then how much time you want to put into the marketing side of things. That's the hardest thing, I think. So like Robert Faranek as well, right? Robert does some stuff that's like, he has a key cad course, but he also has obviously gobs and gobs of other courses. You know, I don't think it stopped. People like his style and the way he teaches. And I think rightfully so, right? Robert does great courses and then they go back to him and they recommend for other people like, hey, I learned Altium with Robert or I learned Mentor with Robert and they recommend his style. I feel like that's the most important thing to like get recommendations of a style and outcome. That's the most important thing.
Shawn Hymel: Yeah, that's fair. He also has his podcast slash interview series that he does on YouTube as kind of top of funnel marketing. That's right. And it looks like he drives people to his courses from that YouTube and my understanding is that actually works pretty well. And his site, I've taken one of his courses way like years ago. Oh, yeah? Yeah, he has like Robert does great work and his stuff. Now, it used to be like, was it Udemy or I can't remember where he started. Yeah, it was Udemy. Yeah. Yeah. So he started there and Udemy, just like all these other course providers, like they started skimming a lot off the top and you're like, do I have enough of a following that I can go branch off on my own? And so it looks like his course, his site, excuse me, has a number of courses. Some of them he teaches. Some of them he works with partners or his friends to teach them. It's mostly hardware focused. But you pay like 50 bucks or 100 bucks and you get access to this course. Now, I don't know what's exactly behind that paywall. Is it just videos or is it videos and a community or is it one-on-one time or is it right? Are there office hours? I think there's things you can offer that might go beyond just access to videos. And it's like, how do you play without without burning like all of your time? Because I don't want to have, you know, 40 hours of office hours and never be able to create content again. Like that would stink. That's right.
Chris Gammell: That's right. Yeah, exactly. Yep. That kind of stuff will eat your life too, right? I mean, not that it did for me. I've just seen it to other people where it's like, you know, support burdens are things to, you know, no matter what kind of like software product you're making or just product you're making generally, like keeping an eye on how you're going to support that thing you're building is very, very important because probably the most expensive thing you could do is be like, oh, I have to hire someone to, you know, help with this sort of thing. It's like, and then, and then your costs skyrocket, right? More than your sanity or your time. It's just like, yeah, your literal payroll. It's like, oh boy. Okay.
Shawn Hymel: I disagree some there. I think you need to do like a cost time benefit analysis to be like, how many hours a week am I working on? Bah, bah, bah. And if it's like less than what, sorry, add a, add a price to that, right? I'm $50 an hour. I'm $100 an hour. I'm $200. Like, like look at what you're making total and kind of estimate like what you think you're worth. And there's like all these tools online you can do to figure that out. My baseline is generally like $100 an hour. If it's less than that, I really consider finding somebody to do it for me on like a contractual basis.
Chris Gammell: Oh, sure. But that's different than payroll. I was saying like taking someone on as a employee and then like they're always there as part of your cost basis. It's just that's when it gets scary to me. You know what I mean?
Shawn Hymel: Yeah. For stuff like support or like video editing. Logistics.
Chris Gammell: Yeah. Editing. Right.
Shawn Hymel: There's no reason to take on an employee. Like unless you're trying to grow your business to do something that you need them to work 40 hours a week. Just contract with people. There's so many people out there who look for contract work, whether it's like moonlighting or they just do contract work.
Chris Gammell: Okay.
Shawn Hymel: Well, I'm going to keep an eye on how you do it. So you like the way. Thanks. This is an experiment for me. So don't don't take all of this with a grain of salt. I've just seen it work for other people.
Chris Gammell: Yeah. Yeah. That's great. Well, as you continue to build out your courses, how can people get a hold of you? How can they find you? How can they follow you? Find the next thing you're doing.
Shawn Hymel: Yeah, I'm trying to be fairly active on cross all the major social media platforms. Twitter, Instagram, LinkedIn, Mastodon. Trying Blue Sky, but man, Blue Sky needs some help right now. Ghost town. Yeah. Doing stuff on TikTok, but TikTok is not really like I cross post to TikTok, but I am not the correct persona for TikTok. I need to dance more. I should just dance on TikTok. That's what I should just do. Dance and teach people electronics at the same time. There's. Ah, what was the name of that podcast series where they talked to a woman who was like Miss Excel and her whole thing was on TikTok and Instagram. She danced to Excel formula and songs in the background and she has this whole course. I'm trying to remember that. I think it was Matt then told me about this podcast. It's like creator science, I think is the name of the podcast. And he interviews this woman who does this and she's known for like dancing with Excel stuff. And that's like her top of funnel marketing for Excel courses. It's so good. I should just do that.
Chris Gammell: There you go. Bingo. Yeah. And you bring new people into the field. It's great. And this is why I'm not on TikTok. Oh, I don't know.
Shawn Hymel: TikTok is a strange world. I feel like my grays in my hair are showing that I'm like, I don't get. Yeah. Yeah. I am. I am the old. Yes. Yes. But the other platforms I'm there, usually either Sean email, all one word, camel case or Pascal case Instagram. I screwed that up when I first signed up. So that's like Sean underscore email, all lowercase. I know I made the account and then something messed up and I couldn't access it again for whatever reason. And I tried to reclaim it. And Instagram's just like, ha ha, you can't. So I had to like recreate it with an underscore and it like, it hurt. It hurt that compulsivity. It hurts. Yep. Yep.
Chris Gammell: Well, if you want to follow Sean's compulsive electronics and educational endeavors, go find him. Sean email on all platforms. Sean, thanks for being here. Always good to talk to you. Yeah. Thanks for having me, Chris.
Speaker ?: Bye. Bye. Bye. !
Keep current
Every episode, plus the occasional job post, in your inbox.
