max leds for one port

What is the maximum leds recommended for one port of teensy3.2 with octows2811

@morry:

From this <URL>, here are some stated limits (Note that these are assumed when using the OctoWS2811 Adapter, which supports 8 strips . . . may not be exactly what you were asking, but should give you some ideas):

Code:
 LED Limits
(per Teesny)

What limits the number of LEDs can you use with each Teensy?

1872: Teensy 3.0's RAM limit (90% used)

4320 tested in this project

4416: 60 HZ refresh

6000: 120V USA power*

8800: 30 Hz refresh (uses 86% of Teensy 3.2's available RAM)

10920: Absolute maximum limit due to DMA hardware

To connect more LEDs, use multiple Teensy and OctoWS2811 Adaptors with their SYNC signals tied together.

* - Approximate, based on typical power supply efficiency and standard 15 amp circuit breakers

Mark J Culross
KD5RXT
 
OK guess I need to be more specific I was using the code below with ledsperstrip set to 1200 and Pixelcount set to 4800 and all seemed to work fine when I upped the Pixel count to 6000 to support added mega tree it seemed to work but then random leds started flashing on when they weren't supposed to using fpp 3.3 looks fine in xlights but display is different on fpp using code below. Have I exceed some limit? the random leds are in the mega tree where I added 830 leds connected to the 5th port of the octows2811
/*
************************ Heinz Doessegger - www.technikfreak.ch ******************************

Vchristmas v1.0 - January 2015
Documentation for the project:
Http://www.technikfreak.ch/category...ik-elektronik-projekte-weihnachtsbeleuchtung/

HARDWARE: TEENSY 3.1 / 3.2

ARDUINO PLUGIN: TEENSYDUINO with OctoWS2811 library
Http://www.pjrc.com/teensy/td_download.html

LED: WS2811

SOFTWARE: Vixen Lights 3.x
Program to control WS2811 RGB LED by Vixen Lights 3.x http://www.vixenlights.com/
DISPLAY CONFIGURATION - COMx (x = COM port of Arduino) 115200, None, 8 One
SEND A TEXT HEADER: VIXStart
Channels: Pro LED requires 3 channels (red / green / blue)
Color Handling: RGB

TIP: For beginners
Start with a 50 series LED. LedsPerStrip and PixelCount to 50.
In Vixen Lights, create 50 LED elements and map to 150 outputs via the Color Handling RGB.

************************ Heinz Doessegger - www.technikfreak.ch ******************************
*/

#include <OctoWS2811.h>

const int ledsPerStrip = 1200; // Maximum number of pixels per string
int PixelCount = 6000; // Effective number of pixels
float hell = .65; // Dimmer 1.00 = 100% brightness - 0.50 = 50% brightness

DMAMEM int displayMemory[ledsPerStrip*6];
int drawingMemory[ledsPerStrip*6];
const int config = WS2811_GRB | WS2811_800kHz;
OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);
int pixelValue = 0;

void setup()
{
delay(300);
Serial.begin(115200); // Speed of data transmission from Vixen Lights 3 to the Arduino

leds.begin();
for (int i=0;i<PixelCount;i++) // Initialization - Once all LEDs light up blue
{
leds.setPixel(i, 200*hell, 0, 0);
}
leds.show();
delay (5000);
for (int i=0;i<PixelCount;i++)
{
leds.setPixel(i, 0, 0, 0);
}
leds.show();
}

void loop()
{

if (Serial.available()>5) // Wait for data transmission from Vixen Lights
{
waitForVixenHeader(); // Call function: Waiting for start string

for (int pixCount=0; pixCount<PixelCount;pixCount++) // Do this for as many Pixels defined in PixelCount
{
int RGB[3]; // Array for the three RGB color valuesArray for the three RGB color values
for (int color = 0;color<3;color++) // Three values each form one RGB LED
{
while (Serial.available() < 1) // Wait for the next number
{
delay(10);
}
RGB[color] = int(Serial.read()*hell); // Assign color value to the array with brightness correction
} // Repeat until all three values are read

leds.setPixel(pixCount, RGB[1], RGB[0], RGB[2]);

} // Repeat until all LEDs are read
leds.show(); // Activate color patterns
} // Get the next color pattern
} // Loop end

void waitForVixenHeader()
{
char *header="VIXStart";
char buffer[8];
int index = 0;

while (true)
{
int inByte = Serial.read();
if(inByte==-1)
{
continue;
}

buffer[index] = inByte;
if(buffer[index]!=header[index])
{
index=-1;
}

buffer[index+1] = 0;
index++;
if(index==8)
{
return;
}
}
}
 
What is the maximum leds recommended for one port of teensy3.2 with octows2811

The absolute maximum is 1365 RGB LEDs per pin. With 8 pins, that would be 10920 LEDs. Teensy 3.2 does not have enough memory for double buffering with that many LEDs, 10920 it could be done with a single buffer.

The latest version supports RGBW, where the limit would be LEDs 1023 per pin.

These upper limits are imposed by the DMA engine's 15 bits for the DMA transfer minor loop count. Each minor loop count transmits 1 bit, so each pin can transmit a maximum of 32767 bits of LED data. Since a regular RGB LED has 24 bits, this means only 1365 LEDs can be used per pin.

In terms of recommended limits, usually 1100 or 550 per pin are good limits, since the speed of communication limits the refresh rate to 30 or 60 Hz with those lengths.
 
The absolute maximum is 1365 RGB LEDs per pin. With 8 pins, that would be 10920 LEDs. Teensy 3.2 does not have enough memory for double buffering with that many LEDs, 10920 it could be done with a single buffer.

The latest version supports RGBW, where the limit would be LEDs 1023 per pin.

These upper limits are imposed by the DMA engine's 15 bits for the DMA transfer minor loop count. Each minor loop count transmits 1 bit, so each pin can transmit a maximum of 32767 bits of LED data. Since a regular RGB LED has 24 bits, this means only 1365 LEDs can be used per pin.

In terms of recommended limits, usually 1100 or 550 per pin are good limits, since the speed of communication limits the refresh rate to 30 or 60 Hz with those lengths.

My bad for reviving for an old thread, but this is via Google one of the first hits concerning this subject. Is the above still true for the Teensy 4.1? Or maybe improve or actually became less? Or is this is a limit of the chip used in the led strip itself?
 
Back
Top