A small, battery-powered gyroscope.
Update (6/29/10): Here's a video of one in action. Note that I used 4 button cells instead of 2. http://www.youtube.com/watch?v=Ov5WVhhIdWo
Update (6/30/10): Added a DXF file for lasercutting. If you use 5mm stock, the result should be about the same. You'll need to drill out the pivot holes, though.
In addition to the listed parts, you'll probably need a few pieces of hardware for counterweights (to balance out the difference between the weight of the motor and the weight of the batteries). I used a nut and few washers I had lying around.
Print flywheel and frame. Insert nails into holes in frame, glue in place and cut off excess. Attach flywheel to motor. Strap motor into inner disc. Strap batteries and counterweights to disc. Wire one lead of motor to batteries. Assemble frame - there are indentations where the nail points go. Attach remaining wire to batteries.
It's a bit difficult to get the counterweights arranged just right. Wiring is pretty much just wedging one lead against either end of the battery stack.
The motor I used was pulled from a toy gearmotor assembly (Solarbotics GM17 http://www.solarbotics.com/products/gm17). I left the pinion gear on the shaft to make mounting easier.