I do a lot of work with an after-school STEM club, specifically with students between the ages of 7 and 17. Recently, I was challenged to design a holiday project that the kids could easily assemble and take home, either for themselves or as a gift for others. The result was a laser-cut Christmas tree, with several small holes cut out for LED's, which were all connected to a battery taped to the back of the tree. The kids liked the idea, so the blinking snowman was born.
I decided I wanted to add an ATTiny 85 to allow us to blink the lights, as well as a piezo buzzer to make the ornament play music. After I added the buzzer, we quickly decided to add an on/off button. I also switched to a snowman, with LED's for buttons to reduce the amount of soldering needed, since most of the kids are just beginners. Finally, after a few more prototypes and feedback from colleagues and students, I put together the PCB files, and the ornament you see came to life!
This is the original snowman, designed by a colleague when we first moved from the tree to to the snowman. At one point, we had LED's in the eyes, but snowmen with red eyes were just a bit creepy.
How to make it
This is version two of the snowman. It has been simplified a bit to make cutting them faster, most of the delicate parts that were prone to breaking have been removed, along with the holes in the eyes, and the spacing for the LED's is now set to .2 inches, to better line up with the spacing on a standard perfboard.
I tried my hand at painting a few, and liked the results. Pardon my mistakes on the faces.
Here is the finished PCB, based on all the prototypes. You can see that there are very few components, making it a great project for beginners. Note the programming header. We just gave the kids pre-programmed IC's, but some of the older ones came back to re-program the board, either with a different song, or to modify how the lights blink. Cache Makers is the name of the after-school group.
Assembling the board is easy. Just slot the components in as indicated on the silkscreen. Be sure to put things on the correct side of the board! You can program the ATTiny before or after you solder it in, the choice is up to you. If you need help programming it, I've linked to a great guide in the comments in the code section below.
If you would prefer not to have a PCB made, I've added a schematic file (Fritzing) to the project, so you can replicate it on a small perfboard.
The board and snowman were designed in such a way that all the components except the LED's are on one side of the board, so you can assemble the board, test it, then slot it into the snowman, holding it in place with a drop or two of hot glue.
And here we have the completed project. Quick, easy, inexpensive, and a fun gift that you can make and be proud of.