text: 
  typedef struct {
    byte aData;   // what to display
    byte aDelay;  // how long to display it
  } TSeqElem;
  
  typedef struct {
     /* |
        V
        .  .  .  .  . 
        .  x  x  x  .
        x  .  .  .  x
        x  .  .  .  x
        x  .  .  .  x
        x  x  x  x  x
        x  .  .  .  x
        x  .  .  .  x
  
       =   =  =  =  =
       3F 44 44 44 3F
     */
     byte drawing[5];
  } TAscii;
  
  
  /*this array is coded from left to right,
    since that is the movement the handle will use
  */
  const TAscii alphas[] PROGMEM = {
    { 0x3F, 0x44, 0x44, 0x44, 0x3F },   // A
    { 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B
    { 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C
    { 0x7F, 0x41, 0x41, 0x41, 0x3E },   // D
    { 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E
    { 0x7F, 0x48, 0x48, 0x48, 0x40 },   // F
    { 0x3E, 0x41, 0x49, 0x49, 0x2E },   // G
    { 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H
    { 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I
    { 0x02, 0x01, 0x41, 0x7E, 0x40 },   // J
    { 0x7F, 0x08, 0x08, 0x18, 0x67 },   // K
    { 0x7F, 0x01, 0x01, 0x01, 0x00 },   // L
    { 0x3F, 0x20, 0x38, 0x20, 0x3F },   // M
    { 0x7F, 0x20, 0x16, 0x08, 0x7F },   // N
    { 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O
    { 0x7F, 0x48, 0x48, 0x48, 0x30 },   // P
    { 0x3E, 0x41, 0x41, 0x42, 0x3D },   // Q
    { 0x7F, 0x48, 0x48, 0x48, 0x37 },   // R
    { 0x31, 0x49, 0x49, 0x49, 0x46 },   // S
    { 0x40, 0x40, 0x7F, 0x40, 0x40 },   // T
    { 0x7E, 0x01, 0x01, 0x01, 0x7E },   // U
    { 0x78, 0x06, 0x01, 0x06, 0x78 },   // V
    { 0x7F, 0x01, 0x1E, 0x01, 0x7F },   // W
    { 0x63, 0x14, 0x08, 0x14, 0x63 },   // X
    { 0x70, 0x08, 0x07, 0x08, 0x70 },   // Y
    { 0x43, 0x45, 0x49, 0x51, 0x61 },   // Z
    { 0x00, 0x00, 0x00, 0x00, 0x00 }    // SPACE
    { 0x00, 0x00, 0x00, 0x03, 0x03 }    // dot
  };
  