Jump to content
Corsair Community

HowTo: HD120 RGB Custom Lighting Controller


Recommended Posts

  • Replies 271
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Front fan - Arduino Uno, 100 line demo with button.

LED strip - Arduino Mega - modified code from:

 

That's a lot of excess memory unused and extra space used in Arduino hardware. Both of those items could very easily be done with Leonardo-based boards like a Pro Micro or a Beetle, and the latter of those two is the most expensive at about $12 or $13. Mega and Uno are more of the general prototyping boards for when you don't know how you want to do it, or hat boards for when you need a hat.

 

How many total LEDs combined on the strips? With WS2812, a single SATA connector can handle a max of 75 LEDs. APA102's max out at 50 LEDs.

Link to comment
Share on other sites

Guys, new to Corsair forum... searched a bit for my question, but haven't found it asked/answered yet. Seems this thread has the knowledge base.

 

If the Corsair lighting is WS2812b(-ish), could HD120 RGB fans be connected to the Asus Aura ADDRESSABLE header (not the 12V RGB header of course), which is in fact a WS2812b controller (assuming pinout is verified and matched)? I'm not too familiar with the Aura control software, so I don't know how close to plug and play it might be. Or if it would be necessary to daisy chain fans through data out/in ports (which I suppose is likely needed with the Corsair controller anyway).

 

Has there been discussion on this, or even if Corsair will make adapters/whatnot for Aura compatibility?

Link to comment
Share on other sites

Guys, new to Corsair forum... searched a bit for my question, but haven't found it asked/answered yet. Seems this thread has the knowledge base.

 

If the Corsair lighting is WS2812b(-ish), could HD120 RGB fans be connected to the Asus Aura ADDRESSABLE header (not the 12V RGB header of course), which is in fact a WS2812b controller (assuming pinout is verified and matched)? I'm not too familiar with the Aura control software, so I don't know how close to plug and play it might be. Or if it would be necessary to daisy chain fans through data out/in ports (which I suppose is likely needed with the Corsair controller anyway).

 

Has there been discussion on this, or even if Corsair will make adapters/whatnot for Aura compatibility?

 

Welcome to the forums.

 

Somebody asked the same on my Youtube video. ^.^

 

Not tested, but In Theory...

 

As long as the following conditions are met:

1: The fans have sufficient power.

2: The power source and connections are not overloaded.

3: The fans are getting data to the data in.

4: The ground is connected for Data to Ground as well

 

Then yes. it will work somehow with the header.

 

You would not be able to plug the fan LED connector directly into the header. The fan is a loopback for data, not an end. The hub would be useful here.

 

If the motherboard header can handle 4.4 amps, then you could just connect the header directly to the fan hub and run six fans.

 

If it can't support that much, then the Data and Ground would need to be connected to the hub and the hub connected to SATA power for the LED power.

 

You -could- skip the hub by connecting pins directly into the fans to jump data and power properly, but that would just be really messy by comparison.

 

The fans show up as 12 LEDs per fan, times whatever number of fans, up to 72 per hub.

 

The LNP -> Hub cable would work, for example, but would be expensive for just two wires.

 

 

That will probably make sense to you based on what you've said, but if I was unclear on anything, let me know. ^.^

Link to comment
Share on other sites

250LEDs WS2812B - under 2A (all LEDs white)

 

Given that the specs on WS2812B LED packages are 20mA per channel fully on (PWM high rate 100%), three channels (R, G, B), for a total of 60mA (0.06A) per LED at full white, you might want to check your system there. That would normally be pulling 15 amps (Higher than a lot of multimeters can read) for 250 60mA LEDs running at 60mA each.

 

So the question is what is wrong?

Do the LEDs you have not match spec? (Bad LEDs)

Is the meter broken or overloaded?

Are the LEDs trying to pull more power than the PSU can supply and thus not getting it due to voltage drop?

 

When you have numbers not adding up with electricity, that can easily be a wonderful fire. Literally.

Link to comment
Share on other sites

Is there a better breakdown of how to use the commands? I have been reading this thread as well as the readme, but I cannot seem to get it to work the way I want.

 

What specifically are you trying to do and where are you encountering issues? That is, what are you doing, what are you expecting to see, and what is happening instead?

 

The directions for the readme are admittedly very low level, as in they don't really describe -what- the particular control value does visually in specific cases. It's more of a programming manual type thing.

 

I probably should make some examples. O.O That will help until I can figure out C# enough to make a program for this.

Link to comment
Share on other sites

Little bit of a different mobo question - my mobo has both 12v and 5v addressable headers. can i plug use the addressable header to somehow control the fans? i assume by going into the controller? Not sure what order the pins are in the controller though. I have the hd120 3pack + controller.

 

