Go here for a great explination of Charliplexing.
I've actually made a kit for this, and I'm now taking pre-orders on my website. I also created a flash-based animation programmer. Check them out and let me know what you think. The programmer generates the newest version of the code, so it will still be a useful tool if you make your own heart. You will just need to change out the LED array with one that maps to your own.
I've updated the software to v 1.3. I found a function called PROGMEM in the avr/pgmspace.h library (included with Arduino software) that allows you to write directly to the Flash ROM. That now gives about 500+ frames of animation, and is an extremely easy thing to implement. You can check out the new software here.
Two of my friends are currently working on getting a bitmath version that should increase this even further (to around 4,500 frames), but while working, it is not very easy to work with in creating animations. I'll release that once I have my Processing program up and generating the animation codes.
I've put the schematic on step 1. There is a direct link to it on my flickr as well.
Step 1: Required materials
- 6 resistors to match your LEDs I used 100R, but go here to figure it out yourself.
- 6+ wire cable, I used Cat5 because I had it lying around
- soldering setup
- some type of prototype PCB, I used this one from Radioshack and it fits the heart perfectly.
Here is the schematic as viewed from the top. You will want to review that before, during, and after building. Once it is built, you will need to test thoroughly. Each 2 wire combination to a battery should light up one, and only one, LED. If 2 light up, then something is wrong. There will be 3 combinations that won't light anything up, so don't worry, and just make a note. If more than 3 combinations fail to light up, then you probably have a short, or a fried LED.