This is a full-scale version of the Rick Astley Clock - a clock shaped like Rick Astley and it chimes "Never Gonna Give You Up" on the hour.
It has the following enhancements:
- Can play multiple audio files. Larger (19" tall).
- Made from laser-cut plywood instead of cardboard.
- Has option to turn off the arm swinging when music's not playing.
- Has option to turn off music altogether.
Step 1: Materials
- A clock mechanism with a chime trigger.
- 2 sub-micro servos
- An Adafruit Metro Mini 328
- An Adafruit audio FX board
- An Adafruit audio amp
- A 6V battery pack
- 2 small SPDT slide switches
- Clock hands (most craft shops have these)
- Full sheet labels
- Access to a laser cutter
- A black marker
- 2-part epoxy and/or superglue
- Mounting tape
- Hookup wire
Step 2: Laser Cutting
Download the attached SVG file and use it to cut 1/8" plywood. The SVG file is scaled to 12"x24".
NOTE: If you're going to use Ponoko for this, download their 24x12 template and import the SVG file into it.
Step 3: Check Hole Size
Not sure if I miscalculated the hole sizes or if the servos come in a variety of cases. I had to widen the servo holes a bit to get them to fit.
Step 4: Painting
This might not be necessary but I did a quick coat of white paint over my cutouts. There were a few blemishes on the wood that I really didn't want showing through.
Note that Rick is facing right.
Step 5: Print Stickers
There are 3 stickers and they overlap quite a bit. Download the PDFs and print on sticker sheets. Make sure you use actual size when printing, not "fit to page".
If you have access to a large format printer, it might be worthwhile to stitch together the images and print it out in one piece.
Step 6: Cut and Trim
Cut out each of the sticker pieces, leaving a bit of extra around the edges.
NOTE: I ended up trimming them a bit closer after the fact, to aid placement on the board.
Step 7: Sticker Placement
Peel the backing off the stickers and place on the laser-cut board.
For the main body, I overlapped the stickers, sliced through the overlap, then removed the excess from each side. This seemed to give me a relatively seamless image.
Step 8: Trim Off the Edges
Using a sharp knife or razor, trim off any excess sticker around the edges.
Use a black marker to darken the white edges.
Step 9: Wiring 1
Wire up the amp and audio fx board as follows:
- Left amp output to speaker
- L and Gnd from audio fx to L+ and L- on amp
- Attach red wires to VDD on amp and Vin on audio fx
- Attach black wires to Gnd on audio fx and GND on amp
- Attach a blue wire to 0 on audio fx
- Attach an orange wire to Act on audio fx
- Solder the header strip in place on the amp and jumper the 12 position.
Now's a good time to load the audio file. Download T00.ogg and load it onto the audio fx board.
If everything is powered up and you touch the blue wire to GND, it should play the chime.
Step 10: Wiring 2
This is where it becomes a bit messy...
- Red wires from amp and audio fx to 5V on metro
- Black wires from amp and audio fx to GND on metro
- Blue wire from audio fx to 12 on metro
- Orange wire on audio fx to 7 on metro
- Wires from clock to GND and 2 on metro
- Attach a green wire from 5 on metro to the middle pin of the arms option switch
- Run a black wire from one end pin of the arms option switch to GND on metro
- Black wire from battery pack to GND on metro
- Red wire on battery pack to middle pin on power switch
- Run a red wire from one end pin on the power switch to Vin on metro
- Orange wires from both servos to the same end pin on the power switch
- Brown wires from both servos to GND on metro
- Yellow wires on both servos to 9 on metro
I think that's everything. Let me know if I missed a wire somewhere.
Step 11: Arms
Screw the servo arms included with the servos onto Rick's arms. A drop of glue wouldn't hurt.
Step 12: Layout
I used mounting tape for just about everything. Epoxy on the switches.
- Speaker at the top
- Audio fx and amp below that
- Clock mounted using the included nut
- Servos on each side, pushed into arm holes
- Metro below the clock
- Power and option switches below that
- Battery pack at the bottom
Step 13: Positioning the Arms
Download metro-rick-calibrate.ino and load it onto the metro. When you turn on the power switch, the servos should lock at 90 degrees. Mount the arms to they're pointing roughly straight up.
Step 14: Programming
Download metro-rick.ino and load it onto the metro. When you turn on the power switch and turn off the option switch, the arms should start waving.
NOTE: I've had issues with these servos that they get jittery when attacked to objects with a high rotational inertia. You can dampen this by wrapping a rubber band around the servo shaft (between the body and the arm).
Step 15: Clock Hands
Mount the clock hands and trim them short enough that they don't interfere with the arms.
With everything powered up (maybe turn on the "wave hands on chime only" option switch for this), advance the time until the chime starts playing.
Reposition the hands to midnight, then advance the clock to the current time.
If everything went well, the chime should start playing, along with arm movement, on the hour.
Step 16: Hanging
Use a couple of spare screws from the servos to attach a piece of stiff wire to Rick's head. Hang on a hook on the wall.
Step 17: Notes
- I think I gummed up one of the servos with some glue. Watch out for that when mounting the arms.
- It's possible to compress the full song "Never Gonna Give You Up" down to a 1MB OGG file. If you've got a non-DRM copy lying around, you could use that as T00.ogg instead.
- There's a 16MB version of the audio fx board. You could easily fit, say, "Never Gonna Give You Up", "Together Forever" and "She Wants to Dance with Me" on there and have them play in rotation. (You'd name them T00NEXT0.ogg, T00NEXT1.ogg, T00NEXT2.ogg)
- If you've got some artistic talent, you could skip the stickers and paint Rick directly on the plywood.
- The general concept here could be used to make all sorts of different animated clocks. Say, a xenomorph clock that hisses and sticks out its inner jaw on the hour, for example.
Update: I replaced the wonky servo. Also loaded the compressed OGG file of "Never Gonna Give You Up" onto it, just to see if it'd work. Here's the video.