Alicia White
Appearances
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
By accident? I mean, isn't that how it usually happens?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
So in college, I took applied CS courses because I couldn't see the point of the theoretical ones and theoretical engineering because I didn't really like any of the actual engineering. And what that gave me was Fourier and signal processing, as well as the ability to develop products.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I went to HP and net servers, big then cloud computers, and kept getting lower and lower into the hardware, monitoring temperature, the things that we monitor now in cloud servers. We were just starting to put in temperature sensors and alerts when things were happening instead of just the bad old days of having computers that ran or they didn't or they caught on fire.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And you found that out by going in. And as I kept going lower and lower in the stack, eventually I wandered over to HP Labs and that was when we made DNA sensors, DNA scanners. And I didn't know what I was getting into. My perspective boss was like, you'll really enjoy this, I promise. And I was just like, HP Labs, that is the best location ever.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And the first time I moved a motor, because I told it to, not just because I powered on something, but the first time it was under my control. It was magical. It was like software can touch the world. Software can change physical things. It's not just zeros and ones. It's move this here, read what's actually happening. That physicality of embedded systems is what got me into it.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And that's what's kept me there. I really like... Not blinking lights. A lot of people get into it for blinking lights. A lot of the hobby things are blinking lights. And I appreciate it. I hate blinking lights. But I appreciate their enthusiasm. But for me, it's touching buttons and having things happen. So that's how I got into it.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But I found out you can actually write software that changes things. And not just other software.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Teaching people, it's always amazing to get to see that moment or to see part of it. I like mentoring folks in hopes that I can be there when it hits.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes. I mean, teaching now, there are some simulators. There's one called WOKWI, W-O-K-W-I. And it will simulate an Arduino system. And you can program it under C or Arduino or MicroPython, lots of interfaces. And it takes out that pain of wiring, getting the wiring wrong, blowing it up, all the things that can happen with embedded systems. It also takes away the pain of cross compiling.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But in the end, it's on the web. And I agree, if you want to see that coding can do more than just, it's not just typing, it's doing things, it's doing cool things. Changing web pages and interacting with simulators is totally the way to go. But yeah, it is sadly a little bit of a step function with some of the embedded systems. Trying to get from, I opened a box to I'm doing something.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
If anybody wants to try it, like wants to try it today, we've said Arduino. Arduino is really great. It was the system developed for helping artists do installations. And so the whole system is very directed towards art and making things accessible that way. They don't expect you to have 20 years of sea experience. The other one is one of the micro Python boards.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
That one, Python's a pretty easy language as far as languages go. It's not C, and it isn't compiled, so you can try stuff on the command line. And you get a micro Python board, you plug it in, and it acts like a thumb drive. You just take your Python file over, put it on the thumb drive, and then there are all these things like motor.run, and suddenly it runs.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And at that point, you do have to have things wired up. But there are a lot of kits for the MicroPython, and it's a good way to get started. And with MicroPython or CircuitPython, which are very similar things, you can get started right away making bigger and bigger things. Arduino, I love Arduino. There's a lot of Arduinos. There's a lot of good things you can do with Arduino.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But it's an old system, and it's really expensive for what it is. So I would recommend MicroPython for the future.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It's a great system. Uri Shakad is the developer and he's very responsive and they've got a Discord. It's really fun. And we have an episode about it if anybody wants to look up that. And I feel here for how do I get started without breaking everything. Adafruit and SparkFun are two companies that are for hobbyist electronics, and they both have Boards you plug together.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You're not going to solder these. I mean, you can, but the goal for them is you just click these things together and you don't have to worry about that. Am I providing enough power? Am I going to cause a small fire if I leave this on overnight? So Adafruit and SparkFun are the places to go to find these things out. They both have a really great tutorial system as well.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
So if you're thinking about getting into it, It's a good place to go. On the other hand, Wakui lets you do things like have a robot army that you control from an Arduino because you can put in 500 motors and Wakui doesn't care. If you do that in real life, you're talking about a lot of power and figuring these things out. But if you do it on Wakui, it's all just really fun.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes. Yes, indeed.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
encouraging everybody to come to Embedded says, it's not that bad. You just read my book. It's all fine. The real me has to admit that over-the-air updates are never going to be easy. Security is never going to be easy. Low battery.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
All these things where you have, like in toys where you have to shave off pennies so you end up with a processor that should not be able to do this much, but you are packing in every piece of RAM, every cycle is spoken for. And that optimization, it's... People bring me their Arduino projects and they say, it works. All the features work most of the time.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
and I look at it and see all of the things that isn't going to work. Usually there's like, I just want it to connect to the internet so I can get the data back. Like, okay, so you have to have a database for the data you want, the cloud data, the cloud data of interest. But you may also need to monitor the devices to make sure that they check in?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
What if this is a medical device and you need the user to be using it? So if they aren't using it, you need to know. And then what if it's had some faults? What is the fail safe? Can you actually hurt someone? What firmware version is it on? And these are all cloud problems. But these are cloud problems that have to be solved with the device.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And as you scale from one or two or three devices in your house that you're playing with, that you're building, or even 10 devices in your tiny startup office into thousands or millions. I worked at Fitbit, and this was a huge problem as they scaled. Oh, I mean, orders of magnitude. That database became bigger and more people had to access it.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And yet you don't want someone to know where President Obama is right now because he tends to wear a Fitbit watch. That's the sort of data you don't want to get out. And yet you still need to know if every device is up to date and if their batteries are degrading more quickly because on the new firmware, Yeah, there's a lot. There really is a lot. It's not insurmountable.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And there are companies all the time that are trying to make it simpler. Do they succeed? Some of them. Some of them succeed pretty well, but it's never, sometimes they talk about it being Lego blocks. Like I used to have to develop a lot more stuff. But now I get my drivers from whatever repository I'm working. I get them from the chip vendor or from the RTOS vendor.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I don't have to write drivers anymore. And other pieces of code like IMUs, most of that code comes from somewhere else. I used to have to write it. I don't anymore. It's really nice. But there's still this... the shimming of it together to try to get it all to work together given the time constraints or whatever other limitation there is to the embedded system.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I guess that's another way that I have defined embedded systems is that they are purpose-built for what they do. And so they don't have a lot of extra resources.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
whether it's needing to live underwater for five years on one battery, or whether it's needing to live in your pocket overnight on one battery charge. They don't have extra stuff. And that causes a lot of problems when you need to do extra stuff.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I do. I do. I really like puzzle solving. And I'm not super afraid of math. So if I need to add up where all of my memory is going or be able to look at a memory map file and see hex addresses, those don't really scare me. I know that they're just addresses. They just look funny.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But I really enjoy the puzzle part. And like I said, I really enjoy the motor moving. And when the robot, for a personal project, I wanted to do some higher level software. So I got a Jetson, which is NVIDIA's AI embedded system. It's a Linux system. It's a computer. I used it as a computer for like two weeks.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And I wanted to get a really janky arm, a robotic arm that could go up and down and grab things. And I wanted to make a typing robot. I wanted to have a camera that would see the keyboard and then the robot would hold a little I don't know, pin tooth like thing. And it would punch out hello or whatever I told it to punch out. And it kind of worked.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And I used some machine learning and I did a lot of computer vision, which is an area I'm always interested in. But then one day I'm telling it, okay, type hello. And it types help. And I'm like, done. I'm like, this is the end of this personal project. I cannot make it any better. This is the best. And I forgot why I started this story, but I hope it was amusing.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It certainly did. It was... In the way of how much software can I throw at a problem to make the hardware that is very bad better? It turns out you can throw a lot of software at some bad hardware and it still is bad hardware. But it can be really fun.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You might have noticed that your home has more blinking lights than it used to.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Electrical tape.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It is growing. Some things are becoming easier. Some things are becoming more straightforward. But I see more job openings than people looking for jobs. So I would say that's pretty good. How do you get that? There are a lot of paths because, like I said, what is an embedded system depends on your perspective.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
There are quite a few embedded Linux projects that still are embedded because they need to be very conscious of their constraints. And yet, to most software engineers, it wouldn't look that different. It might be boring because it's trying to figure out how to provision 100 small sensors with IP addresses. But the actual algorithms and such wouldn't be strange.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It would be the interactions that were a little different, having to deal with actual boxes out there.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But then when you start getting into higher, I guess it's lower tolerance, things where you have to last for five years or have to squeeze out every microamp possible, or even things where firmware update is very hard and if you do it wrong, things go very bad for you. Like firmware update at the bottom of the ocean. Those, you don't start with those.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I think that's what I need to say is there are better places to start. And there are a lot of things that software engineers know that embedded software engineers are still picking up. We are not really that good at CICD. Somebody could just tell us how to use Jenkins instead of making us figure it out each time. That would be great. I mean, that's not, I use Jenkins, but.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Some of the software engineers I work with, Jenkins is just like obvious. Every part of it is obvious. And to me, it's like, I can do what I need to do. And when you ask me to set up a new project, I just go home and like, I don't know, turn off my computer for the rest of the day. Design patterns was one of those things that I really wanted to bring to embedded systems.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And I feel like I have kind of talked about it for the last 20 years about how important it is to not keep solving the problems in new ways, but to start solving the same problems in the same ways each time so that we don't have to rewrite all the code. And things like object-oriented programming, it's not new. And a lot of embedded people really understand it.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And yet we mostly program in C still. I know. I know the gasps, the horrifying screams, yes. We still mostly program in C. But we don't usually program in an assembly anymore. We're making progress.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes. There's open source. I mean, the vendors of our chips have figured out that they don't really want to keep giving us their crummy software in ways that only they can manage it. So like ST and Microchip and Nordic all have big repositories and they have examples of working with different sensors. They have all the drivers there.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And then we have things like Zephyr, which is an operating system that is kind of like you took Linux and you made it much smaller. And then instead of anything you could run at runtime, you hard-coded it at compile time, which has some interesting things. The device tree is one of those things that most people in their first three months of Zephyr experience will start cursing.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And once you have, yeah, so Zephyr is huge and FreeRTOS is now open source. Walkway is open source. Most of it, I think. I think there's just a little bit that isn't. A lot of like the sensor vendors, like the IMU vendors will give us code. And sometimes that's partially open source and sometimes it's not.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But the easy stuff now, the Kalman filters that used to be so complicated, now that's code they just give you. They tell you how to do.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
A Kalman filter is a way of... I could talk about this for like three hours. I'm trying not to. Okay. Okay, accelerometers and gyroscopes. Accelerometers measure gravity. They measure acceleration too, that's what they say, but really they just measure gravity. Gyroscopes measure spinniness, how fast you're turning.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And it doesn't really matter whether you're spinning around a certain thing or whether you're spinning around part of a thing. So you can measure how your arm moves with a gyroscope. It's not like it has to go around and around. It's just how much is it turning. when you are in a car and you're going around a cloverleaf. You're spinning and you feel acceleration.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You feel acceleration, you know, the outward push of you as you're spinning around. An inertial measurement unit can use both of these sensors and know which one is wrong. And it's kind of like your ears and your eyes. If you are spinning around in a circle and your eyes are closed, you're going to get dizzy much faster than if your eyes are open.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
The Kalman filter is a way to combine sensors with different error features, different error characteristics into a way to get a much better response because you can characterize the error when nothing's happening. Or you can characterize the error in certain conditions where you know one is good and one is bad, like on a clover leaf.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
They would provide the algorithm, yeah. And they would provide the base code for how good each of their sensors are.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Better than I want to.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
In 1990, it was a patent I worked on.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Well, no, I helped implement them.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It came out of a, and to be fair, a lot of people started doing IMUs and Kalman filters in the early to mid 90s. And it exploded as to the applications, but a bunch of PhDs were done at that time. And so they became very, very popular because they solve the inertial measurement unit problem pretty well. And now they solve a lot of other problems that involve a bunch of sensors.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Usually when we talk about self-driving cars, the GPS has one set of errors, mostly it's really slow. The LiDAR or camera can have another set of errors and it provides a different set of information and the different types of Kalmans can put all of these together. And the idea is just you put the errors here and you put the data here and you try to make the best out of the bad situation you have.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I can't picture doing it only with cameras.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I mean, the argument is humans do it only with cameras.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But we have a few other things.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Our eyes and our inertial measurement units are very well connected.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
So there is no disconnect that if you jerk the wheel, you know what your vision is going to do.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And as a human, I just cities, cities and self-driving cars. I worked on autonomous vehicles and not just underwater, but self-driving large off-road vehicles. And. We did it almost entirely with cameras. But part of our goal for the future was dealing with stop signs and pedestrians. And I spent a lot of time with the machine learning systems and the reinforcement learning systems. And it...
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It's a hard problem and I don't know how they're going to solve city driving in a way that is truly safe and doesn't have systemic failures. That's one of the problems with medical devices. When we talk about doing embedded systems and medical devices, it's usually there's some element of, oh my goodness, there's so much documentation. There's so much documentation the FDA needs.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And that's primarily to make us understand the ramifications of the points we're making. And the reason for that is because Oh, I've started this in the wrong place. Okay. Moving backwards. If you work on airplane stuff, there are different levels of concern. If you take down a small airplane, a Cessna, it may crash into something important like a school.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And so you have a certain amount of damage you can do with a small plane.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You have a much bigger amount of damage you can do with a larger plane. Medical devices are a little confusing because, and safety critical devices, medical or vehicles, have a problem that you can have thousands of them in the field when they start to fail. And so your problem is not that you have hurt one person.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Your problem is that your software has decided that the 29th of February is not a real day and has gone nuts and is now on its murdering spree. And that's what you need to avoid. And so the thing with cars is that we keep trying to make them better in small ways, but I feel like we've kind of reached a local minimum that we're not going to get better with just cameras.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Hi, it's nice to be here.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I'm not even sure we're getting it better with just a LiDAR. But I don't know how to build in that feeling of where the car is, the proprioception that you get as an experienced driver. I'm afraid that cars will drive like 16 year olds forever. And I don't know that that's what we want.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
As a human, you can't do that either.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I think it's 492 today.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Octopus Army.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Like you, we like our titles to be amusing.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Freeways and trucks.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Self-driving on freeways and trucks, I think, is a better possibility. Freeways have a much smaller number of things that can go wrong. And it is more of... It's not a closed system.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But it is a differently constrained system.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I mean, if they had their own roads, it would be much simpler. Then it would be truly closed. And... In the meantime, I think we can get closer on freeways more than anything. I mean, there have been a lot of, most of the new cars now will have lane keeping and keeping up with the person in front of you. All of the things that the initial full self-driving Tesla did.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
we can do now in you know my new bolts it is progressing whether or not we call it self-drive or if we just call it new safety features yeah i think it's getting there and i like the idea of a closed system but at some point you do go back to being a train and so you're laying track Or lane pavement that can only be used by this form of self-driving.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
We'll put sensors in the roads. We'll have it monitor the car in front of you. and humidity conditions. And then the sensors in the roads will talk to the cars. Wait, wait, let me scribble this down.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes. There are lots of times when it's like I have a problem. I know how to fix it because I know how to wire things together. But I also have that same feeling in software. Yeah. that sometimes I can invent something just pure software. I do origami and I write Python scripts. I write very long and complicated NumPy scripts for doing origami. And I love that.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
They create crease patterns, which I can then use a laser cutter or Cricut or other device to pre-score paper. Then I can fold along wavy lines, which will give me origami that is not flat, that is patterned in weird and wavy and organic methods.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I guess so. I never really intended it, but that's what it is.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Do you, I mean, there's curved origami out there, yes. Yes, there are other people who do curved origami.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
The scripts give me the crease lines. And they... Let me combine straights and creases in order to get tucks and weaves. And I will go off the rails here. Go off the rails.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Adam was saying how you can invent things. And I think you can invent things in software too.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And it's some of the same impetus that you invent them because you want them. I had a stuffed animal that would wifi to another stuffed animal, wifi through the cloud to another stuffed animal. And when you padded it, the other stuffed animal would light up and you could, you know, you could have this, this sort of communication to someone else.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Actually, the podcast was originally called Making Embedded Systems, which is the title of my book. But then everybody just kept calling it Embedded. And we're like, fine, OK. And then NPR came and said, we want to have Embedded, too. And we're like, no, it's ours. But actually, we just said, can we please interview an actual NPR person? Because that would be so exciting. So that's what we did.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I would pat mine and theirs would light up. They would pat theirs and mine would light up.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It was like a good night, sort of.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Well, this actually went through the cloud. So it was more like you're in college and you're telling your parents you're going to bed.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yeah. All kinds of just, yeah, two people connecting quietly. Yeah.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You could have made it.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But with an Arduino or one of these little micropython circuit Python boards, think about what you would need to do. You would, you need to, okay, so like mentally build the system architecture. You need to push palettes. You need to be able to tell time. And you need to monitor temperature. If you went online and looked up, how do I get a thermistor? How do I tell temperature? Really easy.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
That would take you three minutes. Wiring, it's going to be easy. Powering, it's easy. Doing the timing, a little bit of research on that will probably turn up that you don't care whether you're doing two hours in one minute or one hour, 58 minutes. So you don't have a big constraint between really good time versus kind of crummy time either way, as long as you're around two hours.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And now you have to figure out how to push the pellets in in a way that's probably metal because you don't want it to burn in plastic. You're not going to 3D print this. And now you need a motor subsystem. And that's where things get a little complicated. But motors are very common. And you can buy the kit that just says, I want you to move here and I want you to move there.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And so you push the pellets in. Maybe you have another door closer thing. Now you're getting into the mechanical. And I do get intimidated by mechanical, but you have a unit that works. You can start to look at it and see how does this work? What are the mechanical pieces that I need to be able to push and close doors and scoop pellets? It becomes... You want to build this.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
So you build each piece and then they all work together and then it's done. And then you want to do firmware update and you call me.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Well, okay, picture this. You are just sitting there and doing your work, coding away, and you get an email from NPR and it's like real NPR people and they say, we'd like to talk to you. And you're like, oh my God, it's my big moment. Finally, engineers are going to get to be on NPR and we're going to get to talk about how exciting this all is.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And that mechanical is so much smarter than what I was coming up with.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
So, Adam, what do you want to build next?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Birthday cards.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And they're just like, yeah, so we're starting a show called Embedded, and we just wanted to know if you were going to have a problem with that. And we're like, we didn't trademark anything. You've got to be kidding me. Anyway, yes, it was a huge disappointment. And yet they did let us interview Kelly McEvers.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Chibitronics. C-H-I-B-I-tronics.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
This is away from the software, although they have little microcontrollers it works with, so we can get to the music and whatnot. But what they've done is they sell these kits that have copper tape, and you copper tape around, and you can make little buttons by having pieces of paper touch each other. You can make little sensors by having patterns of copper tape do different things.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
They sell stickers that are LEDs, so you put your copper tape up to one side and your copper tape to the other, and then you put it to power and you have a little battery. Usually the clips, what are they called? What would you call a clip like this? Oops, nope, that's... Binder clip.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Put a binder clip with the battery and you make your own card like that. And it lights up or you can have it do music. They have all of these different neat sensors. And this is more on the electronic side. This is how people understand how do you go from battery through a circuit, right? And you don't need to know Ohm's Law and all of that, Kirchhoff's Laws. That's not that important for this.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It's really about you follow the copper tape to the different pieces and you make neat lit things. And you can add a controller, which can then even add a little tiny motor, which can either vibrate or it can move like you do a paper engineering cutout of a butterfly and it will gently wag the wings. Yes, chibitronics. They're super fun. Chibitronics.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
They were directed towards women at one point, getting girls interested in chibitronics. storytelling through electronics but i don't think they are as gender specific anymore because i've been seeing lots of their new sensors and new systems um being a little louder okay since we're here then i have to ask you i'll just say one one brand and i want a reaction from you alicia crunch labs nothing
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I'm terrible.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And she had to keep leaving because things were happening in other parts of the world that were actually important.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Oh, I've seen this guy.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I don't, but I'm going to sign myself up. I love the little robots, and they had a crossbow. How do I get the crossbow?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes, yes. She was in the NPR studio and she was like, yeah, I have to go. People are doing things. So now we're Embedded or Embedded FM.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes. And my field was so lucky to have Arduino because it really drew a lot of folks in. to be interested, both in electronics and embedded systems, but also in software. And there are Chibitronics and some of these other robotics kits. FIRST Robotics is just wonderful. That's the competition for middle and high school students. And what the kids learn is just
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
just want to hire all of the first robotics engineers. Because once they get into the robotics and they start understanding how the mechanical and electrical and software all work together to make the robot move, they get a systems understanding that's really hard to teach.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Hackster.io, Instructables.com, and Hackaday.io.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Hackster.io. Hackster. And Instructables.com. And I'm grouping these all together, even though they have very different flavors, they are all places you go and tell people about your projects.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
As an engineer, it's like, okay, I'm learning to document. This is why I tell people to use these sites, because I want them to learn how to document and reproduce their projects. But as somebody who's doing it, as somebody who's excited about it, it's getting to show off what you did.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
we don't always get to go to these hackathons or to these hack meetups where you get to bring your project, but this lets you connect to people who are maybe in the same boat. Maybe there's a competition for Nordic dev kit.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And so everybody's looking at the same set of sensors and you get to see what other people's ideas are, but you also, you know, there's, they all have community aspects where you can talk about what you're doing and talk about,
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
what you want to be doing, as well as demonstrations where other people have said, this is what I did and these are the steps so you can reproduce it in case they have a neat project.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
There are. One is about how engineering is pretty cool and how technology is interesting and how you can make cool devices that interact with the world. And the other is about all the depressing stuff that happens in the world.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Like you have this idea and you want to market it?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I mean, it's going everywhere. I fought against the term internet of things for so long. But that's what it is. Everything wants to be on the internet, wants to help you be better or do something different. And I don't love all that. I mean, I don't need everything I have to be on the internet. But having two stuffed animals essentially on the internet, talking to each other over distance,
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It turns out to be kind of cool. The applications turn out to be really interesting. The ability of my doctor to see if I'm using some medical device they've prescribed. okay, that gives them more tools. If it's not okay with me, then I make it not okay.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But it gives other people the opportunity to engage with us if we want to, or to monitor elderly folks, or to teach kids to read, or... Adam, I have to say, it's going everywhere.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And I'm not sure that's the best thing, but... It's also going into all kinds of science. One of the projects that I worked on a year ago, two years ago, that's going out this year is they're just going to chuck these boxes into various rivers around the country and be able to monitor the environmental DNA. So
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I hope ours is the former.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
They would know if an otter moved into this river before anybody could see if they were actually there yet. And they can also monitor things going wrong, like human DNA being in the water too much is bad. The Internet of Things, that's where we're headed. And it may not be great, but some things will be great.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Be aware of your security. Be smart. You don't let strangers into your house just willy-nilly. Maybe look at the names of the companies you're letting into your house. And make sure that they have nice friends and good references and all of that. Because you don't want to create bot networks or allow people to spy on you. So when you do engage with the Internet of Things, do so wisely.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And it's not just people in their houses. It's companies and businesses. UAVs, you need to know where you get your UAV from because some of them report back to their home countries. And that's kind of scary depending on what you're doing. If you're using it to take pictures of the beach, who cares? If you're using it to map your new mining prospect, I don't know if you care.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
But you should think about it. Security is unfortunately the downside of IoT. It's also the S in IoT, which is to say you really need to think about it for yourself.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Yes, there are a lot of downsides to this.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And would you have paid for those features?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I know. We did too, but I would never meant to pay for those features.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
When the dryer's off, it's kind of nice.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I mean, the app does give you more information than could possibly fit on the front of your washing machine. It does.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You can get embedded from any of your regular podcast sites. And if you are faced with one that is embed in all black and looks scary, you're the one with the robot.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
It's like a little robot head slash radio, old-timey radio. So that's us.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
You can get my book. It's called Making Embedded Systems. And it's in second edition. It's from O'Reilly. It's on normal Amazon and bookshop sorts of places. If you're interested in making embedded systems, the goal is for hardware engineers to understand more about software and for software engineers to understand more about hardware and how to design and make embedded systems.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
If you want to contact me for consulting, I think the answer to that is please don't. Please don't.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
We're booked. We're booked for like a year. It's great.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And yet I always love to hear about neat things people are making. So if you want to tell me about your embedded system, hit the contact link on embedded.fm or email me at show at embedded.fm. And I'm just fascinated by the technologies coming out.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
This is another one of those areas where there is a good hacker subset and there's a professional subset and they don't quite overlap. I will be keynoting the Embedded Online Conference in May of 2025. Please don't ask me what my talk is about. I don't know yet, but I will really soon.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Probably sensors. And for the hobbyist or... See, it isn't just hobbyist. I've gone to Supercon from Hackaday. I would happily go to Teardown. There's Open Hardware Summit. There are a ton of really fun places where people will show you how to get into embedded systems or hacking devices or making cool things.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I like to say that I write software for things that aren't computers.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
There aren't as many professional conferences unless they're about certain topics like Zephyr or security. Hardware.io, H-A-R-D-W-A-R-E.io is one of the international conferences that's pretty popular and more security based. I can't think of any other ones, but I know I will when we get off. So I'll send you email and you can provide links.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
That pushes the definition onto what is a computer.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
As long as they're blinking for other people.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
If you're working on servers, then developing an iPhone app is embedded. But if you've been doing 8-bit microcontrollers, anything with an RTOS doesn't really feel embedded. So it is definitely a loose definition, but the whole software for things that aren't computers... Actually makes you think about your microwave and your car and your toys if you have electronic toys for kids.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Thank you for having me. Your podcast is a lot of fun.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
She's got an air tag on her, even though she's a tiny dog and the air tag is like half her weight.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
There's a lot there. And it's huge. I mean, there's all the sensors that get interconnected for science and for industry. And there's ICU devices. And I mean, I did actually work on educational toys and that was so fun. So it's a big field.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Well, I mean, I do it as a career. So most of the time people bring me ideas and I help them build their systems. I may have taken apart a few toys.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
BB-8 was one of my favorite ones when it first came out. Figuring out how to get its IMU data and maybe control it so that it did weird things. That was fun. So I don't do a lot of hacking and reverse engineering except for my own amusement. But the same tools are necessary. The way that I reverse engineer a device is about basically debugging it without the code.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Well, I have a... autonomous underwater vehicle that I worked on last year. And it wanders around its area. For example, one is in the Monterey Bay in California. And it checks in with all of the various sensors that are on the seafloor. I also have worked on some of the sensors on the seafloor, measuring when we get big rainstorms, it changes how the mud And that is really hard to monitor.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
So they dump a couple of smart rocks down there that have to live for years and years. So battery is a big issue. And it's not like I can go down there and push buttons and say, update the firmware.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Smart rocks.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And then when something happens, when there's an event that causes a mudslide or some weird currents happen, it monitors and it reports back to the little vehicle that wanders around the bay and picks up all the data from all the sensors. So, I mean, those aren't entirely my projects. Those are working with the Monterey Bay Aquarium Research Institute, which is awesome.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And they do lots of science and ocean-based technology. Let's see. What else?
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
Well, I worked on a gunshot location system where you sprinkle sensors, microphones, around the city and automatically call the police when there's a gunshot. Oh, that's cool. That was really cool technology and had some amazing applications. I'm kind of glad I left.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I mean, there's the whole, I mean, I am comfortable with the level of privacy associated with it, but I am less comfortable with how the company started being run. Children's toys, that was fun. I got to take some of my toys to a kindergarten, just volunteering. And one of them that I hated, it was a karaoke. And it was the most annoying toy. It would just sing constantly.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And there was a voice changer that did not make anybody sound better. And I thought it was a dumb toy. I was way more interested in this other toy that helped kids learn to write. And I would take the toy to the kindergarten and kids would play with them and I'd watch and it was fun. And then one of the boys who was kind of behind asked if he could take the karaoke home.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And I was like, good riddance. And a week later, he had caught up to his class. He had been really behind. But because singing was the way that worked for him, it totally blew my mind that Something so different than what I could have stood worked. I've worked on DNA scanners twice now, actually. Once pre-1995, 98. Well, anyway, once when DNA scanners were really cool and very hard.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
And more recently when you can just make them on your desk. That progress has been just phenomenal and amazing ever. What else have I worked on? I worked on inertial measurement units, which used to be the way, when I worked on them, that I would make anybody I was sitting next to in a plane just stop talking to me. Oh, yeah, I work on inertial measurement units.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
I could have said, home insurance, are you interested? No, no, no. Inertial measurement units was so good. People were asleep by the end of the words. But I didn't tell them what I was doing on this airplane. I was going to a racetrack so that we could test them on high-speed vehicles. or airplanes, or any of the other places where inertial sensing becomes really interesting.
The Changelog: Software Development, Open Source
The world of embedded systems (Interview)
This was the day before Wiimotes. And so the whole idea of accelerometers and gyroscopes as being interfaces was very different then. Now you flip over your phone and it turns on, that's what you expect. But how does it even know? I think sensors are probably my favorite area of embedded systems right now.