A programm to create Arrays for Led-Matrix displays ?

Hi,

greetings from germany :slight_smile:

im working on a 8*16 led-matrix display (as part of a midi-sequencer) which uses two linked 8-bit shift registers for each line.
Im wondering if there is a programm that helps creating the arrays for the different characters -
like u draw something and then the programm converts it into an array one could copy & paste into the code.

as an example - heres my array for the letter "A"

0 1 1 1 0
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1
1 0 0 0 1
1 0 0 0 1

I already got ideas how to write a litte visual basic programm for this task, but perhaps one has done so before.
Is there a programm like this out there ?

greetings

Tobias

Not exactly the correct size [5 x 8] but maybe you could just use seven of the eight rows of this LCD font generator :smiley:

http://omerk.github.io/lcdchargen/

Just do it - need to convert each column into a byte anyway, so having the picture only does not help much.
Here's a 8tallx5wide font I made up, each byte is 1 column.

// define fonts, put in Flash memory
const byte PROGMEM fontArray[] = {
  0x00,0x00,0x00,0x00,0x00, // 0 "space" ASCII 0x20
  0xFb,0xFb,0x00,0x00,0x00, // 1 "!" 21
  0x20,0x60,0xc0,0x80,0x00, // 2 "'" tbd 27  apostrophe
  0x01,0x03,0x06,0x04,0x00, // 3 "," tbd 2c  comma
  0x24,0xff,0x24,0xff,0x24, // 4 " " tbd 23  #
  0x3c,0x42,0x81,0x81,0x00, // 5 "(" tbd 28  ( 
  0x00,0x81,0x81,0x42,0x3c, // 6 ")" tbd 29  ) 
  0x00,0x18,0x18,0x18,0x00, // 7 "-"  2d
  0x03,0x03,0x00,0x00,0x00, // 8 "." 2e  
  0x03,0x04,0x08,0x10,0x60, // 9 "/" 2f
  0x7e,0x89,0x91,0xa1,0x7e, // 10 "0" 30
  0x21,0x41,0xFF,0x01,0x01, // 11 "1" 31
  0x63,0x85,0x89,0x91,0x61, // 12 "2" 32
  0x42,0x89,0x89,0x89,0x76, // 13 "3" 33
  0xf8,0x08,0x08,0xff,0x08, // 14 "4" 34
  0xE1,0x91,0x91,0x91,0x8e, // 15 "5" 35
  0x7e,0x89,0x89,0x89,0x46, // 16 "6" 36
  0x80,0x8f,0x90,0x90,0x60, // 17 "7" 37
  0x6e,0x91,0x91,0x91,0x6e, // 18 "8" 38
  0x60,0x91,0x91,0x91,0x7e, // 19 "9" 39
  0x66,0x66,0x00,0x00,0x00, // 20 ":" 3A
  0x60,0x8d,0x90,0x60,0x00, // 21 "?" 3f
  // receive lower case, display as uppper case
  0x7f,0x90,0x90,0x90,0x7f, // 22 "a" 61
  0xff,0x91,0x91,0x91,0x6e, // 23 "b" 62
  0x7e,0x81,0x81,0x81,0x66, // 24 "c" 63
  0xff,0x81,0x81,0x81,0x7e, // 25 "d" 64
  0xff,0x91,0x91,0x81,0x81, // 26 "e" 65
  0xff,0x90,0x90,0x90,0x80, // 27 "f" 66
  0x7e,0x81,0x89,0x89,0x6e, // 28 "g" 67
  0xff,0x10,0x10,0x10,0xff, // 29 "h" 68
  0x00,0x81,0xff,0x81,0x00, // 30 "i" 69
  0x86,0x81,0x81,0xFF,0x80, // 31 "j" 6a
  0xff,0x10,0x28,0x44,0x83, // 32 "k" 6b
  0xff,0x01,0x01,0x01,0x01, // 33 "l" 6c
  0xff,0x20,0x18,0x20,0xff, // 34 "m" 6d
  0xff,0x20,0x18,0x04,0xff, // 35 "n" 6e
  0x7e,0x81,0x81,0x81,0x7E, // 36 "o" 6f
  0xff,0x88,0x88,0x88,0x70, // 37 "p" 70
  0x7e,0x81,0x8d,0x83,0x7e, // 38 "q" 71
  0xff,0x88,0x88,0x8c,0x73, // 39 "r" 72
  0x62,0x91,0x91,0x91,0x4e, // 40 "s" 73
  0x80,0x80,0xff,0x80,0x80, // 41 "t" 74
  0xfe,0x01,0x01,0x01,0xfe, // 42 "u" 75
  0xfc,0x06,0x03,0x06,0xfc, // 43 "v" 76
  0xfe,0x01,0x06,0x01,0xfe, // 44 "w" 77
  0xc7,0x28,0x10,0x28,0xc7, // 45 "x" 78
  0xe0,0x10,0x1f,0x10,0xe0, // 46 "y" 79
  0x87,0x89,0x91,0xa1,0xc1, // 47 "z" 7a

};  // 3F = 48 characters = 240 bytes

Thanks to both of you,

the Costum Character Generator is exactly what i was searching for.
Also thanks for your font - it saves me alot of time.

greetings

Tobias