+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+#ifndef LED_BRIGHTNESS_LO
+#define LED_BRIGHTNESS_LO 15
+#endif
+#ifndef LED_BRIGHTNESS_HI
+#define LED_BRIGHTNESS_HI 255
+#endif
+#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_HI)
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D7
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 15 // Number of LEDs
+#define RGBLIGHT_HUE_STEP 12
+#define RGBLIGHT_SAT_STEP 255
+#define RGBLIGHT_VAL_STEP 12
+
+/* fix space cadet rollover issue */
+#define DISABLE_SPACE_CADET_ROLLOVER
+
+#define RGBW_BB_TWI
+
+#define RGBW 1
+
+#define RGBLIGHT_SLEEP
+
+/*
+ * The debounce filtering reports a key/switch change directly,
+ * without any extra delay. After that the debounce logic will filter
+ * all further changes, until the key/switch reports the same state for
+ * the given count of scans.
+ * So a perfect switch will get a short debounce period and
+ * a bad key will get a much longer debounce period.
+ * The result is an adaptive debouncing period for each switch.
+ *
+ * If you don't define it here, the matrix code will default to
+ * 5, which is now closer to 10ms, but still plenty according to
+ * manufacturer specs.
+ */
+
+#define USB_MAX_POWER_CONSUMPTION 500
+
+// RGB backlight
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110111
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 24
+#define DRIVER_2_LED_TOTAL 24
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+
+#define RGB_MATRIX_LED_PROCESS_LIMIT 5
+#define RGB_MATRIX_LED_FLUSH_LIMIT 26
+
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+
+// #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF
+/* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_3 0x00, 0xFF, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_4 0xFF, 0xFF, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_5 0x00, 0xFF, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_6 0xFF, 0x00, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_7 0xFF, 0xFF, 0xFF */
+