I’m having framerate issues when connecting madmapper to strips with more than 600 LED pixels, using Teensy 3.2 as a controller. I’m using madmapper.com/arduino-led-strip-control ... apper-2-1/ as the basis for the setup.
My setup
- 28 x 60 WS2812B LED strips (1680 pixels total) connected serially with proper power injection (see diagram).
- 5V power supply
- Teensy 3.2 with OctoWS2811 adaptor (I was having issues with the 3.2V data line from the Teensy board, the adaptor upscales it to 5V)
- Madmapper 3.2
- FastLED-serial-only-single-line.ino loaded on the Teensy - using pin 7 as my data line (no clock pin, as it is a WS2812B strip)
I’ve been having sporadic issues with FastLED-serial-only-single-line.ino
First issue:, above the 1300-1400 Pixel mark, the pixels in the 1400+ range would blink uncontrollably or simply not light up. I fixed that by doubling the data buffer from 4086 to 8000 like so:
From this:
Code: Select all
// MadLED protocol buffer
char dataFrame[4086];
int readingFrameOnLine=-1;
bool gotNewDataFrame=false;
Code: Select all
// MadLED protocol buffer
char dataFrame[8000];
int readingFrameOnLine=-1;
bool gotNewDataFrame=false;
Second issue, if I set NUM_LEDS above 600 in FastLED-serial-only-single-line.ino, the frame rate decreases gradually until it stops to a crawl around 1800 LEDs.
Code: Select all
#define NUM_LEDS 1600
#define DATA_PIN 5
#define CLOCK_PIN 6
Questions
- I assume there’s a limit of LED that you can run on a Teensy with high framerate (I’ve read 3000+), but it’s unclear to me: Is that limit by pin or by Teensy board?
- I read people on forums claim that they run 2000+ LEDs on a single Teensy pin without framerate issues. Can I technically have a single data pin driving 1800 LEDs at 60FPS? And if so, how?
- There also a FastLED-serial-two-lines.ino file provided, but I don’t understand how it works, and seems limited to 2 pins. My assumption is that there’s a hard limit per Teensy pin and that the OctoWS2811 and FastLED makes it easy to assign certain universes to certain pins to keep the framerate up. Am I correct to assume that I can keep the framerate up by assigning different universes to different pins? If so, could I drive my whole setup with roughly 450 LED x 4 Teensy pins?