Jump to content
Corsair Community

HD120/140 RGB Arduino Controller Updates


Charixfox
 Share

Recommended Posts

Just letting folks know that I am currently working in spare time on an update that will allow fan topological chaining from the custom controller. Most of the planning work is completed and when it's done it will hopefully allow for some nice inter-fan effects.

 

The other smaller thing coming with the new version will be a new shorthand control to set a full group of settings at once.

 

On the back burner is a Windows program to make setting the controller modes easier than doing it manually (Turns out Windows is weirder than I thought).

 

Also planned for the future is a way to have a pre-packaged firmware installer for the controller so people don't need to use the Arduino IDE.

 

And a toyed-with idea to make a fancier communication method such as USB. However that would absolutely 100% mandate the use of a Windows control program because sending arbitrary USB data randomly is not trivial.

 

Also back burnered is a video explaining how to make the thing (Turns out video editing is also more complicated than I expected). So jumbled text directions are still the go-to. ._.

 

Oh, and if you read this far and have absolutely no idea what I'm talking about...

Before there were better Corsair controllers for the fans' LED lighting, I designed and built a controller that clocks in at a whopping $15 worth of parts and has just a touch (lot) more capability than the fancy controllers that cost $60. You can find a video example of some of the things it can do (in time to music and everything. ^.^) at:

 

[ame]

[/ame]

 

Original thread at http://forum.corsair.com/forums/showthread.php?t=165029

 

Anyway, off to stuff!

 

Questions? Comments? Reply below! ^.^

  • Confused 1
Link to comment
Share on other sites

Awesome work! I've been playing with this a bit on and off over the past few months and it's a fantastic DIY project for unlocking super complex lighting effects with the HD120 RGB fans. :)

 

Thanks, CJ. ^.^

 

I really need to update the parts list and make things a little more user-friendly. And more specific. Especially since the upcoming version won't run on a Nano, only on a Pro Micro or other related Leonardo-style board. But the Beetle makes it really easy to build for just a hub full of fans.

 

Considering I don't do code for a living, I'm just happy I've got it working well. XD We'll see if it keeps behaving once I'm allocating Arduino RAM dynamically. O.o

 

If I figure out C# well enough, music reaction might be on the agenda too (eventually).

Link to comment
Share on other sites

Very, very impressive stuff. Amazing what you can do with a little Arduino, ain't it?

 

No kidding. Even the LNP is a much more capable processor with a ton more memory. It doesn't use most of its capability though.

 

The fun bit on an Arduino is keeping the program size to under 29.5 KB and the memory use to under 2.5 KB. Yes, that's about 29,500 and 2,500 bytes respectively. Not like our computers with over 32,000,000,000 bytes of memory and browsers consuming 1,500,000,000 bytes from just opening a few pages.

 

I ended up discovering that the code on the GitHub runs at about 75 FPS currently because of resolution considerations. It takes about 3.5ms to send all the data out to the LEDs but figuring out what they'll all do takes about 1.3ms. Pretty fast for a little 16Mhz CPU. ^.^

Link to comment
Share on other sites

No kidding. Even the LNP is a much more capable processor with a ton more memory. It doesn't use most of its capability though.

 

The fun bit on an Arduino is keeping the program size to under 29.5 KB and the memory use to under 2.5 KB. Yes, that's about 29,500 and 2,500 bytes respectively. Not like our computers with over 32,000,000,000 bytes of memory and browsers consuming 1,500,000,000 bytes from just opening a few pages.

 

I ended up discovering that the code on the GitHub runs at about 75 FPS currently because of resolution considerations. It takes about 3.5ms to send all the data out to the LEDs but figuring out what they'll all do takes about 1.3ms. Pretty fast for a little 16Mhz CPU. ^.^

Ya know, I'm actually old enough to remember when 16Mhz was fast for a PC. My first code-for-pay was written using a 386SX/20Mhz processor with 2 MB of RAM. Ahhhh ... those were the days ... we didn't need no steenkin' LEDs or liquid coolers, the only fan was in the power supply and AfterDark was how you tricked out your system.

Link to comment
Share on other sites

Ya know, I'm actually old enough to remember when 16Mhz was fast for a PC. My first code-for-pay was written using a 386SX/20Mhz processor with 2 MB of RAM. Ahhhh ... those were the days ... we didn't need no steenkin' LEDs or liquid coolers, the only fan was in the power supply and AfterDark was how you tricked out your system.

 

Can't say I'm young myself. Or that I was being paid anything but grades for teaching the rest of the class coding on 8088s and Apple IIe LOGO (more than just real time control of the turtle.) 10Base2 networking was a thing in High School and I took over teaching CAD there, incentivizing the students with networked Doom deathmatches. Squeezing every last KB of RAM out of the sub-640K area to be able to run games (Dang that mouse driver being 1.5K too big!) was a serious effort sometimes. Cyrix CPUs were awesome wile they lasted and Lian Li's all-aluminum cases were both light and helped reduce temperatures.

 

Just be sure not to play a non-Turbo game with the Turbo button enabled on the CPU. <.<

Link to comment
Share on other sites

Can't say I'm young myself. Or that I was being paid anything but grades for teaching the rest of the class coding on 8088s and Apple IIe LOGO (more than just real time control of the turtle.) 10Base2 networking was a thing in High School and I took over teaching CAD there, incentivizing the students with networked Doom deathmatches. Squeezing every last KB of RAM out of the sub-640K area to be able to run games (Dang that mouse driver being 1.5K too big!) was a serious effort sometimes. Cyrix CPUs were awesome wile they lasted and Lian Li's all-aluminum cases were both light and helped reduce temperatures.

 

Just be sure not to play a non-Turbo game with the Turbo button enabled on the CPU. <.<

Ahh ... the joys of 640K and UMA ... and tweaking the load order *just so* to get that extra 1K that you need to play the latest game. I really, really don't miss those days.

But I must respectfully disagree with you on the Cyrix CPUs. Yes, I know they had their following but I had one of the Pentium-class ones. It had a (green) heat sink and got so hot that it melted the thermal glue on the heat sink, which then slid off the top of the chip. This caused blue screens in NT (they didn't have thermal throttling back then).

That resulted in my very first case fan ... I had to open the case and put a box fan next to the open system to keep it cool. :laughing:

Link to comment
Share on other sites

 Share

×
×
  • Create New...