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)

rgb_title.jpg

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

kabel_micro_usb.jpg
pro_micros.jpg
leonardo.png
kabel_sata.jpg
mainboard_micro_usb.jpg

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 RGB LED Strip

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

  1. A real Corsair Lighting Node Pro presents itself to the PC as a USB HID device, not a serial device.
  2. 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.
  3. 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

  1. Arduino Leonardo: Classic Arduino size
  2. Arduino Micro: Narrow profile, sturdy Micro-USB connector
  3. Arduino Pro Micro / clones: Cheapest and tiniest—perfect for mounting inside a PC case

Wiring & Power Budget

connectionProMicro.png

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

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

Flash the Firmware

Arduino_Boardverwalter.png
Arduino_selectBoard.png
arduino_selectExample.png
arduino_selectDevice.png

Open the Arduino IDE and go to File > Preferences > Additional Board URLs and add following URL to the list:

https://raw.githubusercontent.com/Legion2/CorsairLightingProtocolBoards/master/package_Legion2_CorsairLightingProtocolBoards_index.json

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

icue_01.png
icue_02.png

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

icue_03.png
icue_04.png
icue_05.png
icue_06.png
icue_07.png
icue_08.png
icue_09.png
icue_10.png

Open Lighting Channel 1

  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

  1. In the strip preview, click LED 17, then hold Ctrl (Cmd on macOS) and click through LED 24, or drag-select the block.
  2. The yellow outline shows those eight LEDs are selected; everything else is deselected.

Cover the remaining LEDs with new effects

  1. Press the + beside “Lighting Channel 1” to add another effect line.
  2. iCUE again inserts a full-length Rainbow; change its Type to Static Color, pick black, and select LEDs 25–30.
  3. Repeat the process for LEDs 9–12 (Static → green) and LEDs 13–16 (Static → red).

Create the blue breathing block (LEDs 1–8)

  1. Add one more effect line.
  2. Select LEDs 1–8 in the preview.
  3. Set Type to Gradient.
  4. Click the + below the gradient graph until you have three nodes.
  5. Colour the middle node pure blue at 100 % brightness; set both outer nodes to the same blue but pull them down to 20 % brightness.
  6. Change Duration/Repeat to 2 s so the fade-in/fade-out cycle lasts two seconds.

Admire the result

  1. 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:

  1. Add more hardware: Channel 2 is free, so feel free to attach a second LED strip or even a bank of fans.
  2. Unlock Commander Pro features: Flip the library into Commander Pro emulation mode to gain extra fan and temperature channels for richer monitoring.
  3. 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!