Karaoke Plays Music

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

Using Inputs and Outputs to Make a Toy

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.

Read More

Quadcopter Controller: Buttons and Joysticks

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 switches

Read More

Press All the Buttons!

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.


Read More

Introducing the Toys

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.


Read More