Led ws2812 - 58x58 screen project

Hello dear members,

i've an issue with my 58x58 led screen project with ws2812 led stripes

My leds don't turn on according to the mini code i uploaded to the arduino (light led one by one to test ...)

Look my scheme and some photos of the project

thanks for your help and tips i'm so sad right now... :heart_hands:

//this code was working when i tested on a single stripe before the project

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
 #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif

#define PIN        3 // On Trinket or Gemma, suggest changing this to 1


#define NUMPIXELS 3364 // Popular NeoPixel ring size

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 0 // Time (in milliseconds) to pause between pixels

void setup() {
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
  // Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif
  // END of Trinket-specific code.

  pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}

void loop() {
  pixels.clear(); // Set all pixel colors to 'off'

  for(int i=0; i<NUMPIXELS; i++) { // For each pixel...

    pixels.setPixelColor(i, pixels.Color(0, 50, 0));
    pixels.show();   // Send the updated pixel colors to the hardware 
    delay(30);
  }
 }

What are you trying to run this on?

thanks for your answers, sorry if i didn't understand your question, i'd like to test my screen >> turn on led one by one

using DC 5V 70A (i know 70A is not enough for full power of leds but it's ok for me if not full brightness) with arduino mega

What processor do you have in mind to control your display?

Edit: a Mega doesn't have enough RAM.

only using the arduino mega

You need a processor with at least 10092 bytes of RAM, because each pixel requires 3 bytes of RAM.

A Mega falls quite some way short.

So test it with half the screen first, or just reduce the number of LEDs in the code. Once that works, you will need to get yourself a board with more memory, though probably that will mean a 3.3v board of some kind.
Also keep in mind that with that many LED's your refresh rate is going to be only about 10Hz i think.
The calculus :

58 * 58 = 3364  // pixels
3364 * 24 = 80736 // bits
80736 / 800.000 (800KHz or 800Kbps) = 0.10092 Seconds

So at least 100ms to transmit the data, but please correct my math if i am wrong.

thank you very much for your explanation, what board do you suggest me to buy ?

will an other board increase the refresh rate or it's linked to the led so i can't increase it ?

The update rate is fixed by the pixels.

For a display that big, you might want to look at something like this: https://www.pjrc.com/teensy/td_libs_OctoWS2811.html

It depends a bit on what other peripherals you intend to connect, but i would suggest an ESP of some kind or a Teensy.

The refresh rate depends on the length of the chain, and so more or less fixed as 'Prince' is saying, but if you are able to modify an existing library to send multiple signals in parallel (eg write to the whole port rather than just to a pin) , then you could theoretically increase it 8x.
FastLED apparently has that feature built in for some boards, but i have never used it.

thanks for your answer, if i use this sort of code (on this image they split into 3 different pins) i can theorically increase it more than 8x ? if i use for instance 14 pins

Yes, but.

  • You will still declare a buffer to big for the Mega
  • You will not be updating the leds 'parallel' so it will do nothing for framerate.

Go for what @david_2018 is suggesting in reply#15.

Use the Teensy 3.x and higher and for simplicities sake i would just order the shield as well.
All you will need is anyway to reduce the update time 5 times for smooth visual experience and that you will manage with ease. The DMA updating happens in the background so there should be enough processing time.
Look at the CPU-clock on a Teensy 4 that is more than 35 times as fast as the Mega.

hey, thanks for your perfect answers !!

i've bought a teensy 3.2 with the octoWS2811 adaptor and CAT6 cables for the data on leds stripes, I just don't understand which teensy pins are still free to use (to add other captors in my project)

is it only pins 0,1,23,22..17 ? the others are used by the adaptor ?

Thanks for help i'm lost on it

schematic_octo28

I think so, really any of the pins that are not use by the adaptor i guess. I am no Teensy specialist though.

What more do you want to connect ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.