BB-8 has a patrol mode where it acts autonomously. An exploration of that leads to an introduction to RTOSs, comparing processors, and programming languages. Happily, it all ends in a section that makes some suggestions for you to try out.Read More
I started with simple state machines last week. This week I want to talk about more complex state machines and interrupts. These are software topics but we’ll get back to the hardware soon.
The karaoke buttons that control music playback are far more complicated than either its disco button or the quadcopter’s power on sequence; if you press play on the karaoke, what happens? What if the door is open? What if there is no CD? What if it is already playing?Read More
Having considered digital inputs and outputs, you’ve already seen more than 50% of a toy’s hardware. Oh sure, we should talk about the fancier sensors, motor control, and audio outputs but those are one-offs, specific to a toy’s particular function. Many toys don’t have them or only have one; buttons and lights are enough for some toys...
I’ve mentioned the processors in the toys a few times. I can’t show you what is inside the software (partially because the designers sensibly locked out the ability to read the code from their processors). I can show you how to figure out what is in the software without breaking any laws or copy protection.
The quadcopter controller has some normal push buttons which work the same way that the karaoke buttons work. The on/off switch is a slide switch (like karaoke’s on/off switch but its action goes side-to-side instead up-and-down), the rest are momentary buttons. From the outside, it may not be obvious that the controller’s flight trimmer inputs are momentary buttons, they look like rocker switchesRead More
Last week, I introduced two inputs on karaoke: the power button and the door-closed switch. Those are simple buttons: one electrical line carries one digital signal.
This week, I’ll show how to put a lot of buttons on a few electrical lines and introduce some non-digital signals.
Confession time: I hate blinking lights. Oh, I know, I read (and wrote!) the last few posts and I like controlling LEDs as much as the next engineer, but I don’t like seeing lights blink. They’re often too bright, too annoying, and too useless. Pushing buttons, on the other hand… well, if the world ends, it might be because I wanted to know what would happen when I pushed some big red button.
I'm writing a book about how to learn embedded software concepts by taking apart toys. This is the first chapter. I hope you enjoy it.
I talk to many engineering friends who say they took apart their toys (and everything else). I was not like that. I didn’t know it was possible to take objects apart. I definitely didn’t know how much I could learn. I never imagined how fun it would be.