This is a Christmas card with an arduino, max7221 and a 8x8 matrix LED.
My first version was a 64pixels attiny greating card:
I collected some patterns and used a 5x7 font
see video here: 64pixels christmas card with an attiny and 8x8 matrix led - YouTube
For arduino I used a max7221 with the library LedControl.h
http://www.arduino.cc/playground/Main/LedControl
...it's the same code sequence in this arduino video
see video: 64pixels christmas card with arduino - YouTube
Here is the font and the code for arduino:
font.h
#include <avr/io.h>
#include <avr/pgmspace.h>
#ifndef FONT_H_
#define FONT_H_
#define MAX_CHARS 59
#define CHAR_OFFSET 0x20
const uint8_t font[] PROGMEM = {
// 5 chars bitmap, stop bit is bit.7
0x00,0x00,0x00,0x00,0x80, // 0x20, 32, '
0x00,0x30,0x7D,0x30,0x80, // 0x21, 33, !
0x70,0x60,0x00,0x70,0xE0, // 0x22, 34, "
0x12,0x3F,0x12,0x3F,0x92, // 0x23, 35, #
0x12,0x6A,0x2B,0xA4,0x80, // 0x24, 36, $
0x63,0x64,0x08,0x13,0xE3, // 0x25, 37, %
0x36,0x49,0x35,0x02,0x85, // 0x26, 38, &
0x00,0x70,0x60,0x80,0x80, // 0x27, 39, '
0x00,0x3E,0x41,0x80,0x80, // 0x28, 40, (
0x00,0x41,0x3E,0x80,0x80, // 0x29, 41, )
0x08,0x3E,0x1C,0x3E,0x88, // 0x2A, 42, *
0x08,0x08,0x3E,0x08,0x88, // 0x2B, 43, +
0x00,0x03,0x03,0x80,0x80, // 0x2C, 44, ,
0x08,0x08,0x08,0x08,0x88, // 0x2D, 45, -
0x00,0x03,0x03,0x80,0x80, // 0x2E, 46, .
0x02,0x04,0x08,0x10,0xA0, // 0x2F, 47, /
0x3E,0x45,0x49,0x51,0xBE, // 0x30, 48, 0
0x00,0x21,0x7F,0x81,0x80, // 0x31, 49, 1
0x23,0x45,0x49,0x49,0xB1, // 0x32, 50, 2
0x22,0x49,0x49,0x49,0xB6, // 0x33, 51, 3
0xC,0x14,0x24,0x7F,0x84, // 0x34, 52, 4
0x7A,0x49,0x49,0x49,0xC6, // 0x35, 53, 5
0x1E,0x29,0x49,0x49,0x86, // 0x36, 54, 6
0x40,0x47,0x48,0x50,0xE0, // 0x37, 55, 7
0x36,0x49,0x49,0x49,0xB6, // 0x38, 56, 8
0x30,0x49,0x49,0x4A,0xBC, // 0x39, 57, 9
0x00,0x1B,0x1B,0x80,0x80, // 0x3A, 58, :
0x00,0x1B,0x1B,0x80,0x80, // 0x3B, 59, ;
0x08,0x14,0x22,0xC1,0x80, // 0x3C, 60, <
0x12,0x12,0x12,0x12,0x92, // 0x3D, 61, =
0x00,0x41,0x22,0x14,0x88, // 0x3E, 62, >
0x20,0x40,0x4D,0x48,0xB0, // 0x3F, 63, ?
0x3E,0x41,0x5D,0x55,0xBC, // 0x40, 64, @
0x3F,0x44,0x44,0x44,0xBF, // 0x41, 65, A
0x7F,0x49,0x49,0x49,0xB6, // 0x42, 66, B
0x3E,0x41,0x41,0x41,0xA2, // 0x43, 67, C
0x7F,0x41,0x41,0x41,0xBE, // 0x44, 68, D
0x7F,0x49,0x49,0x49,0xC1, // 0x45, 69, E
0x7F,0x48,0x48,0x48,0xC0, // 0x46, 70, F
0x3E,0x41,0x49,0x49,0xAF, // 0x47, 71, G
0x7F,0x08,0x08,0x08,0xFF, // 0x48, 72, H
0x00,0x41,0x7F,0xC1,0x80, // 0x49, 73, I
0x06,0x01,0x01,0x01,0xFE, // 0x4A, 74, J
0x7F,0x08,0x14,0x22,0xC1, // 0x4B, 75, K
0x7F,0x01,0x01,0x01,0x81, // 0x4C, 76, L
0x7F,0x20,0x10,0x20,0xFF, // 0x4D, 77, M
0x7F,0x20,0x10,0x08,0xFF, // 0x4E, 78, N
0x3E,0x41,0x41,0x41,0xBE, // 0x4F, 79, O
0x7F,0x48,0x48,0x48,0xB0, // 0x50, 80, P
0x3E,0x41,0x45,0x42,0xBD, // 0x51, 81, Q
0x7F,0x48,0x48,0x4C,0xB3, // 0x52, 82, R
0x32,0x49,0x49,0x49,0xA6, // 0x53, 83, S
0x40,0x40,0x7F,0x40,0xC0, // 0x54, 84, T
0x7E,0x01,0x01,0x01,0xFE, // 0x55, 85, U
0x7C,0x02,0x01,0x02,0xFC, // 0x56, 86, V
0x7E,0x01,0x1E,0x01,0xFE, // 0x57, 87, W
0x63,0x14,0x08,0x14,0xE3, // 0x58, 88, X
0x70,0x08,0x07,0x08,0xF0, // 0x59, 89, Y
0x47,0x49,0x51,0xE1,0x80, // 0x5A, 90, Z
};
#endif /*FONT_H_*/