by emmett, published
I highly recommend using the most current version of this design, found here: http://www.thingiverse.com/thing:243278
For a very nerdy Valentine's Day, I give you heart gears. This was inspired by Greg Frost's Broken Heart http://www.thingiverse.com/thing:4683, but it fits in the palm of your hand and can be twisted like some kind of worry ball. It makes use of the heart shape from http://www.thingiverse.com/thing:6190, the MCAD involute bevel gear script from http://www.thingiverse.com/thing:3575, and nophead's polyhole script for making properly dimensioned tap holes http://www.thingiverse.com/thing:6118.
UPDATE: If you lack a 3D printer, you can now buy these from CarryTheWhat at http://www.etsy.com/shop/CarryTheWhat.
I was daunted by the complexity of Greg's design, so this one is much simpler, having fewer gears, and a much simpler attachment design (simply thread the bolts into tight plastic holes). It also uses a smooth heart shape and is made for the hand instead of the desk.
Each gear is unique, so print one of each (gears 5 and 7 are so similar, they can probably be interchanged). Skeinforge can be a pain, but to get around one bug I found, uncheck "infill in direction of bridges" in Carve. The one pictured was printed on a TOM.
For assembly, I recommend screwing each gear tightly into the center block so it can't turn and place each gear so they are smooth and continuous. The complete stl file is for assembly reference. Once they're all in place, loosen each screw a turn or two until the gears spin freely. Give to loved one.
The OpenSCAD file is fully parametric, so feel free to adjust to your heart's content. It's designed for M3 screws right now, but that's an easily adjustable element.