LED MATRIX
PATTERN GENERATOR

Matrix pattern generator intended for shift registers

Design grid

Click and drag to draw your pattern.

0
8
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
LED COLOUR
PRESETS

No saved presets yet.

ANIMATION
SCRIPT
14×36 matrix / 9 shift regs (4 col + 5 row) / MSB FIRST
BIT ORDER
/* Tri-colour LED Matrix — 14×36 px — Arduino PROGMEM */
#include <avr/pgmspace.h>

#define MATRIX_ROWS      36
#define MATRIX_COLS      14
#define MATRIX_BPR       2

const uint8_t red_pattern[36][2] PROGMEM = {
  { 0x00, 0x00 }, /* row  0 */
  { 0x00, 0x00 }, /* row  1 */
  { 0x00, 0x00 }, /* row  2 */
  { 0x00, 0x00 }, /* row  3 */
  { 0x00, 0x00 }, /* row  4 */
  { 0x00, 0x00 }, /* row  5 */
  { 0x00, 0x00 }, /* row  6 */
  { 0x00, 0x00 }, /* row  7 */
  { 0x00, 0x00 }, /* row  8 */
  { 0x00, 0x00 }, /* row  9 */
  { 0x00, 0x00 }, /* row 10 */
  { 0x00, 0x00 }, /* row 11 */
  { 0x00, 0x00 }, /* row 12 */
  { 0x00, 0x00 }, /* row 13 */
  { 0x00, 0x00 }, /* row 14 */
  { 0x00, 0x00 }, /* row 15 */
  { 0x00, 0x00 }, /* row 16 */
  { 0x00, 0x00 }, /* row 17 */
  { 0x00, 0x00 }, /* row 18 */
  { 0x00, 0x00 }, /* row 19 */
  { 0x00, 0x00 }, /* row 20 */
  { 0x00, 0x00 }, /* row 21 */
  { 0x00, 0x00 }, /* row 22 */
  { 0x00, 0x00 }, /* row 23 */
  { 0x00, 0x00 }, /* row 24 */
  { 0x00, 0x00 }, /* row 25 */
  { 0x00, 0x00 }, /* row 26 */
  { 0x00, 0x00 }, /* row 27 */
  { 0x00, 0x00 }, /* row 28 */
  { 0x00, 0x00 }, /* row 29 */
  { 0x00, 0x00 }, /* row 30 */
  { 0x00, 0x00 }, /* row 31 */
  { 0x00, 0x00 }, /* row 32 */
  { 0x00, 0x00 }, /* row 33 */
  { 0x00, 0x00 }, /* row 34 */
  { 0x00, 0x00 }  /* row 35 */
};

const uint8_t green_pattern[36][2] PROGMEM = {
  { 0x00, 0x00 }, /* row  0 */
  { 0x00, 0x00 }, /* row  1 */
  { 0x00, 0x00 }, /* row  2 */
  { 0x00, 0x00 }, /* row  3 */
  { 0x00, 0x00 }, /* row  4 */
  { 0x00, 0x00 }, /* row  5 */
  { 0x00, 0x00 }, /* row  6 */
  { 0x00, 0x00 }, /* row  7 */
  { 0x00, 0x00 }, /* row  8 */
  { 0x00, 0x00 }, /* row  9 */
  { 0x00, 0x00 }, /* row 10 */
  { 0x00, 0x00 }, /* row 11 */
  { 0x00, 0x00 }, /* row 12 */
  { 0x00, 0x00 }, /* row 13 */
  { 0x00, 0x00 }, /* row 14 */
  { 0x00, 0x00 }, /* row 15 */
  { 0x00, 0x00 }, /* row 16 */
  { 0x00, 0x00 }, /* row 17 */
  { 0x00, 0x00 }, /* row 18 */
  { 0x00, 0x00 }, /* row 19 */
  { 0x00, 0x00 }, /* row 20 */
  { 0x00, 0x00 }, /* row 21 */
  { 0x00, 0x00 }, /* row 22 */
  { 0x00, 0x00 }, /* row 23 */
  { 0x00, 0x00 }, /* row 24 */
  { 0x00, 0x00 }, /* row 25 */
  { 0x00, 0x00 }, /* row 26 */
  { 0x00, 0x00 }, /* row 27 */
  { 0x00, 0x00 }, /* row 28 */
  { 0x00, 0x00 }, /* row 29 */
  { 0x00, 0x00 }, /* row 30 */
  { 0x00, 0x00 }, /* row 31 */
  { 0x00, 0x00 }, /* row 32 */
  { 0x00, 0x00 }, /* row 33 */
  { 0x00, 0x00 }, /* row 34 */
  { 0x00, 0x00 }  /* row 35 */
};

/* Read helpers:                                        */
/* pgm_read_byte(&red_pattern[row][byteIdx])           */
/* pgm_read_byte(&green_pattern[row][byteIdx])         */

a free tool to help you create accurate patterns for your TB3 and GM08 builds.

bought to you by jordanthe.kiwi

UNSAVED WORK

Save the current pattern before starting fresh?