Electrical – Joining ground between ESP32 and LED Strip from single power supply

arduinogroundingledled strippower

I'm driving an APA102 LED strip from an ESP32. Both are powered from a single 12V power supply that is brought down to 5V using a high-current (10A) buck converter.

This works fine when I join the grounds of the ESP32 and APA102, and I get massive signal degradation without the joined (flickering lights etc.).

I know this is common practice when using multiple power sources (and I'm happy to keep the joined ground), but I didn't think it would be needed when both the ESP32 and LED strips are powered from the same power supply.

Why is the joined ground required in this configuration? Also, am I putting my ESP32 at any risk in this configuration?

It may be relevant that I'm powering the ESP32 dev board via its micro USB port using a custom USB cable that connects to the buck converter's outputs.

Diagram

Best Answer

Ground is defined as a 0V reference. When supply current is returned to ground, it can cause a shift in the voltage along the wire resistance. Worse yet with PWM dimming and wire inductance there can be a voltage variation from wire inductance (Vac=LdI/dt)

Thus it is common to use wide or braided grounds to keep the voltage constant with low effective series resistance (ESR) and inductance (ESL).

This is important both to reduce audio noise and digital communication errors.