PlKvnWn.png

 

http://dlcdnet.asus.com/pub/ASUS/mb/LGA2066/PRIME_X299-DELUXE/E13088_PRIME_X299-DELUXE_UM_V2_WEB.pdf

 

Thanks in advance

Link to comment
Share on other sites

Little bit of a different mobo question - my mobo has both 12v and 5v addressable headers. can i plug use the addressable header to somehow control the fans? i assume by going into the controller? Not sure what order the pins are in the controller though. I have the hd120 3pack + controller.

 

Thanks in advance

 

The addressable header would control the lights on a fan directly. Five fans at most on a hub only from the header, six on a hub if the hub gets power from SATA.

 

Basically, the 5V ADD Header puts out the same signal to the LEDs as the controller I coded and designed. Then it's subject to the controller it has in the motherboard related to that header.

 

Let me know if you have any specific questions regarding this and I'll see what I can answer.

Link to comment
Share on other sites

The addressable header would control the lights on a fan directly. Five fans at most on a hub only from the header, six on a hub if the hub gets power from SATA.

 

Basically, the 5V ADD Header puts out the same signal to the LEDs as the controller I coded and designed. Then it's subject to the controller it has in the motherboard related to that header.

 

Let me know if you have any specific questions regarding this and I'll see what I can answer.

 

