Embedded - 511: Forty Trillion Divides

Episode Date: October 2, 2025

Chris and Elecia talk about the show overflowing to another bit, fight over vim vs nano, consider awards, discuss writing (and self-motivation), consider linear algebra on AI cores, encourage remote d...evice quality assurance, describe design documentation, review timer multipliers, and consider changing chip vendors. A list of all Embedded Episodes Support the show and get goodies: Patreon/embedded and Ko-fi.com/embedded  Data-Driven Science and Engineering book (currently on chapter 8 and working through the Control Bootcamp playlist) Not mentioned but related to the Cozy Science announcement: Elecia found Sleeping World, a 10-episode podcast that is nicely soothing and science. Transcript If you’re interested in how 3D printing is changing design engineering, Mouser Electronics has some great resources to check out. Their Empowering Innovation Together platform is taking a deep dive into additive manufacturing—covering smarter production, faster prototyping, and breakthrough materials that move ideas beyond prototypes into real-world products. You’ll find podcasts, expert articles, and videos that keep you informed and inspired. Sound like your thing? Head to Mouser.com/empowering-innovation and explore.

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Embedded. I am Elyssia White here with Christopher White. It's kind of a special show. It is our last show in the ninth bit. Yeah, that's right. We're making binary jokes. We're not even 30 seconds in. All right.
Starting point is 00:00:25 Starting our 10th bit. Starting our 10th bit. Next show, we'll be. would be 512, and who knows where we go from there, the chances we ever make an 11th bit is very small. It gets harder and harder. Yeah, doubles in difficulty each time. Eventually, we have so many bits that the hard drive falls over and becomes a black hole
Starting point is 00:00:49 because we recorded so many shows. Well, at this point, I think you can listen to the show for like a month straight, which would be absolutely mind obliterating. So I don't recommend it. As usual, we recommend fewer than two shows a day. All right.
Starting point is 00:01:09 Yeah, it's a lot of hours. So I have a few housekeeping things. First is we have decided with Patreon to have a level of support that
Starting point is 00:01:24 involves having goodies. And since we've proven that my ability to send out stickers and pins and whatnot is really substandard. The goodies will be digital. Do you want to talk about what we put together? There's just two goodies. Then this is on Patreon and coffee. Either way, if you support us at $5 a month or above, if you're so inclined,
Starting point is 00:01:50 you get an ad-free stream of the show, which is special edit, it has no ads. And about once a month or show or so, once a month or so, we are planning to, and already have released one, have a special episode just for members. And the first episode for that dropped last week. It's on Patreon and Kofi. And it's Elyssie and I and Christopher Speck discussing the movie Real Genius. And it was a fun show to record. It was a fun show to prep for. And I think it's a lot of fun. And so if that's something that interests you and you want to support the show, show at a higher level and get something out of it. Please join at Patreon or Kofi at $5.
Starting point is 00:02:33 And at some point, you can join for $5 for a month and listen to all the shows. And then I'm joined for $5 if you want. I didn't say anything to you about that, but, you know, that does how it works. So those shows will always be there and up on those two sites. And you posted the first cozy science there. I did. So there's, in fact, essentially two special episodes. Right.
Starting point is 00:03:00 So do you want to talk about cosy science or do you want to talk about Embeddies? Well, it depends on what you want to say about cosy science, because we haven't discussed it any further. Well, no reason not to do it in front of all of these people. Sure. Go for it. So it's funny, when you have an idea and whether it's a good idea or a bad idea, It doesn't take that much for the idea to lose a lot of luster because people discourage you. And I don't mean anyone said, oh, that's a terrible idea. One person did.
Starting point is 00:03:42 You can always find one person to say something. It's a terrible idea. But we had some problems with images and stuff. And then I got, then I had to do a lot more of the tedious. There was the part I wanted to do, the part I was excited about. And then there was all the tedium that I was thinking I could push through. And I was really pushed in my face that I had to do all that tedium. And I didn't really get to do a lot of the parts I thought were fun.
Starting point is 00:04:11 And then somebody foolishly or wisely, depends on how you wanted this to go, asked me what my end goal here was. And I really was not thinking about cozy science. as yet another hobby podcast. It was a podcast that needed to make money for it to be good for me. Because honestly, I already have a podcast, and it is a good podcast, and it's about things I care about. And it's for an audience I care about. So, right now, cozy science is on hold.
Starting point is 00:04:49 Unless Christopher really encouraged. Did we talk about cozy science a lot on previous episodes? I mentioned it. Okay. I just want to make sure that context. Do you want me to... Sure. I mean, because if 50 people say, no, bring you back.
Starting point is 00:05:01 So the idea for cosy science is that people have told me that they have spouses or they can't listen to the show because my voice puts them to sleep, which I'm all in favor of. There are voices that put me to sleep. And so I thought, well, why not lean into that? and read scientific things or talk about science and math and numbers, things I'm excited about, you know, redwood trees and octopus hearts and weird things that make you dream or daydream, but do it in a very soothing, calming, meditative way so people could use it to go to sleep or to daydream or take a power nap or just to have a bit of quiet time.
Starting point is 00:05:49 And we recorded two episodes, and I have to admit, after the episodes, I was so relaxed, not sleepy, just serene and calm. And that was good, and I liked it. But, you know, there's a lot of other things that go into this than me mumbling into a microphone. I mean, if that was all you had to do, would you want to do it? If that was all I had to do, and I probably would get paid something for it. that's the hard part yeah yeah getting paid for your work actually is kind of hard sometimes um i don't know if all i had to do was mumble into a microphone and that was all maybe but i don't want it to all be on your shoulders either right right
Starting point is 00:06:36 all right well we can continue to think about it yes and there's another episode if chris decides to do the music on that uh it may go up as a bonus for the patreon listeners Patreon supporters, Patreon and coffee supporters. We'll see. All right. Do you have a couple more comments on that? On Colgy Science? No, I can't break the logjam of getting paid enough to make it feel worthwhile.
Starting point is 00:07:02 So that's the hard part. Everything else I can offer to, you know, take off your hands completely and just have you come in and record. But that's not going to... If it was stuff you truly enjoyed, sure. But it didn't seem like stuff you were enjoying either. I was. I told you I was enjoying the music and stuff. The music part, yeah. The rest of it, I mean, the rest of it is website and, you know, branding. Dealing with people in marketing and...
Starting point is 00:07:32 Yeah, yeah. Before we dive back into today's discussion, I want to share a new resource for anyone curious about the future of 3D printing. Mouser Electronics has a dedicated, empowering innovation together hub that covers the latest breakthroughs in the technology. Their new series explores how 3D printing is transforming engineering, from advanced materials and smarter processes, to rapid prototyping and full-scale production. You'll find insightful articles, podcasts, and videos that highlight real-world applications across industries. If you're ready to see how 3D printing is reshaping, designing, and manufacturing, head over to mouser.com slash empowering-innovation. All right, let's get back to it.
Starting point is 00:08:29 What was the next thing? We had a request from one of the listeners to talk about seeing whales. Okay. We've seen whales. A lot of whales. Who us? Yeah, there's been a lot of humpback whales in the, Monterey Bay near the shore this year, which seems to happen not too frequently.
Starting point is 00:08:50 I think the last big time was at least five or six, maybe seven years ago when there were this many. And, you know, occasionally we'd see one or two, but this summer, it's like every time we walk, go down there, there's almost always something happening. And I follow some of the whale watching boats on Instagram, and I see them, oh my gosh, getting pods of orcas and seeing blue whales. But from the shore, from the beach, we mostly see humpbacks. And sometimes it's just a matter of seeing the spray. But they also do lunch feeding here, which isn't the same as when they jump entirely out of the water.
Starting point is 00:09:36 But they get the top half of their bodies, their mouths are open. It's pretty dramatic. It's pretty dramatic. There's a giant monster coming out of the sea, straight up. Yeah. And chomping down on, well, water. And probably anchovies and maybe one of those birds that wasn't fast enough to get out of the way. A couple kayakers.
Starting point is 00:09:56 Yeah. So, yeah, if you're, and I've heard that Pacifica, which is closer to San Francisco, has had some great observations from the pier. Like you're on the pier And they're right below you or closer to the beach than you are So it's really dramatic to see them feeding Lunge feeding Getting themselves out of the water So they can gulp up all that food
Starting point is 00:10:24 And it realistically probably won't last too much longer As we head into fall I keep thinking it's going to dwindle And then we go back and just a much more Yeah But they head to They're heading to Mexico or South America?
Starting point is 00:10:41 No. To go as far as South America? Yeah, okay. The Alaskan ones had to Hawaii. Okay. Okay. The Embedys. The Embedys.
Starting point is 00:10:52 This came up on the show with Christina Sear. It has a silly idea to have an awards show about embedded things. Right. Okay. And the question is, what would you want to see a award? words for if the embeddies existed. And what would you want to be a judge for if you were a judge for the embeddies? So you're two big questions. Okay. Okay. How many categories do I have to come up with? Oh, let's say, if we have three each. Okay. Let's go back and force this some time to think,
Starting point is 00:11:31 but do you have some prepped? Uh, no. Okay. Well, I can go first. So, um, So I think there's going to be the usual stuff like best processor and most effective this and and most innovative, you know, those sorts of things. I would like to see a category that's some social responsibility stuff. So I don't know what to call it. But like this would be more like a product category, like most socially responsive, responsible embedded product or sometimes this ventures into kind of the Hackaday Prize territory a little bit. But things like that, like, you know, best assistive or, what's the word I'm looking for? Accessible. Yeah.
Starting point is 00:12:21 Accessible technology, things like that. Things that are a little bit application-specific prizes. So I think my first choice would be, let's just to narrow it down, best accessible, best accessible embedded device. Oh, I actually typed it as product socially responsible impact. That's fine, too. Yeah. Something along those lines. I'm not sure we need multiples within that category.
Starting point is 00:12:48 The application and product as a category for embedded awards. I like because it lets companies show off what they've done. without getting too far into advertising. I was thinking some about applications, and for me it was less about socially responsible and more about the team. Like I want you to tell me how the team grew, not grew in people, but how the team learned.
Starting point is 00:13:33 That's a tough one, because anybody can, companies are good at telling stories about their teams without you being able to like verify it, right? Yeah, that's true. And then you give the award and then three weeks later somebody comes out, well, they were actually horrible and bullies and yeah. But, no, I see where you're going with that. I like that.
Starting point is 00:13:55 I think that's, it's a company award, right? Your company culture or your company, I don't know. that's verging on socially responsible in some ways. Yes. But these are tough ones. That's a tough one too. One of the ones I thought was best new technology, less than three years old, that has an impact on day-to-day work.
Starting point is 00:14:28 Okay, yeah, I have a similar. Oh, did it work for anybody or for developers? For embedded engineers. Yeah, I have a very similar one, which was going to be most developer-friendly tool in the last, yeah, in some period, which I think is the same thing you're saying. Basically, that's, increase my efficacy, please. Yeah, and that one has, you know, there's a lot of potential things that could go in there. Yeah, if Kyle has a new compiler out. Yes, yes, that's exactly what I was thinking about.
Starting point is 00:14:57 If Kyle comes out with a new compiler, if, you know, Open AI comes out with a new talk. talking parrot. No, but there's lots of things. You know, many services exist that help developers. There's, you know, mundane tools like just a better diff tool, open source projects that help you. So I think that one's pretty wide open. Instead of best day-to-day improvement tool in new innovations, it would be best open source tool. Yeah, that too.
Starting point is 00:15:30 That could be separate, but yeah. And this is, again, for improving and developer efficacy. Yeah. Embedded developer. Or, you know, efficacy is one way to look at it, but also just quality of life improvements of being a developer. It doesn't have to make you more effective if it's just making something less. I guess anything that makes you less unhappy is probably making you more effective. Indeed.
Starting point is 00:15:55 At least for me. What about classes? Um, courses, um, mooks, uh, online courses. Yeah. Best Embedded related online course. I don't suppose we can have best embedded book. You can, but there's only going to be one book in that category every year. Because we'll just put yours, yeah. We'll just put different translations of yours.
Starting point is 00:16:25 Yes, yes. My book's available in Polish now. It's, uh, it's, they, they have to send me. two copies when they published the book. And Polish is language with a lot of letters. Yeah, it is. That's a very difficult language. I'm looking forward to reading it
Starting point is 00:16:43 in the original Klingon. Yes, well, I'll let you know when that translation happens. Okay, well, let me switch over to, we did talk about the sum on the Patreon Slack, so let me switch over. I know they had opinions. Best
Starting point is 00:16:59 role model. I don't know whether that comment actually is for a different show. I bet that isn't related to what we're talking about here. Good. Never mind. That's another fraught one. Yeah. Well, I did March Madness a couple of times, and then I did it with my students.
Starting point is 00:17:18 For microcontrollers. For microcontrollers, micro-madness. Yeah. Where I had brackets of processors, and, I mean, we chose everything from AT-Tinies to, Sam parts from microchips, picks from Microship, Nordics. STMs. And everything was judged on the,
Starting point is 00:17:44 on a certain board it came with. So it was a dev board as well as just the process. Disco board versus the. Nucleo, yeah, versus the Arduino. And then I had a list of 50, 75 different criteria. And they were 100% arbitrary. Some of them were less obviously arbitrary, like cost, number of pins, amount of power.
Starting point is 00:18:11 But some of them were obviously arbitrary, number of vowels in the... Number of vowels. In the chip name. Yeah. But some of them were kind of... Longest part number, sorry. Some of them were a little odd. Like, if you just Google the chip name, how many hits do you get?
Starting point is 00:18:29 Okay. Which is a measure of... Or a scavenger hunt than a... Well, yes. Okay. Because when I gave it to the students, it was like, okay, everybody gets a processor. And now we're going to talk about all of these processors at once. Okay.
Starting point is 00:18:43 And once somebody knocked you out of... Knocked your processor out of running, then you went on their team and could help look up data as it came in. But ideally, you didn't have to because ideally you looked a lot of the stuff before the brackets started going. Anyway, this was kind of fun. It was really hard when I did it by myself because I had to look up all of this information. But when you have a group of people, it gets pretty fun. Just you learn, you know, one of the criteria is
Starting point is 00:19:16 who has the most number of spy ports. Right, sure. It's less about, I mean, the schick is it's about comparing the chips to see what wins, but it's less about that and more and digging into what's out there. comparing and contrasting sometimes meaningful things and sometimes not,
Starting point is 00:19:35 but you could learn about what's out there and for your class that was really probably a useful exercise in data sheet reading and... That was the data sheet reading section.
Starting point is 00:19:43 And it was a useful exercise in there are lots of processors out there and many of them have specific uses. And that's not a bad thing. Right. But if you're looking
Starting point is 00:19:54 for a general purpose processor, it's not a good thing. Sometimes it costs more, Sometimes it has things you don't need. I mean, I think one of the criteria for one time I ran it was number of motors that could be run directly from the processor. I don't know, like, only T.I. processors had that. Right.
Starting point is 00:20:13 Everybody else failed on that. Yeah. And I was like, okay, well, this one was kind of fixed. So, I don't, I don't. So is... I don't want that to be the sort of awards. I want the awards to be encompassing. Are we actually doing the awards?
Starting point is 00:20:32 We haven't talked about what... Is this just musing about what the awards would be if we were to do them? Or do you really want to do them? Oh, as noted with Cozy Science, I have decided that I'm terrible asking for money, and I'm just going to do the things people pay me for naturally. I see. I mean, if we did them truly... So when we talk to Christina about the Innovation Awards
Starting point is 00:21:00 for CES. And when I was looking up different awards, you have to pay to be considered. Right. And the CES awards were like a thousand entrants
Starting point is 00:21:11 and it's a couple hundred dollars each. Oh, so we don't have to do it once. Exactly. No. Except a part of me's like, oh, that's a scam, or all contests of that forum are a scam, and there's probably some element of that.
Starting point is 00:21:26 But when I looked at, okay, if I really was going to have to understand the difference between Goliath and... Memphal? No. Well, they're not indirect... Right. But say they were in the same category for best new tool for something.
Starting point is 00:21:48 Yeah. That is not an insignificant amount of time. Sure. Because I wouldn't want to just read their marketing stuff. I want to try it. Sure. And that's going to, you know, that time adds up. up pretty quickly. And if it's not a tool that I know well, and it's against a tool I do know well,
Starting point is 00:22:06 then I'm going to feel even more like that. But do you want that to be your job as to judge tools? I would. See, that's the thing, right? You talk about you want to get paid, but you already do get paid for the work you enjoy doing, and it feels like you're creating a new category of something that you don't enjoy as much, and then you'll get paid for less for. Right. And so no, I don't really want to do this. I do like thinking about it because it's one of those what is important sort of thoughts. And I think we could take the inspiration for this to the member special episodes sometimes. I've been thinking in addition to watching movies, we might do silly things like, not quite like the micro madness, but tier rankings of chips we've worked with or things or tools and things like that.
Starting point is 00:22:52 So there's similar stuff we can do without it being an awards show. Oh, yeah. Yeah. And with that, you know, there's always the chance we can bash on them, too. Right. Which is- hilarious. If we get, you know, a couple other people, we can have our faves and argue about how to rank them.
Starting point is 00:23:12 Oh, God, Svec loves Vim so much. And I, he's wonderful. Lots of people use VIII. Lots of people use Vime. I use Vim all the time because I got it. Voluntarily? Yeah. Because you haven't figured out that it's escape,
Starting point is 00:23:27 Q, shift, one? What? That's question mark, explanation, or Q exclamation point so that you can quit V. I know how to quit V. I know how to quit V. I don't like NANO. I don't understand any of its key combinations,
Starting point is 00:23:42 and I know VIs. But NANO puts the key combinations. Yeah, I have to read the bottom every time. I have never internalized those. You would eventually. Anyway, when I have to edit something small, usually I just type VI. Because it's on every system.
Starting point is 00:24:00 So is Nano. Is it? Yes. Not sure about that. Let me know when you type Nano and it comes up with not found. He's going to type it into like Google or something. It's not going to work. Oh, look at that.
Starting point is 00:24:12 It's on my Mac. That's pretty funny. Didn't realize that. Look at all this junk. Control G, get help. Get. Get. Control O, right out.
Starting point is 00:24:23 They make the the shortcuts, the second word in the. a thing. Instead of Control W for right, it's Control O for right out. Like, that's why I can't remember it. Whereas Control, colon Q is for quit, colon W is for right, et cetera,
Starting point is 00:24:41 et cetera. What's the way to move around the file? It's the normal thing before keyboards had cursors. The J, the K, and the... Yeah. This episode of Vim
Starting point is 00:24:57 and its uses brought to you by Christopher's Fack. Anyway, I don't live in V.I. like some people, but, yeah. Okay. Where were we? We were thinking about different awards, which we are never going to do because this is not a core competency that we care about. Okay. Next thing.
Starting point is 00:25:21 What would you want to judge the awards and how much would they have to pay you to judge such things? Yeah, bless. We talked about that. Okay. Celebrate the 10th bit. How do you celebrate bits? I don't know. I don't know what that means.
Starting point is 00:25:39 Do you get nine things? Ten things? Are we're into the 10th bit? So I feel like we should get... This will be the last show that can fit in nine bits. So we get nine things. And then the next show will be the... Nine cakes, nine cookies.
Starting point is 00:25:54 nine I don't know I don't know I have been hearing with burnout some things about you really have to celebrate the things you do
Starting point is 00:26:08 and it's true we do the show I ask people impertinent questions we record that part and we let people hear it and then sometimes I interact with listeners about what they liked
Starting point is 00:26:20 or what they didn't like but I don't get, I don't get a dopamine hit on Thursday afternoons when this drops. I mean, if I'm lucky, I get an adrenaline hit because I haven't written the show notes at 3.30 and I get that done. But there's no. It might feel better if you're the one who released it. Do you want me to make the button, leave the button to publish undone, so you push that button?
Starting point is 00:26:46 Does that make you happy? I mean, it feels like I've accomplished something for the day. Maybe we can push it together. All right. Like the missile launch. We both have to turn our keys. Yes. Yeah, okay.
Starting point is 00:27:03 But it is, I don't know, the show is a lot of work and it's good and I like it. Oh, boy, that is a, it's good and I like it. But sometimes I do forget that, you know, we have done 511 shows. We've been doing this show for 12 years. Yes. I looked that up recently. 12 years. It's old enough to drink. No, it's not. Oh, sorry, got it backwards. Got to flip the numbers the other way. Christopher has overflowed his stack. I only have nine bets myself.
Starting point is 00:27:42 Well, we made a huge deal about 200 and 300. Yeah. Huge a deal about 300. Yeah. And then. And then we just gave up. And then we just gave up partying. Well, there was some other extenuating circumstances, which precluded partying. But yeah, this is a big deal. I mean, if people, we do love to hear from people. So if people have suggestions for that they want the show to go a different direction or stay on the same course or find ways to reach new audiences, you know, I'm always open to hear about it. And if you want to support the show and you like us, please mention us to other people.
Starting point is 00:28:22 You don't have to give us money. It's, you know, post a review somewhere, iTunes, or wherever there's reviews, or just tell somebody, hey, this is a cool podcast if you're a newbie into embedded or something. Yeah, whatever. Yeah. And I know people stopped listening some when commutes changed, but feel free to, you know, remind the person who told you about it. We're still here. We're still making shows. We have some exciting stuff things happening.
Starting point is 00:28:54 Stuff things. Oh, we have some questions from listeners. Good. Let's answer some actual questions. What kind of maths would be way cooler to do on all those vector math-capable AI cores on MCUs instead of the inferencing nonsense? Wow. Well, you're doing a big course where maths or not a course, but the book club, your book club, the fancy math anonymous is doing the data driven no data driven science and engineering yes yeah
Starting point is 00:29:31 is the book and just that that has some stuff that's lots of linear algebra that's not inference right so much linear algebra it's terrified I mean anything you can do with linear algebra is probably applicable to GPUs or neural engines. Real large. So let me tell you a little bit about the book because it really does have a lot of linear algebra and some of it would fit in this question. So the data-driven science and engineering book
Starting point is 00:30:09 talks about control systems as though they are data science problems. Right. Which is... Instead of strictly a set of a couple differential equations or that kind of thing? Yeah. Okay. And the linearization, the making it stable...
Starting point is 00:30:36 So making a stable control system is a common problem. And usually we talk a... about poles and zeros and Bode plots and all of that. It turns out, and I am boggled by this, but those poles and zeros are centrally the eigenvalues of the system. Igen values are something I learned in linear algebra, the eigenvalues and eigenvectors. And this book puts everything in those terms, the linear algebra terms. and so your control system
Starting point is 00:31:16 becomes a matrix multiply which isn't that bizarre but then the eigenvalues of your matrix multiply indicate your controllability and if you add in your control in there you have your how it works
Starting point is 00:31:36 and then you have how you control it now you have more information in the linear algebra and you can look at controllability. If you think about which things you can measure and how all of that goes in, you can think about the observability of the system. If your system can't really be observed, like you have an inverted pendulum
Starting point is 00:31:57 and you're only measuring the role of the system which has nothing to do with anything, then you can't control it. If you are only measuring the angle of your pendulum, your control is really weak. And there are easy, linear algebra ways to to look this up
Starting point is 00:32:17 and I say easy here because it's like a one line mat lab or num pi command and if you're talking like a PID controller it's something you can probably figure out by hand or even an inverted pendulum
Starting point is 00:32:33 you can figure that out by hand one could I would get lost in the algebra but when you're talking about how big systems work weather systems climate systems, brain systems, financial systems, you can look at those using the same methods, the same matrix multiply by a measurement plus a control. And those, you can have much, much bigger systems, which now when you're looking at eigenvalues
Starting point is 00:33:08 and eigenvectors, you're like, how do I even figure that out? above about four, your matrix becomes really big and unwieldy for figuring these out. But again, Numpai Matlab, they do it numerically, you don't care. It's just one command. So to answer this question about what do you do on these AI cores on MCUs instead of inferencing nonsense? You do big matrix multiplies. Yeah, but they're so big. Do we really need them for things that aren't?
Starting point is 00:33:42 inference? I mean, like, the inference things have, I don't know, hundreds of millions of parameters, some of them, some of them billions, right? Some of the LLMs, I think, have more. I'm trying to think of a class of problem besides simulating the universe or something that requires that many basically arithmetic units in parallel. Okay. One of the things this data-driven book is, is emphasizing is about how powerful these are. One of the ways it's adding more features to this whole matrix-oriented way of doing things
Starting point is 00:34:24 is that you take your samples at T0, at T1, at T2, and these aren't just your single samples. These are like, I'll go back to Schatz Butter because it's something I know really well. If four microphones... Sure, it's a multidimensional sample at time of many things. time, amplitude of each signal features on each one
Starting point is 00:34:48 and now your matrix which has a thousand samples and a hundred different measurements and this this is the thing you're looking at now this is the thing you're running an SVD on singular value decomposition so that you can send back a minimum amount of data to your server
Starting point is 00:35:10 Okay, okay. So, yeah, it's these maths that are linear algebra. Those AI cores are linear algebra cores. But how you do this, I don't really know. Well, I mean, how you do what? How you go from, I have this N by M matrix where N is 1,000 samples and N is 100 measurements. And you put that into the core and you multiply it by your control widget.
Starting point is 00:35:44 That's one of the things, is this seems like something where data is continually coming in. Right. Which I don't, I'm not an expert on how these cores work, but generally you load the model into them and it's static and you give them inputs. Right. Right.
Starting point is 00:36:00 You load the weights in for the model. It sits there in its inference engine, it's doing all the linear algebra. And the only thing you're giving it after that, are a set of vectors of inputs, which are not necessarily... Which are your current measurements. Which are your current measurements, which can be an image, which could be quite large, or stuff like that, but you're not altering the matrix.
Starting point is 00:36:21 Right, and the control piece, the matrix that you generate to control all of this is what you load in. Right, but if you're trying to do a singular value decomposition, like you said, on a large matrix, you have to get that all in there. That's true. And I don't know that there's a lot of bandwidth. I don't know how big the pipe is to get models into what we're replacing a model with into those. It's just a thought. It's not important.
Starting point is 00:36:50 Yeah, but that's where GPUs are a little. Moving the coordinates to match your current, the outer, the U and V matrices would go in there and then you would get an S out. And so you'd be translating to those coordinates, which would be minimal in your space. But that does sound like a good application where you have large matrices. And lots of physics simulations, lots of all kinds of things like that have large matrices. Whether those cores are generally applicable or whether they're so tuned toward I need to get a TensorFlow formatted model with weights and I can't do anything, I don't know. that would be an interesting discussion I wonder if we know anybody who knows about that
Starting point is 00:37:40 probably probably someone the other thought I had is if we tab all these inference engines we can't do AI or one of the big linear linear algebra problems is computer graphics and so you could take these I'm pulling your leg you know right oh no I
Starting point is 00:38:01 but that's what Oh, you're going to make a graphics card out of an AI card, which came out of a graphics card? Yes. Okay, I get it now. That's hilarious. Return to graphics. Return to graphics. Yeah, but most of the neural engines on embedded chips and the special purpose neural engines are not GPUs anymore. They're all the parts of a GPU that used to apply to neural networks without all the stuff you need for graphics.
Starting point is 00:38:26 Because who cares about doing texture mapping if you're just running models. So that's an efficiency. So like in your phone, there's a neural, there's some silicon that's just for neural networks. And there's a GPU. And they don't do anything together. But yeah, but I don't know. I think there may come a time when there is,
Starting point is 00:38:48 we're going to have to figure out what to do with a vast overcapacity of linear algebra solvers. Yeah. When you can buy one of these things, know, a server-based inferencing engine for $3, you know, somebody will figure out what to do with it. That's one of the things about funding AI and then I'll shut up is as technology develops, you spend a tremendous amount of money
Starting point is 00:39:13 in these data centers buying inference engines and GPUs, right? But every year there's another one that's better. And so the old ones are worth nothing or they depreciate really quickly. So there's huge amounts of money going into these neural solvers that is depreciates very, very quickly, and they burn out at those scales too. So it's kind of an interesting problem. But, yes, there might be a glut of these in a few years
Starting point is 00:39:39 that certainly as ones come off the line that aren't fast enough or whatever, for whatever people are doing. Even if AI is successful, there's going to be a vast supply of inferencing linear algebra solvers that come out of these, these data centers. It's funny.
Starting point is 00:39:58 It's so funny to think at such different scales. I'm like, okay, so last week I said, no, no, we should go ahead and leave the divide in. It's not that long. What about 40 trillion divides?
Starting point is 00:40:11 I mean, some days I'm like, okay, I need, I just need 10 more bites and I can make all of this work the way. I want it to,
Starting point is 00:40:22 if you give me eight more bites, I can still do it, but it will take me a little bit longer. And then other times I'm like, a gigahertz. Oh, well, yeah, quit optimizing the stupid crap. And then we get these giant systems that I just can't even... I'm still stuck on the Jetson being cool. That's like 20 years old.
Starting point is 00:40:44 Okay, it's like 10 years old. Yeah, there's been like six Jetson since then. I know. And I'm still like... And the image processing is so cool. But nothing's really changed. Like, ImageNet is still, you know,
Starting point is 00:40:58 stuff has changed with the scale, mostly with change is scale and LLMs. I mean, the one innovation that's, is transform models in LLMs that's happened in the last few years, but the stuff they're running on is basically the same. It's just more. Let's go on to a different question. A different question.
Starting point is 00:41:16 Saila asked, how do you start to like writing enough to enjoy doing it, enough to be self-motivated about it? I don't think that is necessarily specific to writing. It sounds like... Yeah. Just put anything in there.
Starting point is 00:41:36 Yeah. I mean, how do you convince yourself to do anything enough that you start... I think if you don't enjoy something, it's very hard to force yourself to enjoy it. Oof. Yeah, I mean... Okay. Let's take this in an entirely random. direction. Yeah. How do you start to like eating enough to enjoy it enough to be self-motivated about that? That's not really for you. Don't worry about you in your stomach. Do you feel slightly
Starting point is 00:42:05 attacked? But I mean, the difference there is if I don't do it, I die. Whereas if I don't write, the consequences are, you know. That's actually the point I wanted to make. Okay. is that there there is a series of values that are important. And how do you start to like bathing enough to be self-motivated about it? Okay, that's less important than food, but it's not like you're not going to do it, right? and so think about think about why you do those things that you do do and it's not always about enjoyment
Starting point is 00:42:50 that's the thing right yeah there's plenty of things we do and enjoyment are not the same thing and if you're talking about writing specifically as a I have to write or get better at writing as part of my work but it's not something outside of my work that I would necessarily do well there's
Starting point is 00:43:08 half dozen a dollar things like that involved with work, right? That, you know, how do I get better at going to meetings? There are very few people who enjoy going to meetings, but... But man, do they really enjoy them because they make them last forever? But there's a lot of meetings, right? So I think you have to, A, put it in the context of why you're doing something and not necessarily feel bad if you don't enjoy it.
Starting point is 00:43:32 Right. Having said that, you can look for parts of it that you do enjoy. And you might be surprised to find that there are parts of it. hearts you enjoy. And maybe there's ways to do it in a different context so that, because that's the thing, right, writing for work is very different from writing in a journal or writing to yourself or writing a story. And maybe you want to get better at writing for work, but it's not enjoyable enough to practice that. Oh, I imagine not. Right? But maybe it's enjoyable to practice writing, creative writing. Children's stories. Whatever. Jokes.
Starting point is 00:44:09 So that's another way to twist it is I have to get better for work. I normally wouldn't write. I don't enjoy writing for work. Let me try it in a different context and see if I enjoy it there. And then if I practice there or lose the word practice, if I start a habit there that I do enjoy, well, that's still writing. It's still going to improve my writing. It's going to factor into the work writing, which I don't enjoy.
Starting point is 00:44:36 Yeah. And, you know, the same goes for lots of things. many musicians have to play in bands that play covers, right? And that's not maybe what they want to do. Maybe they want to play their own original music. But nobody pays for that. But you can subsidize one part of your enjoyment with another thing and get something out of it.
Starting point is 00:44:57 Because if you play in a cover band, every night you're going to get better at certain things that can apply to other things. And I think that's one way to kind of come at it from the side is not trying to. to force your trying to force yourself to try to force yourself to enjoy things is let us know how that works is a losing proposition it's not something that works it just makes you enjoy things less especially if somebody's telling you to do it and that's for me personally like
Starting point is 00:45:29 if somebody's telling me to do something it's automatic 30% haircut off the enjoyment level right do you mean just general telling you to do something or telling you to do something enjoy it. Like, I think you'll like this book. It basically means that I will never read the book. Oh, no, that's fine. Okay. I mean, because that doesn't bother me. Okay.
Starting point is 00:45:49 But, like, for work, like, you have to go write this paper or for school. You have to read this book and then that automatically makes me not want to do things. Even if without that, I would have enjoyed it. Right. So you have to kind of, for me, I have to take that part out of it if I want to, like, sneak into it. And like, this isn't for somebody else. This is for me. And I think that's, you know,
Starting point is 00:46:13 but this is all very personal and going to be idiosyncratic to each person and how they, their relationship with work or with, you know, doing things. And I think there's a question here about how everybody else can enjoy writing so much. And I think the secret there is very people actually do. You're now, and before, which is weird because we do so much of our interaction now with writing, more so than I think we did, even before the internet was big, right?
Starting point is 00:46:52 You know, I wrote a couple of letters every year, but most of our conversation was vocal. And now we're writing text messages constantly. We're interacting with Slack and Discord constantly. It's all text. You know, there's video and all that stuff on Instagram and other things, but most, People are typing and doing written language a lot, which is kind of interesting. I don't know where I'm going with that, but it's, it's, you know, we do write a lot now, probably more than people did 25 years ago.
Starting point is 00:47:20 But we don't necessarily write in a way that would be critically acclaimed. Right. I'm just, I'm just saying it's become a part of our lives in a different way than it was. Yes, it is more of a communication mechanism than it used to be. So, okay, so the advice there, one, replace writing with some other words and realize that enjoy may not be the word you mean. You might want to just skip to self-motivated about it and make it so that it is under some other value than enjoy because I don't think forcing yourself to enjoy something in order to be self-motivated about it is going to work. Yeah. second is just because other people are writing doesn't mean they're enjoying it yeah and the third thing is if you can sneak up on it with something you do enjoy
Starting point is 00:48:21 uh writing scripts for your family to produce a play uh writing children's stories writing ridiculous things in a journal writing rants Writing rants The goal to In becoming better at writing There are a couple of different things you can do Practice number one Copy somebody else's writing Which is to say
Starting point is 00:48:51 You have to do a lot of reading In order to get better at writing And the third thing is Once I started editing other people's things I became a lot better editing myself Yeah So think about those, if one of those will help you sneak up on it, then write romance novels, write Starship Fantasy, be the hero of a ridiculous satellite mystery action book. Right.
Starting point is 00:49:25 But just because everybody else is writing along project logs and Hackaday, they aren't necessarily doing it because they enjoy it. because they enjoy it. They're doing it as a way to get to another step, a way to show off their project. They're not doing it because they enjoy the writing, but to show off the project. And you might find that you do start enjoying writing, but doing it more,
Starting point is 00:49:50 but when you get better at it, when you start seeing benefits from being a better writer, that can happen. But if you start out with the mindset of, I have to enjoy this, and I don't. Ooh, that would be really tough to get beyond, too. Yeah, I didn't write a book because I enjoyed it. I wrote a book because I got sick of explaining the same things over and over again.
Starting point is 00:50:14 You wrote a book because you didn't enjoy something else more. Right, exactly. Maybe that's what you the key is. How do you start to like writing more than you dislike doing something else? Okay. Okay, Matt, I think, I'm not sure, I got the names all kind of squiggled in here, how to approach development, how to approach deployment and remote support for something you can't see in use in the field and that isn't a tiny IOT thing hooked up to Goliath slash Memfault. This is funny. I have a device that, a scientific device being used by scientists who, who, who, well, Let's just not talk about their get habits because I am very happy to fix their get problems.
Starting point is 00:51:07 I'm not very good at Git. Don't tell them. They think I'm really good. Anyway, I have this device that is going up to, that's been hanging out in the bay here. It's going up to someplace in Montana soon. And I will not be able to reach it any longer. I will not be able to ask someone to go out and kick it. I hope it works really well, but I won't know until someone calls in the middle of the night and says, oh, no, a bear attacked it, which did happen to one previously, but I wasn't involved then.
Starting point is 00:51:42 Got it. I, okay, I won't. Yep. How do you approach deployment and remote support for something you can't get near? This is really tough for folks who have, like, satellites or deep sea equipment. I mean... Or anything in a remote location that's, yeah. Well, and again, back to ShotSpotter. You don't go visit those during the day. Well, we talked to the person who did the field cameras. Yeah.
Starting point is 00:52:09 Which are deployed for a long time. And, yeah, I mean, this is your, probably, you can speak to this more than I can. I've never done anything like that. Everything, even the stuff I've had in remote locations has been incredibly connected. Okay. Okay. So QA becomes a different beast. If you can't touch this thing later because it's at the bottom of the ocean or 100 miles above the surface of the earth, it isn't something to play with. You need to have a stricter level of recovery more than anything else. You need to be able to upload new code. And so we talk about dog fooding our own products. This is a case where you need to fake deploy it to the office next to you or the office three doors down.
Starting point is 00:53:02 Something that is far enough away that it's kind of irritating and yet close enough that you actually can affect change. So, okay, so you have to, you have to QA it beyond what you think is normal. You have to QA it especially for being able to update it. Now, if you really can't update it, which cell modems at like 2,400 bot, still a thing. Should be less a thing. There's a lot more, there's a lot more remote access now than that, but... Look, if it's at the bottom of the ocean... Okay, the bottom of the ocean.
Starting point is 00:53:42 You really just can't get the bits down there very fast. You said cell modem, not... Acoustic modem, acoustic modem. Those are so slow. Okay, so QA, you have to be able to update it. You need to do the, quote, remote testing in a non-remote location. And how do you do support? Well, that's, I mean, the Mars folks have figured this out.
Starting point is 00:54:10 You do support by having an exact copy next to you, probably more than one exact copy, so that when it goes wrong, you can retry it locally. Yeah. But there are, I mean, there are methods here. There's the idea. You know you can't get to it. It's what everything was before a certain time. Yeah, exactly.
Starting point is 00:54:30 So, I mean, maybe find some books that were written before, say, 1990, just say 2005 even about product development. I don't know. But even case studies there, like look at what people did for those kind of products. And usually, like you said, it was a lot of QA. A lot of things hardened against certain kinds of failures. A lot of watchdogs. Right. And not a lot of update.
Starting point is 00:55:01 I mean, I said you should be able to update it in the field. But maybe that update is just change the parameters. Parameters. So that you boot to a safe mode. I mean, think about satellites. You boot to a safe mode. If something goes wrong, you don't do your normal thing. But you also don't expect someone to feed you all of the data.
Starting point is 00:55:20 ahead of time, because it needs to fail safely. It needs to have a safe recovery mode. All right, I could talk about that all day because I think there are so many things. Let's see. How do you make a software design document? What do you talk about in it? When do you write it?
Starting point is 00:55:43 Nobody writes these anymore. What? That's not true. Okay, the medical devices sometimes do. Yeah. I haven't seen a lot of them for a while. That's true. You know, most companies are doing the Agile thing, which they take as an excuse to, you know, it is what it is,
Starting point is 00:56:00 but people take as kind of an excuse to not do these sorts of tasks because they are, in some sense, contrary to that philosophy in that you are putting a stake in the ground that's not movable. Somebody mentioned to me recently that hadn't heard Agile used in quite a while. That was me. Oh. Yeah. Well, now you're arguing the other side. I'm saying it still exists and everybody uses it.
Starting point is 00:56:24 It's just de facto. Oh, okay. Or everybody uses their little variant of it. But, yeah, to me, I love software design documents. I used to do them all the time for everything. And it was a great way to capture before, I did them before implementation, to capture a sense of what we thought we were building. And to capture how we were going to build.
Starting point is 00:56:49 it. It was a good exercise to figure out what we were missing to game through scenarios like this other person said, like, okay, we can't contact in the field. What design elements are required for that to see how we were implementing the requirements, because usually alongside a software design document, you have a requirements document, which is another thing that seems to kind of gone by the wayside. But yeah, and I mean, how do you write one? Well, First, what problem are you solving is the highest level thing, and then you start getting more and more specific. What problem are you solving? What blocks do I put together to solve that problem? What do the inside of those blocks look like? How do those blocks talk to each other? If this is outward facing and there's some API, what do the API look like? What are the interfaces? And you can get more and more detailed from there. But usually start as a top-down kind of thing and get structural more detailed throughout the document. I agree.
Starting point is 00:57:55 One thing, I think I did answer this when it first came up in the Slack. I did say write it in past tense. Even if you're writing it before you start development, your life will be so much easier if you just write it as though it already occurred. Because then it lives on. Instead of at some point, someone has to go through and change all the tenses. but it is a bridge between the requirements,
Starting point is 00:58:24 the goals, the what you were supposed to do, and the actual how you implemented it. And I think, you know, my personal opinion on this is that it's an opportunity to use your brain for a while, away from a computer. And you can game things on whiteboards, but the kind of system-level thinking
Starting point is 00:58:48 where you're kind of envisioning the inputs and the outputs, how things are being manipulated, how the modules are talking to each other, figuring out what can go wrong, error handling. How many things are on this spy bus and will they collide? How am I going to protect them? Coming up with all that stuff and thinking about it, once you start implementation,
Starting point is 00:59:09 the implementation becomes really easy. If you've cut everything into small pieces, those small pieces are so much easier. to implement. And every time I've done a design like that, and we've gone to implementation, the implementation process has been easy, the number of huge bugs or, oh, my God, we didn't think of that, it gets smaller, the intractable, you know, the kinds of bugs we end up with are nitty-gritty things like, oh, that hardware is not doing what we expect.
Starting point is 00:59:37 Or occasionally, I didn't think that these two things could happen at the same time. Right, and that's hard. Those are hard things to design. But those are hard things to do no matter what. On the flip side, you know, it should be a living kind of thing where you can change things when, you know, no plan survives first contact with the enemy, right? So you should be willing to go back and change it? And that's why people, you know, get down about waterfall, the waterfall development process, which predated agile, which is like, oh, we do this design, and then we do implementation, and then we do blah, blah, blah, blah, and then you don't go back. But you always go back.
Starting point is 01:00:09 But you always say, I learn this, and so that changes the design. The design is not set in stone until something is shipped. And even then, it's, you know, you make changes, but yeah. But I learned that through medical device process and a little bit at Cisco where those sorts of things were common back in the 90s. But I don't know. It seems like a hardware people do that more now than software people. I don't know.
Starting point is 01:00:36 I mean, I have one going for one of my projects. But it's medical? Yes, but I would have it going anyway. All right. Because it is about the how. The requirements of the what, the system design document is the how. And you don't need to put code in it. You shouldn't.
Starting point is 01:00:58 But you do need to write it for someone who is like you, but who doesn't know anything about the project. You don't have to explain every little thing, but you shouldn't expect them to know more than you do. And to some extent it's a record of why you made certain decisions. Oh, yeah. And there will be points when it's like, okay, we did this for expediency's sake. And should we revisit this, we should look at these three factors. And I don't think you should, like you said, you shouldn't make code in it, but certainly if there's a core algorithm. Pseudo code, yeah.
Starting point is 01:01:32 Pseudocode can go in there, math can go in there. You know, this is, this is where you put the pretty math instead of the horrible array matrix multiply you have going. Right. Yeah. Anyway, I think they're valuable. I think people should do them. But you don't necessarily have to enjoy writing it. Right. The goal there is to have a good design to make your life easier so you have fewer bugs. It's not because you enjoyed writing software design documents. Yeah. Okay, let's see.
Starting point is 01:02:06 Matt wrote a long thing about clocks on modern micros. Okay. I'm actually going to go through this because there's a lot to it. Matt was talking to another person, I think a graduate student, new grad, I don't know, about clocks on microcontrollers. Kind of clocks. Well, okay, let's go with the STM H5. Signal clocks, real-time clocks? High-speed clocks.
Starting point is 01:02:39 We have an oscillator. And we have an H-S-E and an H-S-I. So it's an external clock and an internal clock. And you can configure your other one of those. Okay. The external clock goes out or comes in? It comes in through an oscillator. The internal clock is created by the microcontroller.
Starting point is 01:03:03 Comes in from an oscillator. Comes in to the micro-oculator to microcontroller is external clock. Got it. Got it. A microcontroller, inside microcontroller is the internal clock. Okay. These clocks run at some frequency. And then we add a PLL, which if you've never heard of a PLL, it stands for phase lock loop, and that helps you not at all.
Starting point is 01:03:30 Right. You actually did PLLs with your synth? I built one. With your drone synth. Yeah. But there was a chip. Does it make more sense now? A little bit.
Starting point is 01:03:42 I mean, the parts we were using was basically to get a signal when things were in or out of phase. So I don't remember if we actually got it into the lock mode or not. It was more of a, how can we make sounds even worse? Okay.
Starting point is 01:04:00 But a phase lock loop is something that looks at two signals and looks at when they're in and out of phase. And I think the loop part is to, adjust one or the other, so they are in phase. Is that right? Yes, although we do tend to use them for worse. That would assume that these two signals are at the same frequency.
Starting point is 01:04:24 But usually what we do with PLLs is we tweak them so that they're at multiples of the initial frequency. Right, right, okay. So you put in a 12-hertz oscillator off of, your chip and then you pll it to multiply by four, and now you have a 48 megahertz internal clock. Right, right. You have 48 megahertz clock. It's not the internal clock.
Starting point is 01:04:49 That's now the... Yeah, that's one of their things is they can also be a clock multiply. Right, right. They can be a clock. But they're in phase with the other clock. So when you have an edge, even though the other one's operating at twice the frequency, where they line up, they will line up. Sir, I've never looked.
Starting point is 01:05:07 But that's important because if you're trying to... if you're synchronizing multiple events at different rates, but you want them to, you know, when they're in sync to happen at the same time, they have to be in phase lock. So that's the phase lock part. Yes. But if you had a multiplier that infused a latency, that
Starting point is 01:05:23 wouldn't necessarily be useful for certain applications. But for this, all we're doing is getting a clock to drive our processor. Yeah. Okay. So, and you can do this with the external clock or the internal clock, and you You can have different
Starting point is 01:05:40 precisions based on whether you're external internal and what your PLL configuration is. And Matt was saying that, as I'm explaining it to the grad and seeing his brain, tried to absorb this information through his wide eyes. It occurs to me that this is all nuts. How do people learn this stuff these days?
Starting point is 01:06:03 I mean, the same way we did. You do it? You do it. You read the data. You go, what the... No. and then you bang your head on it for a week or two, and then... You read the manual?
Starting point is 01:06:15 I actually introduced one of my colleagues to how much fun it was to really read all of the spy register details so that he could optimize everything. Remember a discussion about enjoyment? Well, I mean, I enjoyed that immensely. I have no idea if he did. I really loved that. It was like the best part of my week. Yeah, anyway. So, yeah, clocks are complicated.
Starting point is 01:06:44 I think it's, okay, so the H-5, STM-H-5 is a big processor. To me, who likes the Cortex M-Series. Yeah. Which are getting big. Yeah. There's the M-55 and the M-7. And so this chip is below, what I think of as needs an operating system,
Starting point is 01:07:12 but above what I think of as probably should have an operating system. It's one of those in between, like you could run at bare metal, but do you really want to? You have a lot of play there. They have a lot of processing power. And if you had an operating system, most people would absolutely ignore the clocks. they would just do whatever the operating system set up
Starting point is 01:07:41 and everything would be golden and you would call the one guy out of retirement and he would help you change it if you needed it but overall you don't need that now this is not really fair I mean Zephyr doesn't make it that hard to change these things you just have to know where to look and what to read and there are Zephyr experts to help you
Starting point is 01:08:03 but the real point here is you don't learn everything everything all it wants. Yeah. And you don't even learn everything in places you're supposed to learn them, like school. And you don't learn everything. Yeah. Which is one of the weird things.
Starting point is 01:08:19 You shouldn't because, you know, how many times have I needed to use a phase lock loop and understand what it means in my entire career? Never. Never? Really? Never. Go into the clock tree and you multiply stuff, but what am I doing with a phase lock loop? I mean, that's, yeah, you go into the clock tree, you just set it up the way you want it to, and you stop worrying about it.
Starting point is 01:08:43 I'm not going to waste a week trying to learn it, except in the context of drum machines, which it was actually useful to me. Yeah, so I don't spend a lot of time, at least in the, you know, the workspace, learning things that I don't see that are going to come up a lot for me, right? It's true. It's not to say I don't enjoy learning things in that context, but I don't reach for stuff unless I'm thinking, oh, I'm going to expand my career horizons. I want to learn this space. So I can do this. But most of the time it's, oh, this has come up and I haven't used it before. Okay, time to learn it.
Starting point is 01:09:23 Very much so. And with the book club, that is the other way. That's I want to learn this. And I'm not sure it's going to be useful to me. or very useful or useful in more than a... But there might be fringe things you learn, reading, doing the mathematics that you're learning. It's been a great refresher on linear algebra.
Starting point is 01:09:46 It's been a good refresher on I can do fancy math. It's also, sadly, been a bit of a refresher on, wow, there are just some things I don't understand. And despite trying, I feel like I may never understand them. Which is also fine. I mean, I don't know that it's something I'm going to use, so it is fine, other than the self-esteem issues. Wow. One more question?
Starting point is 01:10:14 Sure. We can make it a long one. We did it about for the first half an hour, so let's give them some stuff. Good content, finally. Some good content. As content creators, we need to create some more content. Siler asked why we were listing our hobbies in a recent. show with just us.
Starting point is 01:10:36 She asked why we didn't mention the podcast as a hobby. Because I don't think of it that way. I don't think of it as a hobby. I don't know why not. I mean, we get enough to pay the folks who do
Starting point is 01:10:53 transcripts for us and a few other things, but it's not like it's a career. It's not a hobby, but it is part of our career. But it's not advertising for our... No, but it's exposing us to new people in the field.
Starting point is 01:11:12 That's true. I forget that benefit. There's tons of connections we've made. I mean, it's not all just going out and talking movies. That you have to pay for on Patreon. Patreon.com slash embedded. Yeah. Chris Gamble actually asked a question.
Starting point is 01:11:30 When do you pull the trigger on recommending a different vendor's chipset? and take the hit on porting code slash dealing with all the differences and capabilities. End of life, easy answer. Are there forcing functions from a firmware perspective? My only experience is sourcing issues on hardware perspective or capabilities if they are really needed. That's becoming a little bit less on a firmware perspective.
Starting point is 01:11:55 If you've architected things right and you're using an R-Toss, the hit is, oh, I've got to set up, you know, the hal, the hardware configuration, the spy, bus, the i.a squared C, all that stuff. But if you've architected it correctly, or you're using Zephyr, which kind of forces the issue, then your drivers are layers away from your business logic. And you can swap that stuff out as long as you've got enough flash, CPU, and all that stuff. Microcontrollers are a microcontroller as far as I'm concerned at this point. The forcing functions would be, crap, I'm out of flash.
Starting point is 01:12:31 or out of ram those are times where you need to move to something else but usually move within the line so if you're
Starting point is 01:12:42 moving to a different manufacturer then you know there's a fixed fixed cost to tooling shift but there shouldn't be a big impact on your firmware unless you've architected it so bare metal
Starting point is 01:12:53 that you're rewriting you know base level drivers and things there's a lot of shoulds in there there's a lot of sheds but yeah okay
Starting point is 01:13:08 so we have microcontrollers that are general purpose and they're essentially little computers everybody has some U-Arts everybody has some spy this family has BLE that family has Wi-Fi
Starting point is 01:13:24 they got RAM they got flash they got CPU right maybe maybe one or two CPUs maybe four CPUs. And sometimes there are differences. I found that microchips configuration configurator, I don't really know what MCC stands for.
Starting point is 01:13:40 Configuration configurator is probably not what it stands for. Was actually better than ST's Q? Oh, yeah, cube is, yeah. And I was really surprised because I'm used to microchips tools being not as good. But I wouldn't change for that. Some things I would change for.
Starting point is 01:14:05 Right, because that's something you don't touch that much, right? Right. On a product, on a project, you do that initially. You maybe come in from some tweaks when boards come in. You do a few things, but you shouldn't be in there reconfiguring your chip setup more than, you know, a few times. And then most of the time, it's code. So it's usually the peripherals that cause the change. Yeah.
Starting point is 01:14:28 Um, sometimes price, sometimes availability, of course, in the last few years has been a big driver to change your, uh, firmer, to a new processor. And, and so Chris was saying, well, if you do it right, it shouldn't be that big of a deal. And that's true, but we don't always do it right. Well, you should. And there are optimizations and reasons why it doesn't happen. Like, I am actively, I mentioned reading this by registers. We are actively breaking modularity and dealing with things at a very low level because we need some speed improvements on one particular thing.
Starting point is 01:15:12 Not a big deal. But if you switch processors, that may not be available, or you may not even need to do that because it may be able to work great. Exactly. Yeah, one of my solutions to this problem. Maybe we should get another processor, just stick it over there. So it's, I think, more about your peripherals. While needing more flash or more RAM or even a few more processor cycles,
Starting point is 01:15:39 those are all things that you should be able to get out of a line or out of a vendor. But when you need to shift from Wi-Fi to BLE, then you're looking at a different processor. Well, you're looking at a different architecture. And actually, there are now chips that do both, so maybe you aren't looking at it. But as you're looking at a wildly different communication method, USB, optimized for USB versus optimized for can. But that feels like a design change to me. Something has changed in the design, and therefore that's forcing us to change. Right.
Starting point is 01:16:14 And again, there are processors that do USB and can't. But if you're looking for something cheap and not that general purpose, that's one of those forcing functions. The other big forcing function that I have seen in the past, and I think is still relevant, is if you are doing motor control at a motors level, at a commutation level, not at a robotics, inverse kinematics level, but at a lower level, the type of motor you have and the type of processor you have usually are linked. TI has a whole bunch of different ways of controlling motors Microchip has a whole bunch of different ways of controlling motors and as far as I can tell they have nothing to do with the same motors it's like they're totally different motors like you say commutation everybody's like oh yeah we're doing commutation
Starting point is 01:17:07 and like no these use this and that and these are kept and those are yeah so I I would say low level motor drivers may still be an area of Anything where, like you said with the spy, anything where you're reaching in and there's a particular, you know, hard tie between the chip and something out of external, some feature using on the chip. And if more than three peripherals you're playing with at the same time, then you're probably not in an operating system or you're below an operating system. Yeah. I mean, if it has a neural thing and you're tied to, you know, special feature of the chip. An OLED display versus a large pixel display, the display properties may force you to change chips. Although then you're – maybe instead of changing chips, you should just put a graphics driver out on a spy port.
Starting point is 01:18:06 There is no single forcing function except maybe availability or end of life. It also doesn't happen that much. I mean, when I say you should plan for it, you shouldn't. plan for it so much that you're spending a lot of time on it. Because, you know, if you're writing software that you wouldn't write because you're afraid that's in five years, you're going to switch chips. You aren't going to use it. You're not going to, yeah. I mean, there's been times we've done that. And it's like, well, yeah, we're changing chips, but it's the second product, like we're changing everything. So everybody's going to be in the weeds of firmware anyway.
Starting point is 01:18:41 It's not, it doesn't come up that often. It probably comes up more lately because who knows what your chip you can get from, you know, it's better, but, you know, there's still supply chain disruptions occasionally and things like that, where it's like, nope, we don't have that. But the firmware engineers should be using the available hardware abstraction layers. Yeah. Unless you have a good reason to dig in there and reach in and play with the registers yourself, go ahead and use those hardware abstraction layers.
Starting point is 01:19:06 They're not hurting you and they may help you. Or just use effort and solve this problem for yourself. You say that as someone who has not. But you amortize the pain. You amortize the pain into a completely different area where you don't notice what's happening. No, you amortize the pain onto a different person. Huh? So that you never have to learn it yourself.
Starting point is 01:19:27 What? Yeah, I think that's the best way to do it. Who's the person? I don't care as long as it's not me. Oh, I see. Okay. That's not true. I actually think Zephy is pretty cool.
Starting point is 01:19:38 Although it was not easy, but it was pretty cool. I think it's getting easier, but it's still difficult. That's why I'm saying. there's some difficulty up front that you general things are more difficult general things oh oh yes it's more you know it's it's generalizable you can it's easy to take it's easier to take a zephyr application and move it to a completely different chip than it is to take a bare metal STM 32 hal and move it to a different chip from a different vendor that's all Okay, is that enough stuffs?
Starting point is 01:20:14 I think it is enough stuffs. All right. Well, thank you for listening, everyone. Yes, thank you for listening. For those of you who have heard 511 different episodes. What is it wrong with you? I can't even tell you how much we really do appreciate that you listen. That's what I meant to say.
Starting point is 01:20:36 And those of you, for whom this is the first show, You've missed a few of the in-jokes, but we welcome you nonetheless. For all of the guests we've had, hundreds of guests, thank you. You make the show more than we do, and I am always pleased to have the guests come back because people's careers changed. Ours has.
Starting point is 01:21:02 And thank you for Mouser for sponsoring this show. Thank you for listening. And hit the contact button on Embedded. FM, if you would like to send us an email, or email us directly at show at embedded.fm. And we do like hearing from you, so if you're hesitating and you think you're going to bother us, don't. That is true. I do. We both do like hearing from you. It makes Christopher blush sometimes, so I'm awful. What? Yeah, you get the little. It's so cute. I don't think that's a thing. And now some Winnie the Pooh. Ooh. It went into chapter 8.
Starting point is 01:21:40 so, you know, he flipped a bit too. Chapter 8, in which Christopher Robin leads an expedition to the North Pole. One fine day, Pooh had stumped up to the top of the forest to see if his friend Christopher Robin was interested in bears at all. I'd breakfast that morning, a simple meal of marmalade spread lightly over a honeycomb or two. He had suddenly thought of a new song. It began like this.
Starting point is 01:22:08 Sing ho for the life of a bear. Sing ho for the life of a bear. I don't mind much if it rains or snows, because I've got a lot of honey on my nice new nose. I don't much care if it rains or thaws, because I've got a lot of honey on my nice clean paws. Sing ho for a bear, sing ho for a poo, and I'll have something in an hour or two.
Starting point is 01:22:30 He was so pleased with this song that he sang it all the way to the top of the forest. And if I go on singing it much longer, he thought it will be time for a little something. And then that last line won't be true. So he turned it into a hum instead.

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