A 3D Printed Animated Valentine Heart for My Valentine!

A 3D printed Valentine Heart with a twist.


Creative Commons Attribution Noncommercial Share Alike

Commercial use is not allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


A Valentine Heart for my Valentine, with a twist!

This animated twisting heart is constructed from eighteen heart slices. The motor and gear system is designed to rotate the top slice 180 degrees while holding the bottom slice stationary, then hold the top slice stationary while rotating the bottom slice 180 degrees.

To rotate the inner slices (between the top and bottom) the bottom and inner slices contain small metal pins and the inner and top slices contain slots. Each pin fits into the slot in the slice above it, and each slot is 10 degrees in arc length. When the top turns 10 degrees, its slot comes in contact with the pin in the slice below and that slice begins to rotate, and when the slice below rotates 10 degrees, the pin in the slice below it begins to rotate. This process continues down the slices until the top rotates 180 degrees at which point the bottom begins to rotate to put the heart back together.

The only contact between each slice must be the pins in the slots, thus careful 3D printing (no warping) and assembly (bearings completely flush with the bottom of each slice) are required to successfully 3D print and assemble this model.

As usual I probably forgot a file or two or who knows what else, so if you have any questions, please do not hesitate to comment as I do make plenty of mistakes.

Designed using Autodesk Fusion 360, sliced using Ultimaker Cura 4.8.0, and 3D printed in PLA on Ultimaker S5s.

Materials and methods


I acquired the following parts:

β€’ One 2AAA battery back with switch.
β€’ Two AAA batteries.
β€’ One 300RPM 6VDC N20 gear motor.
β€’ Sixteen flange bearings (F6700ZZ 10 x 15 x 4mm flange bearing)
β€’ One 36" length of 2mm diameter music wire.

I 3D printed all parts at .1mm layer height with 20% infill. I 3D printed 2 "Bolt, Plate.stl", 15 "Spacer.stl" and one each of the remaining parts.

This mechanism is a high precision print and assembly using at times very small precision 3D printed parts in confined spaces with highly precise alignment. I 3D printed all parts using the Ultimaker Cura 4.8.0 "Engineering Profile" on my Ultimaker S5s, which provides a highly accurate tolerance requiring minimal if any trimming, filing, drilling or sanding. However, prior to assembly, I still test fitted and trimmed, filed, drilled, sanded, etc. all parts as necessary for smooth movement of moving surfaces, and tight fit for non moving surfaces. Depending on your slicer, printer, printer settings and the colors you chose, more or less trimming, filing, drilling and/or sanding may be required to successfully recreate this model. I carefully filed all edges that contacted the build plate to make absolutely certain that all build plate "ooze" is removed and that all edges are smooth using small jewelers files and plenty of patience to perform this step.

This mechanism also uses threaded assembly, so I used a tap and die set (8mm by 1.25) as required for thread cleaning.


The model uses seventeen small metal pins to create the heart twisting motion. I made these pins from a 32" length of 2mm diameter music wire. To create a pin, I performed the following steps:

β€’ Rounded off one end of the music wire using a bench grinder (a handheld rotary tool or file works just as well).
β€’ Cut the pin to 8mm in length on a small cut off saw (a handheld rotary tool or fine hobby saw works just as well). Note I used a brass stop block positioned 8mm from the blade to obtain a repeatable cut off length.
β€’ Filed the cut end smooth and flat.
β€’ Repeated this process for the remaining sixteen pins.

Assembling the Heart Slices.

The heart is created from eighteen slices, sixteen of those being the "inner slices" ("Slice02.stl" through "Slice17.stl). Each of inner slice requires one flange bearing and one pin. To assemble an inner slice, I performed the following steps:

β€’ Pressed one bearing into the bottom side of a slice, non-flanged end first, until is was flush with the bottom of the slice.
β€’ Used small needle nose pliers to press a pin, rounded in first, in from the bottom of the slice until it was flush with the bottom of the slice and 3mm protruded from the top of the slice.

To assemble the bottom slice ("Slice01.stl"), I pressed one pin, flat end first, into the bottom slice.

The top slice ("Slice18.stl") requires no assembly.

Assembling the Base.

For base assembly, I performed the following steps:

β€’ Positioned "Gear, Worm.stl" into "Base.stl" as shown with its axle protruding into the axle hole in the base.
β€’ Aligned the gear motor axle with the hole in the worm gear then pressed the gear motor into position as shown.
β€’ Placed "Gear, Worm, Wheel.stl" onto the base assembly.
β€’ Placed "Gear Plate Upper.stl" onto the base assembly.
β€’ Pressed "Gear, Bottom, Drive.stl" onto the worm gear wheel hexagonal shaft and aligned it as shown.
β€’ Pressed "Axle, Heart Slice 18 (the heart top).stl into "Gear, Top, Driven.stl".
β€’ Placed this assembly onto the base assembly aligned as shown (the axle flats must be on the front and rear).
β€’ Positioned "Gear Plate Upper.stl" on the base assembly.
β€’ Secured the gear plates and gears using two "Bolt, Plate.stl".
β€’ Pressed "Gear, Drive, Bottom.stl" onto the gear drive top hexagonal shaft and aligned it as shown.
β€’ Placed the slice01 assembly onto the base assembly heart tower and aligned it as shown.
β€’ Secured the drive gears and worm wheel in place using "Axle, Drive.stl"

Assembling the Heart.

To assemble the heart, I performed the following steps:

β€’ Positioned the slice02 assembly onto the base assembly heart tower as shown, and slid it down the tower until it mated with the slice01 assembly such that the pin from the slice01 assembly was in the slot of the slice02 assembly.
β€’ Pressed one "Spacer.stl" onto the base assembly heart tower down until it came in contact with the inner race of the bearing in the slice02 assembly.
β€’ Repeated the above two steps for the slice03 through slice16 assemblies noting how the pins and slots alternate 180 degrees with each slice
β€’ Pressed the slice 17 assembly onto the base assembly heart towner.
β€’ Positioned "Slice18.stl" such that the its slot aligned with the pin in the slice17 assembly and the hexagonal hole aligned with the heart slice axle then pressed it in place (a small dot of thick cyanoacrylate glue may be required if the fit is too loose).

Final Assembly.

For final assembly I soldered the battery pack to the motor such that the motor rotates clockwise when view from the gear motor axle (worm gear) end, place two AA batteries in the battery pack, turned on the battery pack switch, and the wife was happy!

And that is how I 3D printed and assembled "A 3D Printed Animated Valentine Heart for My Valentine!".

I hope you enjoyed it, and Happy Valentines Day Lora, and to all!

P.S. Valentines day is also my birthday but don't tell anyone!



Issues are used to track todos, bugs or requests. To get started, you could create an issue.


Mini arnavgargArnavGarg added this to the ArnavGarg collection ago
9fcf859de2f8c1ffb77525a17732f147?default=blank&size=40Ruddick added this to the New collection ago
Mini lora and iGreg Zumwalt published this design ago