Datasheet

The second-to-last argument though…this gets complicated
With a single matrix, there was a starting corner, a major axis (rows or columns) and a line
sequence (progressive or zigzag). This is now doubled — similar information is needed both for the
pixel order within the individual tiles, and the overall arrangement of tiles in the display. As before,
we add up a list of symbols to produce a single argument describing the display format.
The NEO_MATRIX_* symbols work the same as in the prior single-matrix case, and now refer to the
individual sub-matrices within the overall display. All tiles must follow the same format. An additional
set of symbols work similarly to then describe the tile order.
The first tile must be located at one of the four corners. Add either NEO_TILE_TOP or
NEO_TILE_BOTTOM and NEO_TILE_LEFT or NEO_TILE_RIGHT to indicate the position of the
first tile. This is independent of the position of the first pixel within the tiles; they can be different
corners.
Tiles can be arranged in horizontal rows or vertical columns. Again this is independent of the pixel
order within the tiles. Add either NEO_TILE_ROWS or NEO_TILE_COLUMNS.
Finally, rows or columns of tiles may be arranged in progressive or zigzag order; that is, every row
or column proceeds in the same order, or alternating rows/columns switch direction. Add either
NEO_TILE_PROGRESSIVE or NEO_TILE_ZIGZAG to indicate the order. BUT…if
NEO_TILE_ZIGZAG order is selected, alternate lines of tiles must be rotated 180 degrees. This is
intentional and by design; it keeps the tile-to-tile wiring more consistent and simple. This rotation is
not required for NEO_TILE_PROGRESSIVE.
Tiles don’t need to be square! The above is just one possible layout. The display shown at the top of
© Adafruit Industries https://learn.adafruit.com/adafruit-neopixel-uberguide Page 33 of 39