Picture of 8-Bit Arduino Valentine's Heart
heart final.jpg
heart ribbon.jpg
heart resistors.jpg

Show your 8-bit love this Valentine's day by printing and wiring up your own "8-bit Heart".

I picked my resistors using this resistor calc:

I then divided the result by three for a few reasons: Firstly the LEDs I'm using (like my dearest) are cheap and dim. Secondly each LED will only be briefly lit for less than 1/3 of the time, and finally (like my love) nothing lasts forever.


  • 1 Arduino, any basic (eg not LeoStick)
  • 17 Red LEDs (or 34)
  • 17 Resistors (~50ohm in my case)
  • 1 Ribbon Cable
  • 2 Printed 8 bit hearts
  • 2 M3 x 30mm bolts with nuts (and optional washers).
  • 1 Set of header pins (18 pins total)
  • Heat shrink
Remove these adsRemove these ads by Signing Up

Step 1: Print the heart

Picture of Print the heart
heart empty.jpg

First we will need to decide on which setup we'll be doing. The options are for a single heart, two or four. In this example I'll be doing the single (If you really loved them you'd do 2 or 4, but I'm like "meh, good enough"), but it's simple enough to extrapolate the 2 and 4 heart versions by multiplying the led count by 2 or 4 and adjusting the resistors (actually I suspect wiring all four may require more power than the Arduino can supply, but I'll update when I know for sure).

Edit: Woops... I seem to have forgotten the STL and thingiverse links (bonus .scad for the real 3d geeks).

Step 2: Glue LEDs

Picture of Glue LEDs

I actually did this step after soldering the grounds as I thought I might be able to get away without using glue... how wrong I was. Save yourself hours of fiddling and hassle and just glue the LEDs in right off the bat. Before gluing bend all the ground leads to 90deg as flat as you can, this will form our grounding web in the next step. As you glue the LEDs in now try to align all the ground legs with each other and all leading down to the bottom LED.