Arduino Toy, Part 1

I want to build a toy for my toddler son, who (like most boys, including me) just loves anything that has lights and buttons on it. I figured I could put something together using an Arduino and various cheap components. This is something I intend to be fun both for him to play with and for me to design and build. Since it will contain an Arduino, I can reprogram and re-purpose it when he gets a little older. Here are some requirements I've identified:

Requirements

  • Must be safe (completely enclosed battery, no small parts he can choke on)
  • Durable (toddlers can be pretty bashy)
  • Should have lights and buttons
  • Should make sounds when buttons pressed
  • May vibrate when buttons are pressed
  • May have switches to change the kind of sounds played
  • Inexpensive (under ~$50)

Given these requirements, I came up with the following tentative list of parts. Some of these I already have laying around, but if you're following along at home, these should get you going.

Parts list:

Item Cost
Arduino Pro Mini $10
4x LEDs (Adafruit NeoPixels) $5
Mono Audio Amplifier $4
Thin Speaker $2
Mini Vibrating Motor $2
4x Illuminated Pushbuttons $5
LiPo Battery, 1250 mAh $8
Project enclosure $4
4x LED holders $1
Perma-Proto Board $5
Total: $46

Some notes on the parts I've chosen here:

Obviously the Arduino will be the "brains" of the toy. I've specified an Arduino Pro Mini for cost reasons, but a regular Arduino would also work. The downside of the Pro Mini is that you need some way to program it, such as an FTDI cable. (I already have one, so that's not a problem for me.) You could also potentially breadboard an Arduino using an ATmega328 chip, but again, you need some way to program it. I also looked at Adafruit's Pro Trinket, which would also work nicely.

The LEDs are NeoPixels, which are pretty sweet because they have the LED controller built into them. That means you can get RGB colors and discrete control over each LED using only one digital pin on the Arduino!

The mono audio amplifier is a nice, low cost amp from Adafruit. It's needed to make any sounds generated by the Arduino be actually audible once fed to the speaker. A LM386 (or similar) audio amplifier would also work.

I've specified a rechargable LiPo battery, but you could also use a regular old 9V.

Adafruit's perma-proto boards are great for making your prototype more permanant without having to mess with perfboard. The thing I hate about perfboard is having to make connections using wire wrap, which kind of a pain to work with. Perma-proto boards get around that nicely since they're basically just a breadboard that you can solder to.

Time to order what I need and start thinking about the code!