Communication issues with LED stripes of different voltages

I am trying to control 2 different addressable LED stripes with the same Arduino, one of 5V an another of 12V.

They are connected to different digital pins, the one with 5V has a power source that feeds the board as well, and then I have an external 12V source that feeds the second stripe. To make the communication of the 12V work I had to connect together the ground of the Arduino with the negative of BOTH power sources.

Individually they work fine. The problem comes when they are both running, then the 12V loses the connection and does random stuff.

It is interesting to notice that when the 5V source is off and the arduino is just fed from the laptop connection the 12V led stripe works well, but as soon as I unplug the Arduino from the laptop and I pug it to the 5V power source connection is lost :frowning:

Anyone has any thought or idea of what can I try?

It is likely that each of your power supplies has its negative connected to the mains ground. That will mean that despite connecting the negatives together, this other connection between the negatives can introduce interference onto this connection.

This is a bit tricky. The 5 V supply must connect - positive and negative - to the 5 V LED strip itself. The 5 V and (negative) ground must then connect from this point back to the Arduino together with the data wire - all three as a bundle.

I think the power for the 12 V strip will need to be routed - positive and negative - to the start of the 5 V LED strip where the negative is connected to the 5 V negative but the positive - along with the negative and the second data wire - travel from there to the 12 V strip. This means that no part of the common ground between the Arduino and either LED strip - which is the reference point for the data transfer - carries any current that may be passing in the loop between the grounds on the two power supplies.