Complex synchronous multi-led system

Hello Arduino community, I have kind of a crazy system in mind and I need some guidance. I have never worked with electrical components and I don't know what is required to make this system happen. I'll start with a professionally drawn schematic:

The plan is to control two separate arrays of 2.5m long SK6812 RGBCW 30/m LED strips. They have to be controlled by separate microcontrollers (Arduino's?) and need their own power supply. I would like to have the microcontrollers be a slave of a Raspberry Pi that can synchronously send commands to both microcontrollers so they receive their commands at exactly the same time. I would also like the Raspberry Pi to receive it's commands over WIFI through a web-interface.

I'm not sure what components I need for this and how to wire it all up without creating a fire hazard. Some guidance or pointers in the right direction would be appreciated.

The other part of the system that is more relevant to post on the Raspberry forum is a multi raspberry + camera array (up to 120 modules). I hope all those modules can connect over Ethernet to a switch which in turn is running on the same LAN network as the master Pi (not sure if this is even possible).

The goal is to have every possible combination of camera module + set of LED's synchronously fire in rapid succession. I'm trying to build a portable (relatively) budget version of this: video

They have to be controlled by separate microcontrollers

Why is this a requirement ?

UKHeliBob:
Why is this a requirement ?

To keep the whole thing portable, have it fit in the back of a caddy and be able to fit through your average door entrance I need to cut it in half:

To keep the whole thing portable, have it fit in the back of a caddy and be able to fit through your average door entrance I need to cut it in half:

The LED strips you propose to use are addressable, so the number of interconnections between a single Arduino and the two sections of your device would be minimal and could easily be achieved using simple plugs and sockets. What might be a problem is the number of pins available on the Arduino depending on how many LED strips that you want to control individually

noiasca:
Ethernet/WIFI

UDP or UDP Broadcast.

Each Receiver within the network should be able to receive the Broadcast or the dedicated information if sent to it directly.

Do you mean using Arduino's with an Ethernet port as microcontroller to connect to the same network as the master Pi?

UKHeliBob:
The LED strips you propose to use are addressable, so the number of interconnections between a single Arduino and the two sections of your device would be minimal and could easily be achieved using simple plugs and sockets. What might be a problem is the number of pins available on the Arduino depending on how many LED strips that you want to control individually

But the Arduino's are just an interface between the Raspberry and the LED strips, right? So the Raspberry could say, left half of the dome turn on this array of LED's and the other half turn on another array of LED's, or could it not work like that? Also what do you mean with a plugs and sockets approach? I want to control 8 2.5m LED strips per half, I found a video of someone driving them in parallel on a single Arduino: video

the Raspberry could say, left half of the dome turn on this array of LED's and the other half turn on another array of LED's, or could it not work like that?

It could certainly work like that with either one or two Arduino boards

what do you mean with a plugs and sockets approach?

I am envisioning a single Arduino wired permanently to one half of the structure and that the second half would connect to the first half by means of a plug and socket carrying both power and the signals to the LED strips

zummey:
Do you mean using Arduino's with an Ethernet port as microcontroller to connect to the same network as the master Pi?

yes.

In the meantime I'm very confident, that UKHeliBob has given the best advise for you:

I am envisioning a single Arduino wired permanently to one half of the structure and that the second half would connect to the first half by means of a plug and socket carrying both power and the signals to the LED strips

UKHeliBob:
I am envisioning a single Arduino wired permanently to one half of the structure and that the second half would connect to the first half by means of a plug and socket carrying both power and the signals to the LED strips

Ah okay, I suppose that could simplify things in the end. What kind of board would you suggest if I were to choose a single controller?

noiasca:
yes.

Great suggestion, I think having everything addressable on the same network would be the best approach.

I'm still wondering how I should power everything, what components do I need, how should the wiring look and how much power do I need?

What kind of board would you suggest if I were to choose a single controller?

A Mega would be a good choice on terms of having plenty of pins and in view of the nature of the project its larger size should not cause a problem. How is the Pi going to be connected to the Arduino ?

noiasca:
When you now the exact number of pixels you can do the power consumption calculation.
Adafruit might give you hints:
Overview | Sipping Power With NeoPixels | Adafruit Learning System
and read the Uberguide also!

Also, when you know the number of pixels, you can estimate if an Uno is large enough or if you need an larger controller.

Thank you, I will read through it!

UKHeliBob:
A Mega would be a good choice on terms of having plenty of pins and in view of the nature of the project its larger size should not cause a problem. How is the Pi going to be connected to the Arduino ?

I was thinking having the Arduino on the same network as the Pi listening to a port on the network and receive its commands that way. Not sure if that is a good approach. I've also seen an example of an Arduino directly connected to a Pi (wired) and being able to write both Arduino and Pi code in the same class files. Not sure what is advisable.

noiasca:
you have to be more specific.
Exact number of pixels per string
how many strings (really 16 like in your graphic?)
total number of pixels

distance between strings, if you consider to route from one string to another
distance from string begin to first "micro controller"
distance from "micro controller" to "pi"

you have a wifi connection from PC to pi, so maybe you should think about a wifi connection from pi to micro controller also. If this is the case, we are on another micro controller.

If the distance between pi to micro controller is short enough and if you have enough GPIOs available, think about driving the strips with the pi directly.

For further hints I just know to less from your project.

You're right, I'll be more specific:

  • SK6812 NeoPixel strips 30 LED's per meter
  • They cover the inside of each beam in the dome
  • Each beam in the dome is between 30 and 35cm long
  • 16 strips of around 1.3 meters long each total (8 per half)
  • Driving only the white LED's
  • At most only half of a 1.3 meter strip has its LED's turned on at a time
  • Totaling ~624 x 2 halves = 1248 pixels

Here an image of how I picture the complete structure to look like:

The bottom of the dome would have a detachable 'brain', I image all the components to be housed there and the wiring to lead to. It would of course be much more beneficial to have all the LED strips connected directly to the Pi, I didn't know that was possible. Each endpoint of a wire will lead to the input of a LED strip. I hope it makes more sense now?

I was thinking having the Arduino on the same network as the Pi listening to a port on the network and receive its commands that way

That requires that the Arduino has network connectivity and possibly up to 20 or so pins. You can use an Ethernet shield with a Mega (I imagine) as it is largely compatible with the Uno for which Ethernet shields are certainly available

I know little or nothing about Pis but a Serial interface between the Pi and the Arduino would be simple to arrange an cut out the need for a network connection for the Arduino. Run a web server on the Pi which accepts user input and pass the commands to the Arduino over a serial link. See Serial input basics - updated for ideas as to how such a link could be implemented

The bottom of the dome would have a detachable 'brain', I image all the components to be housed there and the wiring to lead t

That will, of course, mean using plugs and sockets anyway so there will not be a need to explicitly connect each half of the structure together

It would of course be much more beneficial to have all the LED strips connected directly to the Pi, I didn't know that was possible.

Yes it is possible. In fact I wrote about this in the December 2019 issue of The MagPi magazine.
Free PDF download at:-

Basically you can only connect one LED string to the Pi, but I designed a little interface that allowed you to switch between 8 LED strip outputs. The idea can be extended to as many strips as you want.

Note the construction of the plugs and sockets mean these LED strips are not hot plugable so always wire things up before applying the power.