I've worked on several 20-50m long LED strip projects (including CV + addressable). The issues you described—"brighter at the beginning, dimmer at the end, white turning yellow, flickering under heavy load"—are basically problems with power distribution, connections, and signal links. Below is my long-term, stable approach (leaning towards an "engineering model," prioritizing maintainability over minimal cabling):
1) Power Topology: Separate "voltage transmission" and "load power supply" into layers.
I generally don't gamble on a single-ended path. A more reliable approach is: zoned power supply (every 5-10m section) + star/tree topology, with clear fuse/open circuit protection for each section, allowing for quick fault location.
If site conditions permit, I prefer a higher voltage backbone (e.g., 24V/48V) + zoned step-down/regulation: lower backbone current, lower line loss, localized voltage regulation/power supply at zoned ends, and more intuitive maintenance.
Regarding the choice between "multiple small PSUs vs. one large PSU," I prefer multiple small PSUs (or a large PSU with multi-branch protection). The core reason is: fault isolation and maintenance without affecting the overall system. However, this requires a unified grounding strategy to avoid signal/noise issues caused by ground loops.
2) Constant current/segmented adjustment: can significantly improve "brightness and color consistency," but don't treat it as a panacea.
Constant current/segmented adjustment can indeed reduce visual problems such as "darkening at the end and white drift," especially in scenarios where linear consistency is desired.
However, it cannot replace fundamental aspects: PSU margin, zoned protection, wire gauge, connection reliability, and heat dissipation. Many "flickering" issues are actually transient problems caused by PSU triggering protection/voltage sag/increased connector resistance.
3) Addressable Signal Integrity: Design "data" as a communication link.
SPI/WS281x Class: My commonly used combination is:
Keep data lines as short as possible (controller close to the first segment).
Add buffering/reshaping if necessary (re-drive every segment).
Use differential transmission (RS-485, etc.) for long-distance traces and then convert back at the end.
Use a unified ground (single-point grounding/partitioned grounding strategy must be clearly defined), and avoid bundling data lines too close to high-current harnesses.
By the way, this article focuses on the differences and selection of DMX vs SPI:https://suntechlite.com/dmx-led-strip-vs-spi-led-strip/