LED Heart PWM Fading

Current Part:

PIC 18F252
PICKit2 PIC Programmer
7805 +5v Regulator
16x Red 5mm LEDs
16x 100Ω Resistors
10kΩ Resistor
20 MHz Crystal
Toggle Switch
2x 1uF Capacitors
0.1uF Capacitors
2x 15pF Capacitors (22pF is ok)
+9v Battery Holder
4x Stand-Offs
Balsa Wood Mount
PC Board
Ferric Chloride (Etchant)
Glossy Paper
Laser Printer
Soldering Iron

Parts List Details
           There are a lot of parts to this project. Too many to describe them all in detail, however below I have given some further information on the main parts that we'll be using.

PIC 18F252
           This is a small microcontroller (processor + memory). It wil be incharge of controller each LED individually, which is the main goal of this project. PICs are very versatile, in fact this PIC 18F252 has a lot more functionality built into it than just technology for fading LEDs. It's a shame we're not using more of the hardware on this bad boy.

PICKit2 PIC Programmer
           In order to get your program (firmware) onto the PIC, you will need a programmer. The PICKit2 is a programmer/debugger and one of the most popular tools for programming PICs.

16x Red 5mm LEDs
           16 LEDs will be used to create the heart shape. This isn't very many LEDs and so the heart will likely look 'pixelized' but I'm okay with that, you can use more if you want to.

20 MHz Crystal
           The crystal used for this project doesn't matter so much. 4 MHz, 1 MHz or 40 MHz could have been used. 20 MHz is just the first crystal I found when rooting around my tool kit.

PC Board and Ferric Chloride (Etchant)
           Since I want to make a PCB, we'll need some raw PC Board (copper on both sides) and some ferric chloride to etch away the unwanted copper. We'll use the toner transfer method to make the PCB.