B01110000
B10001000,
B10001000,
B11111000,
B10001000,
B10001000,
Look at the shape the 1s make - looks like an A to me.
I don't know about this
#define BA
seems like its missing the array sysmbol []
So maybe it should be:
#define BA [] = {
B01110000,
B10001000,
B10001000,
B11111000,
B10001000,
B10001000,
};
Could put that in PROGMEM too.
Bet it could be condensed too - notice the amount of redundancy? Elements 1,2,4,5 are all the same, and no doubt elements 0 and 3 are in common with other letters.
So you could probably define 16 elements that make up any letter, and reduce each letter to 3 bytes: byte 0 represents rows 0,1, byte 1 represents rows 2,3 and byte 3 represents rows 4,5.
0x01 = B01110000,
0x01 = B10001000
0x02= B11111000
etc up to 0x0F
So an A for instance might be
{0x0001, 0x0102, 0x0101}
and the data decoded/looked up on the fly.