A battery, Attiny 2313 and LED matrix(this one uses 8x8). I assume you already have a programmer.
http://tinkerlog.com/howto/64pixels/
This work is done by Alex Weber.
He has used an 8x8 LED matrix and an ATtiny 2313, He uses a very neat trick of soldering the the controller directly on the back of the 8x8 matrix, saving a lot of space and requires no extra components.
Bend the pins on the matrix display(8x8 shown here)
And solder the uC directly on to it.
if you are using mega 8/168/328p you, have to use the internal 8MHz crystal by changing the fuses, here is a nice calulator http://www.engbedded.com/fusecalc or use the following reference
Fuse atmega8 high byte HFUSE:
0xc9 = 1 1 0 0 1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000)
^ ^ ^ ^ ^ ^ ^------ BOOTSZ0
| | | | | +-------- BOOTSZ1
| | | | + --------- EESAVE (don't preserve EEPROM over chip erase)
| | | +-------------- CKOPT (full output swing)
| | +---------------- SPIEN (allow serial programming)
| +------------------ WDTON (WDT not always on)
+-------------------- RSTDISBL (reset pin is enabled)
Fuse atmega8 low byte LFUSE:
0x9f = 1 0 0 1 1 1 1 1
^ ^ \ / \--+--/
| | | +------- CKSEL 3..0 (external >8M crystal)
| | +--------------- SUT 1..0 (crystal osc, BOD enabled)
| +------------------ BODEN (BrownOut Detector enabled)
+-------------------- BODLEVEL (2.7V)
BE CAREFUL, only program the fuses when you are absolutely sure of what they will do. Read datasheet of the micro you are using,in some micros 1 is disable(unprogrammed) and 0 is enable(programmed).
Common row anode 5x7 dot matrix LED display.
+---+--+---+
Col1 |1 +--+ 12| Row1
Row3 |2 11| Row2
Col2 |3 5x7 10| Col3
Row5 |4 LED 9| Row4
Row6 |5 8| Col5
Row7 |6 7| Col4
+----------+
Common row cathode 5x7 dot matrix LED display.
+---+--+---+
Row1 |1 +--+ 12| Col5
Row2 |2 11| Row3
Col2 |3 5x7 10| Row4
Col1 |4 LED 9| Col4
Row6 |5 8| Row5
Row7 |6 7| Col3
+----------+
So to use the above hack you need a micro controller that has 6 or 5 io pins on both side along the length of the DIP. On mega 8 Pin 20 will cause conflict, so you need to use a small wire to connect next io pin that is pin 23. Before you solder it test it on a bread board and test it again, because it will be difficult to wire the ISP lines after you have soldered it to the matrix.
Use 3v power supply, I used 2AA, the lasted about 168 hours.
The source code is in C, it has examples of animations and text scrolling.
http://pastebin.com/ysx5tvqs c file
http://pastebin.com/6MYdrg12 h file