You might find the full PCB image helpful. Ignore the red boxes!
-
Connect V+ to the receiving end of the thermistor labeled F1; connect GND to the board's GND pin. (Avoid connecting +V to the board's +5V pin - you will likely overload the thermistor, and you will limit your maximum brightness.)
-
Connect DI to PB0.
-
Should look something like this when finished:
-
If it is not present already, add the following to your keymap's
Makefile
:RGBLIGHT_ENABLE = yes AUDIO_ENABLE = no #Underglow animations cannot be used with audio.
-
If it is not present already, add the following to your keymap's
config.h
:#define RGBLIGHT_ANIMATIONS // Underglow animations. #define RGB_DI_PIN B0 // The pin your RGB strip is wired to #define RGBLED_NUM 35 // Number of LEDs #define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue #define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat #define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
-
If they are not present already, add the following keycodes to your keymap to control the RGB strip:
RGB_TOG
(on/off),RGB_MOD
(step through modes),RGB_HUI
,RGB_HUD
,RGB_SAI
,RGB_SAD
,RGB_VAI
,RGB_VAD
(HSV increase/decrease). Add these to your keymap.
USB 2.0 ports on laptops provide up to 500mA max, but USB 3.0 ports can provide up to 900mA; USB 3.1 up to 1.5A; and powered USB hubs even more. We can run our keyboard at a higher brightness if we draw more power. The Zeal60 uses 500mA at max brightness. This means that you have about 400mA remaining for the strip to use on a USB 3.0 port; 1000mA free on a USB 3.1 port, so on and so forth.
Warning: This means you will need to turn off your RGB strip before connecting to a USB 2.0 port, as USB 2.0 cannot sustain the current necessary!
-
If not present already, add the following to your keymap's
config.h
. Change variable definitions based on your needs.// Current limiting. #define USB_MAX_POWER_CONSUMPTION 900 // Limit device max power consumption. #define RGBSTRIP_CURRENT_LIMIT 400 // Strip current limit in mA. #define RGBSTRIP_MAX_CURRENT_PER_LIGHT 60 // mA per light when at max brightness.
-
Toggle on the LED strip (
RGB_TOG
) and step through animations (RGB_MOD
) to test it out!
Issue: Keymap compile errors/flickering underglow
Solution: The Zeal60 firmware as changed quite a bit in the 2 years since I wrote this guide. Check out my qmk-firmware repository instead of the official one or Wilba's. Then try compiling from either the zeal60
branch or the zeal60-personal-old
branch after applying the changes as described above.
- In-depth description of connecting an RGB strip to the GH60
- 32U4 Pinout
- Redditor describes connecting RGB strips on his Satan GH60
- Another Redditor on RGB with the Satan GH60
- QMK Wiki portion on underglow
- Planck
Makefile
,config.h
, andkeymap.c
config example - Video demonstrating keycode functions and RGB modes on a KC60
- Discussion of cutting jumpers and adding resistors to lower current from Zeal60
- A selection of 900mA-1.5A current hold fuses - look for an SMD 0805-sized fuse.
- Video detailing technique to solder 0805 resistors
- QMK feature request to implement max power draw limits in
config.h
- Commit enabling max power draw limits in
config.h
when I tried to run make, I keep getting the "../../Makefile:490: recipe for target 'zeal60-allsp-allkm' failed
make: *** [zeal60-allsp-allkm] Error 1"
Any idea why? Thanks