- One CR2032 battery (I got them for about 16 cents on ebay when I bought 100)
- One CR2032 battery holder (I used part 18-3780 from www.rapidonline.com. This costs around 14 cents in quantities of 100 - these are a common type of holder that you should be able to find at places like www.mouser.com if you are on the other side of the Atlantic to me!)
- One PIC16F57 (Order code 1556188 from www.farnell.com - These cost 66 cents each in 100+ quantities - again, you can find them at www.mouser.com)
- Four surface mount switches (Part 78-1130 from www.rapidonline.com at 20 cents each)
- Some miscellaneous resistors and capacitors in an "0805" surface-mount package - you will need 5x100 ohm resistors, 2x10k resistors, 1x47k resistor, 1x47p capacitor, and 1x100n capacitor - any of the suppliers mentioned above do these, and they cost almost nothing!
- 75x "0603" LEDS - as bright as possible, and as cheap as possible! I used item 72-8742 at 6 cents each from Rapid, but again, you should be able to get them at other suppliers. In quantity, you can get these down to about 3 cents each.
- Some double-sided foam adhesive tape that is slightly thicker than the battery you are using - mine was 4.5mm thick)
- A printed circuit board (PCB) for the project - instructions for producing your own are beyond the scope of this article, but you may have some success with the iron-on or photographic technique (my preferred technique). You can find instructions for making your own printed circuit boards elsewhere on instructables and other sites. The PCB layout is reproduced below in a PDF file if you want to try yourself.
You will also need a soldering iron (plus solder), a cutting knife, some spray adhesive, and a way of printing the front of your card - you can use a colour laser or inkjet. I printed on OHP transparency film. You will also need a way of programming the PIC microcontroller. I use the PICKit2 which is part number 579-PG164120 from www.mouser.com, and available at around $35. A strip of 5x0.1 inch PCB pins (such as 22-0510 from Rapid) can be pushed into the programmer to act as an interface with the board.