Thanks for the super quick response. by hub do you mean the one thats included with the hd120 kit ( http://www.corsair.com/~/media/corsair/product-images/cooling/hd-series/hd120/large/hd120_rgb_11.png ) ? or a different type of hub.

Link to comment
Share on other sites

Thanks for the super quick response. by hub do you mean the one thats included with the hd120 kit ( http://www.corsair.com/~/media/corsair/product-images/cooling/hd-series/hd120/large/hd120_rgb_11.png ) ? or a different type of hub.

 

Absolutely. When I'm awake and at my computer, I'm generally quick to respond.

 

Yes, the hub included with the HD 120/140 RGB fans.

 

Addressable LEDs need to be in a single chain of data wire. The fans take one wire out, and one wire back, then the hub takes the wire back to the next fan.

 

Running five fans' LEDs directly from the addressable header would require fans on ports 1-5 of the hub and then a connection to the controller port of the hub at the end, with all three wires connected. There is no pre-built cable for this.

 

Running fan LEDs from SATA power and the header would require JUST the Data and Ground of the header to be connected to the hub.

Link to comment
Share on other sites

Absolutely. When I'm awake and at my computer, I'm generally quick to respond.

 

Yes, the hub included with the HD 120/140 RGB fans.

 

Addressable LEDs need to be in a single chain of data wire. The fans take one wire out, and one wire back, then the hub takes the wire back to the next fan.

 

Running five fans' LEDs directly from the addressable header would require fans on ports 1-5 of the hub and then a connection to the controller port of the hub at the end, with all three wires connected. There is no pre-built cable for this.

 

Running fan LEDs from SATA power and the header would require JUST the Data and Ground of the header to be connected to the hub.

 

Awesome, thank you so much, thats what I had hoped. I looked through the thread but must have missed it, can you tell me the pin order on the hub? hoping this from earlier is correct :

 

(Note the following image has it backwards) https://1.downloader.disk.yandex.ru/preview/ef234c80bad8648ed868a13bbc22a2c248f6fa462b99bb0af97e284a76d4d0bc/inf/wesExF8Bi3fKA3m0cyGQ474YM-aUlDwXzpkKbAP6awDlCRlljtjyIdUtnDedicZ4ufglxo78o2uqJWaxjXuZ_g%3D%3D?uid=0&filename=img-2017-08-19-22-08-39.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&tknv=v2&size=XXL&crop=0

Edited by SkwerlsGoneWild
Link to comment
Share on other sites

Awesome, thank you so much, thats what I had hoped. I looked through the thread but must have missed it, can you tell me the pin order on the hub? hoping this from earlier is correct :

 

Assuming you're asking only about the hub specifically (The +5 should not be connected to the Arduino controller)...

 

It actually looks backwards in that image, so I'm double-checking as soon as I can find my dissected hub...

Link to comment
Share on other sites

Very badly backwards. Connecting as per in that image would cause electrical damage and potential system damage.

 

The +5V and Ground (-5V in that image) are reversed on the hub, When looking at the hub in that orientation, +5V is on the left, Data in the middle, Ground on the right

 

Where did you originally find that image?

Link to comment
Share on other sites

Very badly backwards. Connecting as per in that image would cause electrical damage and potential system damage.

 

The +5V and Ground (-5V in that image) are reversed on the hub, When looking at the hub in that orientation, +5V is on the left, Data in the middle, Ground on the right

 

Where did you originally find that image?

 

Well glad I checked! it's post 115 in this thread, second link

 

http://forum.corsair.com/v3/showpost.php?p=916790&postcount=115

Link to comment
Share on other sites

Well glad I checked! it's post 115 in this thread, second link

 

He put a disclaimer to "test it" in the post. I hope nobody sees the picture and just Does That. O.O

 

Anyway, with the Arduino controller, there should either be +5 from the hub to the Arduino, -OR- USB, not both. O.O Ahh well.

 

With the ADD_HEADER pin out listed, take all three to the hub and do not use SATA power, or take Data and Ground and DO use SATA power.

 

You can use breadboard jumper wires, female to female pin connectors.

Link to comment
Share on other sites

What specifically are you trying to do and where are you encountering issues? That is, what are you doing, what are you expecting to see, and what is happening instead?

 

The directions for the readme are admittedly very low level, as in they don't really describe -what- the particular control value does visually in specific cases. It's more of a programming manual type thing.

 

I probably should make some examples. O.O That will help until I can figure out C# enough to make a program for this.

 

Thanks for getting back so quick. I was able to figure out where I was going wrong after going through your example on page 8 again, showing how to set up a single spinner effect. I misread that the settings were changed with each fan mode, so I was trying to use commands that were for different modes.

Link to comment
Share on other sites

Thanks for getting back so quick. I was able to figure out where I was going wrong after going through your example on page 8 again, showing how to set up a single spinner effect. I misread that the settings were changed with each fan mode, so I was trying to use commands that were for different modes.

 

No problem.

 

I really should make higher level info for the modes though, as well as some Fancy Pants blocks.

 

Did you know that when you do a query with ? the results can be pasted right back in to set the exact same thing?

 

Six Fans fading between red and yellow at a rapid rate, with the red fade fluctuating from fan six to fan one in a rotation... so basically wave of red and yellow through all the fans. Very simple, all the fans glow the same color at the same time, but shows off some of the phase offset.

^1.0=0 ^1.1=0 ^1.2=64 ^1.3=0 ^1.4=0 ^1.5=0 ^1.6=0 ^1.7=40 <

^2.0=0 ^2.1=0 ^2.2=64 ^2.3=0 ^2.4=0 ^2.5=42 ^2.6=0 ^2.7=40 <

^3.0=0 ^3.1=0 ^3.2=64 ^3.3=0 ^3.4=0 ^3.5=85 ^3.6=0 ^3.7=40 <

^4.0=0 ^4.1=0 ^4.2=64 ^4.3=0 ^4.4=0 ^4.5=127 ^4.6=0 ^4.7=40 <

^5.0=0 ^5.1=0 ^5.2=64 ^5.3=0 ^5.4=0 ^5.5=170 ^5.6=0 ^5.7=40 <

^6.0=0 ^6.1=0 ^6.2=64 ^6.3=0 ^6.4=0 ^6.5=212 ^6.6=0 ^6.7=40 <

 

 

Otherwise, experiment. For example, the use of Phase Offsets between things (Multiple fans or segments for example) can have a wonderful effect. My only regret is that the library makes everything a byte, so -everything- is 0-255 instead of 1-100 or 1-360.

Link to comment
Share on other sites

No problem.

 

I really should make higher level info for the modes though, as well as some Fancy Pants blocks.

 

Did you know that when you do a query with ? the results can be pasted right back in to set the exact same thing?

 

Six Fans fading between red and yellow at a rapid rate, with the red fade fluctuating from fan six to fan one in a rotation... so basically wave of red and yellow through all the fans. Very simple, all the fans glow the same color at the same time, but shows off some of the phase offset.

^1.0=0 ^1.1=0 ^1.2=64 ^1.3=0 ^1.4=0 ^1.5=0 ^1.6=0 ^1.7=40 <

^2.0=0 ^2.1=0 ^2.2=64 ^2.3=0 ^2.4=0 ^2.5=42 ^2.6=0 ^2.7=40 <

^3.0=0 ^3.1=0 ^3.2=64 ^3.3=0 ^3.4=0 ^3.5=85 ^3.6=0 ^3.7=40 <

^4.0=0 ^4.1=0 ^4.2=64 ^4.3=0 ^4.4=0 ^4.5=127 ^4.6=0 ^4.7=40 <

^5.0=0 ^5.1=0 ^5.2=64 ^5.3=0 ^5.4=0 ^5.5=170 ^5.6=0 ^5.7=40 <

^6.0=0 ^6.1=0 ^6.2=64 ^6.3=0 ^6.4=0 ^6.5=212 ^6.6=0 ^6.7=40 <

 

 

Otherwise, experiment. For example, the use of Phase Offsets between things (Multiple fans or segments for example) can have a wonderful effect. My only regret is that the library makes everything a byte, so -everything- is 0-255 instead of 1-100 or 1-360.

 

That is great to know, in case I want to save a text file or something with the commands so I have that setup for later use. I have been playing with it some and there is so much you can do!

 

Also, I currently have 6 hd120 fans, but I plan on adding 3-6 more in the future. What would the easiest way be for me to integrate these without buying another arduino?

Link to comment
Share on other sites

That is great to know, in case I want to save a text file or something with the commands so I have that setup for later use. I have been playing with it some and there is so much you can do!

 

Also, I currently have 6 hd120 fans, but I plan on adding 3-6 more in the future. What would the easiest way be for me to integrate these without buying another arduino?

 

Physical solution (Not too complicated):

If possible, extract the pin sheath for data return from the port six fan and re-tie it into the data in on the end of a second hub. Otherwise you'd need to cut or inline-strip the wire if you are not able to extract the pin sheath and splice a cable to it to jump to the data in of the hub. You'll also need to run a second (split) ground line from the Arduino to the second hub as well. No +5V. O.o

 

Alternately, you could make a chain dongle for the second hub that connects between Hub Port 6 and the fan and takes the data out straight to the second hub and splits off the ground to the second hub. This option is slightly more complex but doesn't change the fan connector or cable at all.

 

Then in the code, just recompile for more fans (change one number).

 

Programmatic solution (More complicated code-wise):

Take a second pin from the Arduino and split the Arduino ground to a second hub and add substantially to the code to handle another chain of LEDs on fans on the second pin.

 

 

The above is a high level description, so feel free to ask for more detail if you desire.

Link to comment
Share on other sites

Physical solution (Not too complicated):

If possible, extract the pin sheath for data return from the port six fan and re-tie it into the data in on the end of a second hub. Otherwise you'd need to cut or inline-strip the wire if you are not able to extract the pin sheath and splice a cable to it to jump to the data in of the hub. You'll also need to run a second (split) ground line from the Arduino to the second hub as well. No +5V. O.o

 

Alternately, you could make a chain dongle for the second hub that connects between Hub Port 6 and the fan and takes the data out straight to the second hub and splits off the ground to the second hub. This option is slightly more complex but doesn't change the fan connector or cable at all.

 

Then in the code, just recompile for more fans (change one number).

 

Programmatic solution (More complicated code-wise):

Take a second pin from the Arduino and split the Arduino ground to a second hub and add substantially to the code to handle another chain of LEDs on fans on the second pin.

 

 

The above is a high level description, so feel free to ask for more detail if you desire.

 

That sounds like a great solution. Do you know which pins do what on the hub? I have some jumper wires and a pin extractor so I should be able to make it work pretty easily. The data out from port six would have a Y in it, one to go to the fan and one to go to the data wire on the 2nd hub correct?

Link to comment
Share on other sites

That sounds like a great solution. Do you know which pins do what on the hub? I have some jumper wires and a pin extractor so I should be able to make it work pretty easily. The data out from port six would have a Y in it, one to go to the fan and one to go to the data wire on the 2nd hub correct?

 

O.O

I should have clarified "data out from the fan".

 

On port 6, starting from hub pin closest to to the controller connection:

+5v rail

Data RETURN (from the fan. This goes nowhere on port 6 or may me shunted to ground, hard to tell with the flux on this hub)

Data OUT (To fan)

Ground rail

 

You want to take the DATA RETURN from the fan in six and -not- take it to the hub, but only to the controller "data" connection of the next hub. You want to take the ground from anywhere on the first hub and tie it into the ground of the second hub. So you don't want to have any connection from that fan's wire to the first hub for the data return, just in case it's shunted to ground. O.O

Link to comment
Share on other sites

O.O

I should have clarified "data out from the fan".

 

On port 6, starting from hub pin closest to to the controller connection:

+5v rail

Data RETURN (from the fan. This goes nowhere on port 6 or may me shunted to ground, hard to tell with the flux on this hub)

Data OUT (To fan)

Ground rail

 

You want to take the DATA RETURN from the fan in six and -not- take it to the hub, but only to the controller "data" connection of the next hub. You want to take the ground from anywhere on the first hub and tie it into the ground of the second hub. So you don't want to have any connection from that fan's wire to the first hub for the data return, just in case it's shunted to ground. O.O

 

Got it, that makes more sense. Sounds simple enough, I will have to give it a try when I get more fans. Thanks alot!

Link to comment
Share on other sites


×
×
  • Create New...