This heart is easy to make, and will show off your Maker skills to that Special Someone.
All the files and code are on my Github, and I will guide you through the process.
The movie file shows the modes I've programmed in.
Step 1: Surface Mount Soldering: Not As Hard As It Looks!
Reflow is probably the best method, but I will describe hand soldering too, I've had good success with both.
For reflow, apply flux paste to all the metal pads. A very small amount is all you need, just enough to hide the pad under a thin layer of paste. If you have access to a laser cutter, cut the paste layer out of a piece of transparency film and use that as a template.
It should look like this when you're done (image courtesy David R Reeves and Hack Manhattan)
Step 2: Parts Placement and Hand Soldering
The first parts we'll place are the resistors. These are not polarized, but do have a top and a bottom. The bottom is white and has no letters, the top is black and has the resistor value in white letters.
If you're hand soldering, find the pairs of pads along the top marked R1 through R5. Preheat one of the pads of each pair with the soldering iron, then melt a small amount of solder onto the pad while keeping the iron on the pad. The order is heat with iron, touch solder to pad, remove solder from pad, remove iron. You'll end up with a small dome of solder on one side, and the other side untouched. This is important. Next hold the resistor across the pads with the tweezers and on the pad that you put solder on, touch the iron to both the resistor and the pad. The idea is to heat the resistor terminal so solder will melt to it, then melt the solder on the pad so you're making a connection.
Next (hand soldering) wait a few seconds for the solder to harden - it will become less shiny when it solidifies. Solder the other resistor terminal to the other pad, then touch up the first pad as necessary.
For reflow, take the 5 3Ω resistors and place them on the spaces marked R1 through R5. The resistor should be centered as well as possible across the two metal pads. Hand solderers follow the same instructions as above for the other four resistors.
Next place (and/or solder) capacitor C1 and resistor R7. David's Photoset shows this really well.
Then the 20 LEDs. These are a challenge because they are polarized, the cathode needs to point to the top of the heart for all 20.
Finally the CPU and tactile switch.
Inspect your work thoroughly, then inspect it again - the next step for reflow soldering is to bake!
Step 3: Baking!
We have an infrared reflow station, but many people have used toaster ovens (don't use them for food ever again though!) and even griddles.
The typical reflow pattern is one minute at 250ºC, then another minute at 350ºC, then gradual cooldown. In the US, 250ºC is 482ºF and 350ºC is 662ºF (basically all the way on). The first minute you'll see the solder paste spread out a bit, then when you turn the temperature up you'll see the paste become shiny - there will be some smoke liberated, don't worry - it's flux, not magic blue smoke. Turn the heat source off and let it cool down for 10 minutes or so.
Re-inspect your work.
Step 4: Battery Holder
Now we attach the battery holder. This will be done with a standard soldering iron, since we don't want to melt off the components on the other side.
First get a nice dome of solder on the pad in the middle. This will help the battery's - terminal make good contact.
Then get a dome of solder on one of the side pads, doesn't matter which. If you have it, put some flux on the side pad you've just put the dome of solder onto.
Now take the battery clip and align it so the curved part matches the curve on the board. While holding the clip with tweezers or pliers, melt the solder and heat the battery clip so the solder flows onto it. You want to tack it down enough that you can solder the other side.
On the side without any solder, heat up the pad and clip, and take the solder and melt a bunch on - you want a good solid connection.
Once that's done, go back to the other side and do the same, so both sides are nice and solid.
Step 5: Put in the Battery and Program!
I used a small JTAG connector by tag-connect.com to save some space. These are $20, and the other end is a standard 6-pin molex to connect to an avr Dragon, JTAG mk2, or Arduino as ISP programmer.
Put the battery in the clip, taking care to have the + side up, to match the clip.
First do "make fuse" to set the fuses for programming. If all is well you will see LEDs 17 and 18 flickering. If you get errors about no target power or failure to enter programming mode, you probably have some loose or bridged connections on the attiny chip. Go over these with flux and solder or solder wick as appropriate.
If the fuses program correctly, next up is 'make flash'. This will load the actual firmware into the attiny. Once this finishes you should see the Larson Scanner pattern. Pressing the button should sequence you through pulse, alternating, and off modes.