ICUE-Compatible RGB Controller (DIY Lighting Node Pro)
by AZDelivery in Circuits > Arduino
32 Views, 0 Favorites, 0 Comments
ICUE-Compatible RGB Controller (DIY Lighting Node Pro)

Make any ARGB light-strip talk to Corsair iCUE—without spending €50 on a real Lighting Node Pro!
After building my new gaming PC, I wanted every LED inside to sync through iCUE. Unfortunately, the external ARGB header on my ASUS ROG H370-I wasn’t supported.
After building my new gaming PC, I wanted every LED inside to sync through iCUE. Unfortunately, the external ARGB header on my ASUS ROG H370-I wasn’t supported.
Enter the open-source Corsair Lighting Protocol and an inexpensive ATmega32U4 board. In this project you’ll turn a Pro Micro into a fully fledged Lighting Node Pro clone, mount it neatly inside your case, and unleash iCUE on all those addressable LEDs.
Supplies





1x Pro Micro (or any ATmega32U4 board, e.g. Arduino Leonardo, Micro)
1x USB cable (USB-C or Micro USB depending on your board)
1x 3D printed enclosure (https://www.thingiverse.com/thing:2758098)
1x USB 2.0 motherboard header → Micro-USB pigtail (or USB-C depending on your board)
1x SATA-to-5 V breakout (For > 7 LEDs USB can’t supply enough)
Plan & Prerequisites
1. Why a native-USB (ATmega32U4) board is mandatory
- A real Corsair Lighting Node Pro presents itself to the PC as a USB HID device, not a serial device.
- Popular Arduinos such as the Uno or Nano reach the PC through a second chip (FTDI, CH340, or ATmega16U2) that merely converts USB ↔ UART. The main MCU never sees true USB traffic, so it cannot fake HID.
- ATmega32U4 boards (Leonardo, Micro, Pro Micro …) have the USB controller inside the microcontroller. We can rewrite its descriptors so iCUE believes it is talking to an authentic Corsair controller—no extra hardware or drivers.
2. Boards that work out of the box
- Arduino Leonardo: Classic Arduino size
- Arduino Micro: Narrow profile, sturdy Micro-USB connector
- Arduino Pro Micro / clones: Cheapest and tiniest—perfect for mounting inside a PC case
Wiring & Power Budget

1. Connect DIN 1 (Channel 1) → Pro Micro Pin 2.
2. (Optional) DIN 2 (Channel 2) → Pin 3.
3. 5 V and GND straight from SATA or Molex if you drive > 7 LEDs.
4. USB only powers the MCU (≈ 30 mA).
LED current math:
• USB 2.0 limit at boot: 100 mA – 30 mA MCU = 70 mA ⇒ 1 LED max
• Hard limit 500 mA ⇒ ~7 LEDs
• My 60-LED strip @ white ≈ 4 A ⇒ use SATA 5 V rail!
Assemble & Enclose

- Solder or crimp the three wires (5 V, Data, GND).
- Test on the bench before boxing it up.
- Print the case, file a slot for the strip cable, screw or hot-glue board inside.
Flash the Firmware




Open the Arduino IDE and go to File > Preferences > Additional Board URLs and add following URL to the list:
Next open the Boards Manager and search for "CLP" and install it.
In tools > Board > Corsair Lithing Protocol Boards select "CLP Arduino Leonardo"
Open the example: File > Examples > Corsair Lighting Protocol > LightingNodePRO
Choose the correct device: Tools > Device > Lighting Node PRO
Choose the correct COM-Port and Upload the example.
Verify in ICUE


Install iCUE 4 (or 5) from Corsair’s site.
The flashed board should appear as Lighting Node Pro in the dashboard.
Open Lighting Setup: choose how many LEDs per channel.
Create Your First Scene








Open Lighting Channel 1
- iCUE automatically assigns a full-length Rainbow Wave. We’ll trim and layer effects on top of it.
Limit the Rainbow Wave to LEDs 17–24
- In the strip preview, click LED 17, then hold Ctrl (Cmd on macOS) and click through LED 24, or drag-select the block.
- The yellow outline shows those eight LEDs are selected; everything else is deselected.
Cover the remaining LEDs with new effects
- Press the + beside “Lighting Channel 1” to add another effect line.
- iCUE again inserts a full-length Rainbow; change its Type to Static Color, pick black, and select LEDs 25–30.
- Repeat the process for LEDs 9–12 (Static → green) and LEDs 13–16 (Static → red).
Create the blue breathing block (LEDs 1–8)
- Add one more effect line.
- Select LEDs 1–8 in the preview.
- Set Type to Gradient.
- Click the + below the gradient graph until you have three nodes.
- Colour the middle node pure blue at 100 % brightness; set both outer nodes to the same blue but pull them down to 20 % brightness.
- Change Duration/Repeat to 2 s so the fade-in/fade-out cycle lasts two seconds.
Admire the result
- The strip should now breathe blue at the front, hold steady green then red, roll a Rainbow Wave through LEDs 17–24, and stay dark at the tail end.
Going Further
There’s still plenty of head-room left in this build:
- Add more hardware: Channel 2 is free, so feel free to attach a second LED strip or even a bank of fans.
- Unlock Commander Pro features: Flip the library into Commander Pro emulation mode to gain extra fan and temperature channels for richer monitoring.
- Swap in other LEDs: A quick edit of the example sketch lets you drive alternative smart-pixel formats such as DotStar or any SPI-based LED driver.
Tweak, expand, and experiment—your setup can grow right along with your ideas!