Introduction: Steampunk Heart

Recently I had a little bit of time to play with Fusion 360 and I came up with this little gadget for my wife - steampunk heart.

It took few days of design work and then simulation to make sure it all will work and I am very happy with the final result. For those of you who like steampunk themed gadgets I hope you will like this one :)


- SG90 servo

- Arduino nano

- 9V battery

- 9V battery clip

- Mini of/off rocker switch


- Solder

- Wire

- Spray paint (copper/sliver)

- 6 x M3 x 30mm bolts

- 1 x M3 x 10mm bolt

- Super glue

- 2x 10mm rubber band


- FDM 3D printer

- Soldering iron

- Phillips screwdriver

Step 1: 3D Printing

To 3D print the steampunk heart, download all attached stl files. You will need a slicer software to convert the 3D files into GCode that your 3D printer can read.

Most of you know exactly what to do and most likely have your favorite slicer, but for those who are new in 3D printing I'm recommending CURA. It's a free software and I have never had an issue with slicing my stl files with it.

Here is a link to CURA:

Recommended printing settings:

- Brim (10mm - 20mm)

- Support material infill (5% - 10%)

- Printing speed (50mm/s - 70mm/s)

- Infill (20% - 30%)

- Printing temperature (190C - 210C)

- Bed temperature (50C - 60C)

- Layer's resolution (0.2mm - 0.26mm)

Step 2: Assembly - Servo

Standard SG90 servo is limited to 180 degrees movement and you have two options: either buy 360 continuous rotation servo (expensive) or hack 180 degree servo and convert it to continuous rotation (cheap).

Here is how to do it:

- Use Philips screwdriver and unscrew 4 small screws at the bottom of the servo and then remove the plastic cover.

- Make sure to put all the cog wheels back in the same configuration like on the picture below.

- Make a hole with small screwdriver where the shaft (see picture) supposed to go.

- Put all the cog wheels back in place and then screw the servo cover. You may come across different versions of the SG90 servo, and to change it to continuous rotation servo, you may need to follow instructions on this YouTube video

Step 3: Assembly - Arduino

Here is the code that you have to upload using Arduino IDE and instructions how to do that.

- Open Arduino IDE

- Open the code [File -> Open -> steampunk_heart.ino]

- Connect Adruino Nano to PC/Laptop using USB cable

- Choose COM port [Tools -> Port “…” -> COM…]

- Choose Arduino board type [Tools -> Board: “…” -> Arduino Nano]

- Choose Arduino Nano processor type [Tools -> Processor: “…” -> ATmega328P] [It is possible that you will need to change it to ATmega328P (Old Bootloader) depending on Arduino Nano]

- Verify the code

- Upload

The code is very simple and using Arduino might seem like overkill, but you can change the code and program various patterns. At the moment the servo will spin one way for few seconds and then reverse, but please feel free to experiment with the code.

Note:you might have to change the value in myservo.write(xx); to adjust the speed

Step 4: Assembly - 3D Printed Parts

- Paint all the parts after printing (it's up to you really how you paint it. I used copper spray paint to paint main body and then gold and sliver paint to paint cog wheels and valves)

- Cut servo arm to fit inside the cog wheel (servo cog wheel) and glue it (Picture 2)

- Join two 3D printed arms with M3 x 10mm screw and secure with nit, but don't tighten them so they can move freely (Picture 2). In addition, add small drop of glue to the nut so it won't fell off when the mechanism will be working.

- Glue 'hacked' continuous rotation servo inside the main body (Picture 3)

- Mount cog wheels using M3 screws and add washers to ensure smooth movement (Picture 1)

- Add rubber bands to the pulleys. One is easy as it's on top of the cog wheels, but the other one requires a little bit of patience (Picture 4)

- Install two plastic arms joint with M3 screw to the cog wheel and the main body. There are 2 3D printed pins especially tor that (Picture 1). Once they are in place, use hot soldering iron to melt the top of the pins slightly. By doing this, you will make sure the arms won't fell off when the mechanism is working.

Step 5: Assembly - Wiring

It's not very complicated circuit to solder, but I have attached the wiring diagram to help you with connections (Picture 1)

- Solder the servo to Arduino nano. Signal wire (usually yellow) goes to digital pin 8

- Solder 9V battery clip to on/off switch and then feed the wire under main body and solder to Arduino (Picture 2)

- Connect 9V battery

- After all is assembled, paint the battery and Arduino Nano to match the rest of the steampunk heart body

Step 6: Steampunk Heart - Testing

Here is a link to Fusion 360 simulation:

and here is a video of finished gadget:

Heart Contest

Second Prize in the
Heart Contest