My sister is big into creating Christmas traditions. Last year she decided that we should each make a Christmas ornament for the tree each year. So this year I decided to make an electronic ornament. Here's the PCB:
To start the PCB design, I found a Christmas tree drawing using Google Images, translated it into a BMP file, imported that into Eagle, and used it for the silkscreen and to draw the board outline.
For the electronics, I put the following components on the board:
My intention is to have the LEDs put on a light show while using the speaker to shout out Christmas greetings such as "Eat me, Santa!". I can use the shaker motor to make the ornament move, possibly enough to make it jump off the tree. (I know I can't topple the whole tree, but maybe I can get some other ornaments on the way down.) I might trigger the action by using the accelerometer to detect whenever someone shakes the ornament. It could also determine if the shaker successfully dislodged the ornament from the tree and landed on the floor.
I chose the PIC 18F27J53 microcontroller because it has a 128K of program space that I can use to store audio. (The MicroSD card socket is for additional sound storage in case I run out of program memory.) The PIC also has seven PWM outputs I can use to drive the speaker, shaker motor, and to vary the intensity/color of the RGB LEDs.
I had Itead fabricate the PCB and they seemed to have no problem with the crenulated outline. I selected a thinner 0.031" (0.8 mm) board to cut the weight of the ornament as much as I could. Itead sent me thirteen boards for $25.
Now all I have to do is write the firmware. What day is it? December 14th? Great, that should be easy. Really.