diff --git a/keyboards/crkbd/keymaps/bcat/config.h b/keyboards/crkbd/keymaps/bcat/config.h
deleted file mode 100644
index 65e7a80523..0000000000
--- a/keyboards/crkbd/keymaps/bcat/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#define EE_HANDS
-
-/* Limit max RGB LED current to avoid tripping controller fuse. */
-#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
diff --git a/keyboards/crkbd/keymaps/bcat/rules.mk b/keyboards/crkbd/keymaps/bcat/rules.mk
deleted file mode 100644
index cd3418dab8..0000000000
--- a/keyboards/crkbd/keymaps/bcat/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BOOTLOADER = atmel-dfu  # Elite-C
-
-RGB_MATRIX_ENABLE = WS2812  # per-key RGB and underglow
diff --git a/keyboards/eco/keymaps/bcat/config.h b/keyboards/eco/keymaps/bcat/config.h
new file mode 100644
index 0000000000..dffdc7b40a
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* WS2812B RGB LED strip hand wired to Elite-C. */
+#define RGB_DI_PIN B7
+#define RGBLED_NUM 15
+#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/eco/keymaps/bcat/keymap.c b/keyboards/eco/keymaps/bcat/keymap.c
new file mode 100644
index 0000000000..066acbe649
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+#include "bcat.h"
+
+enum layer {
+    LAYER_DEFAULT,
+    LAYER_LOWER,
+    LAYER_RAISE,
+    LAYER_ADJUST,
+};
+
+#define LY_LWR MO(LAYER_LOWER)
+#define LY_RSE MO(LAYER_RAISE)
+
+#define KY_CSPC LCTL(KC_SPC)
+#define KY_ZMIN LCTL(KC_EQL)
+#define KY_ZMOUT LCTL(KC_MINS)
+#define KY_ZMRST LCTL(KC_0)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281 */
+    [LAYER_DEFAULT] = LAYOUT(
+        KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_LBRC,  KC_RBRC,  KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_BSPC,
+        KC_ESC,   KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_HOME,  KC_PGUP,  KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,
+        KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_END,   KC_PGDN,  KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
+        XXXXXXX,  XXXXXXX,  KC_LALT,  KC_LCTL,  LY_LWR,   KC_SPC,   XXXXXXX,  XXXXXXX,  KC_ENT,   LY_RSE,   KC_RALT,  KC_RGUI,  XXXXXXX,  XXXXXXX
+    ),
+
+    /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415 */
+    [LAYER_LOWER] = LAYOUT(
+        MC_ALTT,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,  _______,  _______,  KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  _______,
+        KY_CSPC,  KY_ZMRST, KY_ZMOUT, KY_ZMIN,  KC_WBAK,  KC_WFWD,  _______,  _______,  KC_PIPE,  KC_UNDS,  KC_PLUS,  KC_LCBR,  KC_RCBR,  KC_TILD,
+        _______,  KC_APP,   KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_LGUI,  _______,  _______,  KC_BSLS,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_GRV,
+        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
+    ),
+
+    /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862 */
+    [LAYER_RAISE] = LAYOUT(
+        KC_CAPS,  KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     _______,  _______,  KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     _______,
+        _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    _______,  _______,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  KC_F11,   KC_DEL,
+        _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   _______,  _______,  KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F12,   KC_INS,
+        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
+    ),
+
+    /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21 */
+    [LAYER_ADJUST] = LAYOUT(
+        _______,  NK_TOGG,  KC_MPLY,  KC_VOLU,  KC_MSTP,  _______,  _______,  _______,  EEP_RST,  RESET,    _______,  _______,  _______,  _______,
+        _______,  _______,  KC_MPRV,  KC_VOLD,  KC_MNXT,  _______,  _______,  _______,  RGB_RMOD, RGB_VAD,  RGB_VAI,  RGB_MOD,  RGB_SPI,  _______,
+        _______,  _______,  _______,  KC_MUTE,  _______,  _______,  _______,  _______,  RGB_HUI,  RGB_SAD,  RGB_SAI,  RGB_HUD,  RGB_SPD,  _______,
+        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  RGB_TOG,  _______,  _______,  _______,  _______,  _______
+    ),
+};
+
+layer_state_t layer_state_set_keymap(layer_state_t state) {
+    return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+}
diff --git a/keyboards/eco/keymaps/bcat/readme.md b/keyboards/eco/keymaps/bcat/readme.md
new file mode 100644
index 0000000000..85e2615512
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/readme.md
@@ -0,0 +1,44 @@
+# bcat's Eco layout
+
+This is a cute little 4x14 ortholinear keyboard. I've set it up using an
+unsplit, ortho version of my [split 3x6 + 3 thumb
+keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat)
+(Crkbd) layout, with the following changes:
+
+* The alpha keys are separated by an extra two columns in the middle to provide
+a little more hand separation, similar to a split keyboard.
+
+* The top three rows of the extra middle columns feature navigation keys and
+brackets/braces. I don't really use dedicated keys for these, but I had the
+keycaps, so I figured I may as well put them there.
+
+* I have a Left Alt and Right Super key on the bottom row just like my
+[Lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat).
+
+* The two keys in each bottom corner are unbound, as is the 2U spacebar in the
+center of the bottom row. These keys are too inconvenient to reach, and there's
+nothing really useful to bind them to anyway.
+
+## Default layer
+
+![Default layer layout](https://i.imgur.com/uRUT2cY.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281))
+
+## Lower layer
+
+![Lower layer layout](https://i.imgur.com/8SR0M9x.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415))
+
+## Raise layer
+
+![Raise layer layout](https://i.imgur.com/U7KERR3.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862))
+
+## Adjust layer
+
+![Adjust layer layout](https://i.imgur.com/J2rOshm.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21))
diff --git a/keyboards/eco/keymaps/bcat/rules.mk b/keyboards/eco/keymaps/bcat/rules.mk
new file mode 100644
index 0000000000..684d8e4e85
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/rules.mk
@@ -0,0 +1,3 @@
+BOOTLOADER = atmel-dfu  # Elite-C
+
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/bcat/keymap.c b/keyboards/lily58/keymaps/bcat/keymap.c
index 69864cd085..549363d03a 100644
--- a/keyboards/lily58/keymaps/bcat/keymap.c
+++ b/keyboards/lily58/keymaps/bcat/keymap.c
@@ -1,3 +1,19 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include QMK_KEYBOARD_H
 
 #include "bcat.h"
@@ -24,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,                         KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_BSPC,
         KC_ESC,   KC_A,     KC_S,     KC_D,     KC_F,     KC_G,                         KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,
         KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_WBAK,  KC_WFWD,  KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
-                                      KC_LGUI,  KC_LCTL,  LY_LWR,   KC_SPC,   KC_ENT,   LY_RSE,   KC_RALT,  KC_APP
+                                      KC_LALT,  KC_LCTL,  LY_LWR,   KC_SPC,   KC_ENT,   LY_RSE,   KC_RALT,  KC_RGUI
     ),
 
     /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */
diff --git a/keyboards/lily58/keymaps/bcat/readme.md b/keyboards/lily58/keymaps/bcat/readme.md
index 84c2fc335f..de03526a8b 100644
--- a/keyboards/lily58/keymaps/bcat/readme.md
+++ b/keyboards/lily58/keymaps/bcat/readme.md
@@ -1,8 +1,8 @@
 # bcat's Lily58 layout
 
-This split ergo layout follows my preferred [Crkbd
-layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
-with the following changes:
+This split ergo layout follows my preferred [split 3x6 + 3 thumb
+keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat)
+(Crkbd) layout with a few changes:
 
 * There's an optional number row at the top of the keyboard. I am quite used to
 using layers for numbers and symbols, so in practice this goes unused.
@@ -11,12 +11,15 @@ using layers for numbers and symbols, so in practice this goes unused.
 placed in the same positions as on the ErgoDox EZ. (There's no real reason for
 this; I just had to do _something_ with those keys.)
 
-* The extra thumb keys are used for dedicated Super/Menu keys, as well as
-browser back/forward navigation keys.
+* The extra thumb keys on the bottom row are used for a Left Alt key (for easier
+Alt+Tab, Alt+F4, etc.) and a dedicated Super key.
+
+* The harder-to-reach thumb keys below the controllers are bound to browser
+back/forward navigation keys.
 
 ## Default layer
 
-![Default layer layout](https://i.imgur.com/FNITWJ0.png)
+![Default layer layout](https://i.imgur.com/0stG2GT.png)
 
 ([KLE](http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f))
 
diff --git a/layouts/community/split_3x6_3/bcat/config.h b/layouts/community/split_3x6_3/bcat/config.h
new file mode 100644
index 0000000000..e177f0ffcb
--- /dev/null
+++ b/layouts/community/split_3x6_3/bcat/config.h
@@ -0,0 +1,34 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#if defined(KEYBOARD_crkbd_rev1_common) || defined(KEYBOARD_crkbd_rev1_legacy)
+#    define EE_HANDS
+
+#    if defined(RGBLIGHT_ENABLE)
+/* Configure RGB for underglow only (first six LEDs on each side). */
+#        undef RGBLED_SPLIT
+#        define RGBLED_SPLIT \
+            { 6, 6 }
+#    endif
+
+#    if defined(RGB_MATRIX_ENABLE)
+/* Limit max RGB LED current to avoid tripping controller fuse. */
+#        undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
+#    endif
+#endif
diff --git a/keyboards/crkbd/keymaps/bcat/keymap.c b/layouts/community/split_3x6_3/bcat/keymap.c
similarity index 78%
rename from keyboards/crkbd/keymaps/bcat/keymap.c
rename to layouts/community/split_3x6_3/bcat/keymap.c
index 7b8329fea9..934a8e31f2 100644
--- a/keyboards/crkbd/keymaps/bcat/keymap.c
+++ b/layouts/community/split_3x6_3/bcat/keymap.c
@@ -1,3 +1,19 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include QMK_KEYBOARD_H
 
 #include "bcat.h"
@@ -19,7 +35,7 @@ enum layer {
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
-    [LAYER_DEFAULT] = LAYOUT(
+    [LAYER_DEFAULT] = LAYOUT_split_3x6_3(
         KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,                         KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_BSPC,
         KC_ESC,   KC_A,     KC_S,     KC_D,     KC_F,     KC_G,                         KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,
         KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,                         KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
@@ -27,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 
     /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
-    [LAYER_LOWER] = LAYOUT(
+    [LAYER_LOWER] = LAYOUT_split_3x6_3(
         MC_ALTT,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,                      KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  _______,
         KY_CSPC,  KY_ZMRST, KY_ZMOUT, KY_ZMIN,  KC_WBAK,  KC_WFWD,                      KC_PIPE,  KC_UNDS,  KC_PLUS,  KC_LCBR,  KC_RCBR,  KC_TILD,
         _______,  KC_APP,   KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_LGUI,                      KC_BSLS,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_GRV,
@@ -35,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 
     /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
-    [LAYER_RAISE] = LAYOUT(
+    [LAYER_RAISE] = LAYOUT_split_3x6_3(
         KC_CAPS,  KC_1,     KC_2,     KC_3,     KC_4,     KC_5,                         KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     _______,
         _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,                        KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  KC_F11,   KC_DEL,
         _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,                       KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F12,   KC_INS,
@@ -43,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 
     /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee */
-    [LAYER_ADJUST] = LAYOUT(
+    [LAYER_ADJUST] = LAYOUT_split_3x6_3(
         _______,  NK_TOGG,  KC_MPLY,  KC_VOLU,  KC_MSTP,  _______,                      EEP_RST,  RESET,    _______,  _______,  _______,  _______,
         _______,  _______,  KC_MPRV,  KC_VOLD,  KC_MNXT,  _______,                      RGB_RMOD, RGB_VAD,  RGB_VAI,  RGB_MOD,  RGB_SPI,  _______,
         _______,  _______,  _______,  KC_MUTE,  _______,  _______,                      RGB_HUI,  RGB_SAD,  RGB_SAI,  RGB_HUD,  RGB_SPD,  _______,
diff --git a/keyboards/crkbd/keymaps/bcat/readme.md b/layouts/community/split_3x6_3/bcat/readme.md
similarity index 96%
rename from keyboards/crkbd/keymaps/bcat/readme.md
rename to layouts/community/split_3x6_3/bcat/readme.md
index 4ffb1562bf..ed17b84186 100644
--- a/keyboards/crkbd/keymaps/bcat/readme.md
+++ b/layouts/community/split_3x6_3/bcat/readme.md
@@ -1,4 +1,4 @@
-# bcat's Corne layout
+# bcat's split 3x6 + 3 thumb keys layout
 
 This is my favorite split ergo layout for typing, featuring the traditional
 four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
@@ -33,9 +33,6 @@ layer-switch keys to correct mistakes.
 
 * The Esc key is next to the home row for convenience in Vim.
 
-* Likewise, the Ctrl key is in the same place as on my row-staggered boards
-(where I've been remapping Caps Lock as Ctrl since before even using QMK).
-
 * There are two Shift keys, although I generally use Left Shift. (I've
 considered replacing Right Shift with another key, but haven't chosen one.)
 
@@ -46,7 +43,8 @@ right thumbs, respectively.
 
 * Ctrl is on the left for ease of chording, especially one-handed use of common
 shortcuts like Ctrl+T and Ctrl+W. This puts Alt on the right by the process of
-elimination.
+elimination. (I would really like one more 1U thumb key on each half to allow
+for a redundant Alt key on the left and a dedicated Super key on the right.)
 
 ## Lower layer
 
diff --git a/layouts/community/split_3x6_3/bcat/rules.mk b/layouts/community/split_3x6_3/bcat/rules.mk
new file mode 100644
index 0000000000..3a9796673e
--- /dev/null
+++ b/layouts/community/split_3x6_3/bcat/rules.mk
@@ -0,0 +1,10 @@
+ifeq ($(strip $(KEYBOARD)), crkbd/rev1/common)
+	BOOTLOADER = atmel-dfu  # Elite-C
+
+	# Enable underglow only. (Split Common doesn't support RGB matrix on slave.)
+	RGBLIGHT_ENABLE = yes
+else ifeq ($(strip $(KEYBOARD)), crkbd/rev1/legacy)
+	BOOTLOADER = atmel-dfu  # Elite-C
+
+	RGB_MATRIX_ENABLE = WS2812  # per-key RGB and underglow
+endif
diff --git a/users/bcat/config.h b/users/bcat/config.h
index b0d556186a..16188950e2 100644
--- a/users/bcat/config.h
+++ b/users/bcat/config.h
@@ -1,26 +1,32 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 /* Wait between tap_code register and unregister to fix flaky media keys. */
 #undef TAP_CODE_DELAY
 
 #define TAP_CODE_DELAY 20
 
-/*
- * Force the default tapping term since some keyboards make it way too short
- * (*cough*Lily58*cough*).
- */
-#undef TAPPING_TERM
-
-#define TAPPING_TERM 200
-
-/*
- * Treat mod-tap keys as holds even if the mod-tap key and the key being
- * modified are both relased within TAPPING_TERM. This assumes the mod-tap key
+/* Treat mod-tap keys as holds even if the mod-tap key and the key being
+ * modified are both released within TAPPING_TERM. This assumes the mod-tap key
  * isn't usually pressed in quick succession with other tapped keys, which is
  * good when the tap keycode is something like KC_ESC rather than a letter.
  */
 #define PERMISSIVE_HOLD
 
-/*
- * Turn off key repeat support of the tap keycode for tap-hold keys, enabling
+/* Turn off key repeat support of the tap keycode for tap-hold keys, enabling
  * holds to work correctly in quick succession after taps.
  */
 #define TAPPING_FORCE_HOLD
@@ -57,6 +63,9 @@
 #    define RGBLIGHT_HUE_STEP 8
 #    define RGBLIGHT_SAT_STEP 17
 #    define RGBLIGHT_VAL_STEP 17
+
+/* Turn on additional RGB animations. */
+#    define RGBLIGHT_ANIMATIONS
 #endif
 
 #if defined(BACKLIGHT_ENABLE)
diff --git a/users/bcat/readme.md b/users/bcat/readme.md
index 49fbea1acf..6d097d663d 100644
--- a/users/bcat/readme.md
+++ b/users/bcat/readme.md
@@ -1,13 +1,48 @@
 # bcat's userspace
 
 This is some code and config shared by all of [my](https://github.com/bcat)
-keyboards. I have a few different keymaps spread throughout the repo; however,
-they are all derived from two "canonical" keymaps for my preferred layouts:
+keyboards. I use community layouts wherever possible, only writing
+keyboard-specific keymaps for boards without standard layout support. I derive
+my keymaps from two canonical ones (preferred for typing and gaming,
+respectively).
 
-* For typing, my canonical layout is my
-[Crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
-(split ergo, columnar-staggered) layout.
+## Canonical keymaps
 
-* For gaming, my canonical layout is my
-[Tsangan](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_tsangan_hhkb/bcat)
-(row-staggered) layout.
+* [Split 3x6 + 3 thumb
+keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat):
+Columnar-staggered split ergo layout, preferred for typing. Used on Crkbd.
+
+* [60% Tsangan
+HHKB](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_tsangan_hhkb/bcat):
+Row-staggered layout, preferred for gaming. Used on ai03 Polaris, CannonKeys
+AN-C, CannonKeys Instant60.
+
+## Other keymaps
+
+### Ergo
+
+* [Lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat)
+
+### Ortho
+
+* [Eco](https://github.com/qmk/qmk_firmware/tree/master/keyboards/eco/keymaps/bcat)
+
+### Traditional
+
+* [60% ANSI split
+backspace/right-shift](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_ansi_split_bs_rshift/bcat).
+Used on DZ60.
+
+* [65% ANSI blocker split
+backspace](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/65_ansi_blocker_split_bs/bcat).
+Used on KBDfans KBD67 hotswap.
+
+* [Keebio
+Quefrency](https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/quefrency/keymaps/bcat)
+
+### Macropads
+
+* [9-Key](https://github.com/qmk/qmk_firmware/tree/master/keyboards/9key/keymaps/bcat)
+
+* [Keebio
+BDN9](https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/bdn9/keymaps/bcat)