Demand for embedded programming is growing like crazy, so anyone looking for some job security might consider becoming an ace embedded programmer. It helps to have some programming experience, but even raw beginners can get started inexpensively and learn on their own. One of the friendliest introductions to embedded coding is Arduino. Arduino is a popular open embedded hardware and software platform with hundreds of howtos and projects to try out. Today we review the basics of both electronics and Arduino coding in a fun holiday project, Singing Holiday Snowman.
Singing snowman
I'm going to take my old plastic snowman (figure 1) and outfit him to sing holiday songs whenever anyone approaches within a few feet, and to blink some festive red and green LEDs. (Half the fun of Arduino is blinky lights.) You, of course, may use any object you want. If you are new to electronics and embedded coding, give yourself a few days to put this together because it covers a lot of ground. This project gives hands-on experience in these essential fundamentals:
- Soldering
- Reading simple schematics
- Loading and modifying Arduino programs
Prerequisites
The Singing Snowman is modeled on the Halloween Pumpkin project. Beginners should work through the first three of these excellent Arduino tutorials first. These will teach you how to install and use the Arduino software, and get acquainted with tools and Arduino parts. You'll be doing a fair bit of soldering; if you're not a good hand with a soldering iron, find some nothing-to-lose circuit boards and practice. The soldering page links to some good howtos.
Here is a handy hardware list. The first two items are nice kits that supply everything you need for Singing Snowman, plus leftovers for more projects.
- Ladyada's Electronics Toolkit, $100. Includes a good adjustable temperature soldering iron, multimeter, snips, strippers, solder, solder sucker and braid, multimeter, vise, and other useful tools.
- Adafruit ARDX - v1.3 Experimentation Kit. This includes red and green LEDs and matching resistors, printed howtos, breadboard, Arduino Uno, USB cable, wires, and other goodies for multiple projects. $85.
- Adafruit Wave Shield for Arduino. This is the part that plays sounds. $22. You'll also need a SD/MMC card for storing audio files.
- A small 8 ohm speaker, like an old PC speaker.
- MaxBotix EZ1 sonar sensor. This will detect when someone is within a few feet of the snowman, and then it will play songs and animate the blinky lights. I use the MB1010 because it has a narrow sensitivity range to the front. There are three other versions with different sensitivity patterns.
- Insulated 22-gauge solid-core wire in red, green, white, and black.
- A magnifier and good light. I like magnifier lamps, and magnifier headlamps are nice too.
- Wrist grounding strap. Arduino boards and accessories are pretty resilient to electrostatic discharge (ESD), but a strap is cheap insurance in a static-prone environment.
- Drill and bits.