Neomatrix scrolling text example on an Arduino

In a previous example we used Neopixel libraries and had a couple of code examples. Now we look at a couple of different libraries, the example built in scrolls text on the screen Product – WS2812 LED 5050 RGB 8×8 64 LED Matrix for Arduino


neomatrix and arduino

Code Example

You need the Adafruit GFX library, Adafruit Neopixel and Adafruit Neomatrix libraries – all of these are installable via the library manager

// Adafruit_NeoMatrix example for single NeoPixel Shield.
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#ifndef PSTR
 #define PSTR // Make Arduino Due happy
#define PIN 3
// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
//     Position of the FIRST LED in the matrix; pick two, e.g.
//     NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
//   NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
//     rows or in vertical columns, respectively; pick one or the other.
//   NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
//     in the same order, or alternate lines reverse direction; pick one.
//   See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// Example for NeoPixel Shield.  In this application we'd like to use it
// as a 5x8 tall matrix, with the USB port positioned at the top of the
// Arduino.  When held that way, the first pixel is at the top right, and
// lines are arranged in columns, progressive order.  The shield uses
// 800 KHz (v2) pixels that expect GRB color data.
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, PIN,
  NEO_GRB            + NEO_KHZ800);
const uint16_t colors[] = {
  matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(0, 0, 255) };
void setup() 
int x    = matrix.width();
int pass = 0;
void loop() 
  matrix.setCursor(x, 0);
  if(--x < -36) {
    x = matrix.width();
    if(++pass >= 3) pass = 0;

All going well Arduino will scroll on the Neomatrix display


WS2812 LED 5050 RGB 8×8 64 LED Matrix for Arduino

Related posts

Arduino Uno and PCT2075 temperature sensor

Arduino Uno and AHT20 Integrated temperature and humidity Sensor

Arduino Uno and LTR390 UV Light Sensor

1 comment

Adjusting text size on my led matrix – Arduino Apprentices 31st March 2020 - 1:20 pm
[…] am currently working on project where I use this example: in order to get a scrolling text across my 8×32 led […]
Add Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More