Page 1 of 1
Forum

Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!

Topics for particular software or systems: Start your topic link with the name of the application or system.
For example “MacOS X – Your question“, or “MS Word – Your Tip or Trick“.

Please note that switching to another language when reading a post will not work!





How many leds can I...
 
Share:
Notifications
Clear all

How many leds can I run?  

  RSS

artomat
(@artomat)
New Member
Joined: 2 months ago
Posts: 1
February 10, 2020 10:50 PM  

Greetings

And before anything thanks for the great ressources. I am testing an arduino uno on a 704 addressable led strip. The connections of all the 704 leds work fine with a symphony controller. When I connect everything on the arduino uno board according to your instructions I can only get 610 led working. Any number above that and the program does not run. I have tried several programs and the limit is always the same.

Here is the setup

- 26 amp power adapter 

- arduino uno with data on pin 6, grd and 5 v connection.

- every 88 led I have a direct grd and 5v line to the power adapter

- I use a 470Ω resistor on the breadboard on the data line.

Have I reached a limit for the arduino processor or there anything wrong in my setup?

Thanks a lot in advance 


ReplyQuote
Hans
 Hans
(@hans)
Noble Member Admin
Joined: 7 years ago
Posts: 1267
February 13, 2020 9:14 PM  

Hi Artomat,

I've never used that many LEDs haha.

It seems you have power under control, connection wise.
Maybe more power could help (max 704 * 60 mA = 42 A, avg 704 * 20 Ma = 14 A - so I'm thinking 26 A should be a good start if not all LEDs go on at max white level).

The question seems no uncommon, and maybe this post is a good read (see below).

It sounds like you're running at the max what an Arduino Uno can handle (memory/clock).
Maybe a newer Arduino model, like a Mega, with more memory and a faster uController clock speed, may allow for more LEDs to be controlled.

From that post:

it depends on a few things, generally they are :

  1. The amount of RAM that your uC has
  2. The framerate you want to achieve
  3. The power supply capacity ( and cable capacity )

  • Uno/Leonardo/micro/nano : I don't go above 512 LEDs ( 1.5kByte of SRAM reserved for LEDs ),
  • Mega : Ive done 1000 LEDs but not with many other things happening. ( 3 kByte of SRAM reserved for LEDs )
  • DUE/ Zero : quite a lot of LEDs ( multiple controller examples ) never more than 1000 per "FASTLED controller" to keep framerate above 30.

my reasons:

SRAM usage

Each LED ( or CRGB array entry ) uses 3 bytes of your SRAM.

The application on your uC will crash - sometimes "randomly" sometimes reliably - when it has too little SRAM to hold the datait needs to work on.

The amount of SRAM available for LEDs depends on what else the controller is doing that also requires SRAM buffers or "chunks" such as :

  • String manipulation
  • Networking ( Ethernet / Wifi with OSC, OPC or MQTT protocols )
  • Serial data ( DMX ),
  • Visualisations/ animations ( Fire 2012 , meteors, fireworks )
  • Signal processing (audio spectrum FFT)
  • Double buffering pixel data ( if you use it as an output for a video - like Processing.org sketches)
  • Stored color pallets ( interpolation happens in SRAM )
  • Arduino buffers ( 64 byte reserved for Serial buffers, I2C buffers, SPI buffers if they are initialised )
  • other things stored in SRAM ( Serial.print("some text "); uses SRAM to store the "some text" )

Arduino Leonardo, Micro, Uno, Nano only has 2.5 kByte of SRAM,

Mega has 4 kByte SRAM.

Due, Teensy has oodles of SRAM, , DUE has 96kByte

Zero / MKR1000 has 32kByte SRAM

Required framerate - mostly to keep the animations or video frames looking smooth

1024 WS2812B LEDs spoken to at 800 kHz will give you 30 FPS

any more will lower your framerate

on DUE I have done about 3000 LEDs with 3 "controllers" , each one driving less than 1024 so the framerate stayed above 30 fps

Power supply rating ( and cabling used )

There is a voltage drop over the LED strips so we generally inject power every 2 strips ( 10 m ) with high capacity power cable. and with multiple supplies in parallel.

WS series ( 2811,2812,2812B ) LEDs have output drivers that "refresh" the signal when it is forwarded to the next LED in line, you could go a few m in-between LEDs ( Ive done up to 6m which is pushing it a bit as any other cables near the signal wire corrupted the signal )


ReplyQuote
Share: