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:
Optional: To allow considerably more light to escape, consider angling the strip outwards by using some sort of fulcrum under the strip. (I used a thick wire.)
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
, and edit the values as necessary:
// Set up RGB underglow.
#define RGB_DI_PIN B0 // The pin your RGB strip is wired to
#define RGBLIGHT_ANIMATIONS // Require for fancier stuff (not compatible with audio)
#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 the numbers based on your needs. The ones below are safe underestimates.
// Enable current limiting for RGB underglow.
#define RGBSTRIP_CURRENT_LIMIT 400 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
#define RGBSTRIP_MAX_CURRENT_PER_LIGHT 50 // mA per light when at max brightness.
Example: I use a USB port capable of providing 1800 mA. The keyboard uses 500mA, so my personal value (in the tusing
keymap) for RGBSTRIP_CURRENT_LIMIT
is 1300. The particular WS2812B RGB strip I have uses a maximum of 60 mA per LED, so that is my personal value for RGBSTRIP_MAX_CURRENT_PER_LIGHT
.
Toggle on the LED strip (RGB_TOG
) and step through animations (RGB_MOD
) to test it out!
Makefile
, config.h
, and keymap.c
config exampleconfig.h
config.h