Go Down

Topic: Neopixel display help (Read 659 times) previous topic - next topic


Dec 07, 2019, 10:19 am Last Edit: Dec 07, 2019, 11:33 am by mmolina8725 Reason: Didn't realize I wasn't supposed to add picture of code
Hey guys, I'm new here and need some help understanding what I'm doing wrong. I'm using an arduino uno to make a 21x6 display using  WS2812 rgb leds. I have everything powered correctly and tried running the matrix test from the  Adafruit_NeoMatrix library. When I run the program my text is cut off at the bottom. I'm not sure what I have to change here to have the text scroll in the middle of the matrix. Added a pic of the code I'm using and a gif of the display for reference. Any help would be great! Thanks!

Code: [Select]

// Adafruit_NeoMatrix example for single NeoPixel Shield.
// Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#ifndef PSTR
 #define PSTR // Make Arduino Due happy

#define PIN 6

// 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_GRBW    Pixels are wired for GRBW bitstream (RGB+W 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(21, 6, 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;


Dec 07, 2019, 10:47 am Last Edit: Dec 07, 2019, 10:49 am by PaulRB
Hi, welcome to the forum. First thing you should do is read the forum guide. This will tell you some useful things like how to post your code. An image of code is not the correct way. If someone want to help you, they can't cut & paste the code into their ide, they would have to re-type it from your image.. No-one is going to do that!


Your code does not seem to select any particular font to use, so I guess the library is defaulting to a particular font. Reading the library code, I can't figure out which font that is.

Could it be that the default font is 7 or 8 pixels high and will not fit onto your 6 pixel high matrix?


Ah, you're definitely right sorry about that! I just edited it. I didn't even consider that it could be the font. The example code from the library didn't specify a font type but I'm about to do a quick google search and see If that will help. Thank you!


Thanks for fixing your post. +1 karma

Go Up