Adding RGB to FC660C with HASU controller

This Easter, when the Norbauer U&O sale went up, I finally bit the bullet and ordered one for my FC660C. That could have been the end, but product photos of the case with RGB caught my eye, and lead me to @r4bbl3d4bbl3’s MX PCB for the Heavy-6. While I love the idea, I am not looking to return to MX any time soon, and the post inspired me to see if I could add RGB functionality to my FC660C. If for no other reason than to say I could. The short answer is, yes, it can be done.

The first task was determining a spare pin that could be used for controlling the RGB. Initially, I determined there were several spare pins on the MCU that I could repurpose, but getting that signal from the HASU to the PCB seemed like an unnecessary complication. Fortunately for me, the pin-out for the 20-pin cable is plainly detailed in the readme. I decided to repurpose the Insert LED, pin 19, as an RGB output. I grabbed 5v here as well. Originally I grabbed the GND pin here, but found it on another pad on the PCB which alleviated some of the cable cluster here.

From here it was a matter of sticking & soldering LEDs. For this process, I used a Sparkfun RGB strip with 60 LEDs/meter. What followed was 48 jumper wires / 96 solder joints (Note the circled pad where I picked up the ground connection).

Editorial Note

Because of the density of the LED strip I had on hand, I had to solder each LED individually. If I were to source LEDs to do this again, I would seek out a strip with about half the density and try to get away with a single long strip on top and bottom, reducing my solder work to 15 jumpers / 30 joints.

Finally it is just a matter of updating the firmware to drive them. Changes made include:

  • Disabling the Insert LED indicator in matrix.c
  • Adding RGB to config.h, adding RGB to rules.mk
  • Disabling Command_Enable in rules.mk (firmware was too big when including via)
  • Adding a rules.mk to the default keymap to retain the Command_Enable functionality in non-VIA keymaps
  • Modifying VIA json for RGB support

I’ve uploaded the modified keyboard firmware to it’s own repo. Downloading and dropping the fc660c folder into your QMK folder (rename the existing fc660 folder first) should allow you to get up and running in short order. I’ve also included the updated VIA json that you can import to VIA to enable lighting control.

I think that covers the bases. I’m counting the days until my PC Heavy-6 arrives and I can take some proper photos. In the meantime, I hope some of you find this useful.

Cheers!

10 Likes

Admiring what you did–it’s a bit out of my current skill base, but amazing. Possibly derp question, does it have a breathing mode (changing colors slowly?) that’s about the only RGB mode that doesn’t trigger migraines. I’d like to have lights but I can’t handle strobing and pulsing effects.

1 Like

Yes! It is capable of any and all RGB modes supported by QMK. Right now I have a static gradient enabled, but I think I plan to use a single, static color in the heavy 6.

1 Like

Great guide!

1 Like

That’s super nice!

1 Like

Thanks, guys! I’m curious to see if any PC heavy-6s show up with RGB before mine arrives. Also curious to see how the mounting hole in the plate plays with the light. Might end up having to cover it with electrical tape.

1 Like

When my polycarbonate case gets here man, this is absolutely happening. I can hardly wait. Both for the case and the glorious excess of RGB lighting.

1 Like