From 200444f8d2c12ac04fd081745c74020c92d5da16 Mon Sep 17 00:00:00 2001
From: flehrad <20124416+flehrad@users.noreply.github.com>
Date: Fri, 31 Jul 2020 08:04:49 +1000
Subject: [Keyboard] relocating boards by flehrad (#9635)

Co-authored-by: flehrad <flehrad@users.noreply.github.com>
---
 keyboards/bigswitch/README.md                      |  14 -
 keyboards/bigswitch/bigswitch.c                    |  37 --
 keyboards/bigswitch/bigswitch.h                    |  28 --
 keyboards/bigswitch/config.h                       |  57 ---
 keyboards/bigswitch/info.json                      |  13 -
 keyboards/bigswitch/keymaps/333fred/config.h       |  20 -
 keyboards/bigswitch/keymaps/333fred/keymap.c       | 123 -----
 keyboards/bigswitch/keymaps/333fred/rules.mk       |   5 -
 keyboards/bigswitch/keymaps/default/keymap.c       |  27 -
 keyboards/bigswitch/keymaps/wanleg/config.h        |  42 --
 keyboards/bigswitch/keymaps/wanleg/keymap.c        |  26 -
 keyboards/bigswitch/keymaps/wanleg/rules.mk        |  15 -
 keyboards/bigswitch/rules.mk                       |  27 -
 keyboards/flehrad/bigswitch/README.md              |  16 +
 keyboards/flehrad/bigswitch/bigswitch.c            |  37 ++
 keyboards/flehrad/bigswitch/bigswitch.h            |  28 ++
 keyboards/flehrad/bigswitch/config.h               |  57 +++
 keyboards/flehrad/bigswitch/info.json              |  13 +
 .../flehrad/bigswitch/keymaps/333fred/config.h     |  20 +
 .../flehrad/bigswitch/keymaps/333fred/keymap.c     | 123 +++++
 .../flehrad/bigswitch/keymaps/333fred/rules.mk     |   5 +
 .../flehrad/bigswitch/keymaps/default/keymap.c     |  27 +
 .../flehrad/bigswitch/keymaps/wanleg/config.h      |  42 ++
 .../flehrad/bigswitch/keymaps/wanleg/keymap.c      |  26 +
 .../flehrad/bigswitch/keymaps/wanleg/rules.mk      |  15 +
 keyboards/flehrad/bigswitch/rules.mk               |  27 +
 keyboards/flehrad/downbubble/config.h              | 240 +++++++++
 keyboards/flehrad/downbubble/downbubble.c          |  16 +
 keyboards/flehrad/downbubble/downbubble.h          | 111 ++++
 keyboards/flehrad/downbubble/info.json             | 559 +++++++++++++++++++++
 .../flehrad/downbubble/keymaps/default/config.h    |  19 +
 .../flehrad/downbubble/keymaps/default/keymap.c    | 103 ++++
 .../flehrad/downbubble/keymaps/default/readme.md   |   1 +
 keyboards/flehrad/downbubble/license               | 201 ++++++++
 keyboards/flehrad/downbubble/readme.md             |  15 +
 keyboards/flehrad/downbubble/rules.mk              |  33 ++
 keyboards/flehrad/numbrero/config.h                |  46 ++
 keyboards/flehrad/numbrero/info.json               |  62 +++
 .../flehrad/numbrero/keymaps/default/keymap.c      |  30 ++
 keyboards/flehrad/numbrero/license                 | 201 ++++++++
 keyboards/flehrad/numbrero/numbrero.c              |   1 +
 keyboards/flehrad/numbrero/numbrero.h              |  30 ++
 keyboards/flehrad/numbrero/readme.md               |  13 +
 keyboards/flehrad/numbrero/rules.mk                |  26 +
 keyboards/flehrad/snagpad/config.h                 |  49 ++
 keyboards/flehrad/snagpad/info.json                |  56 +++
 keyboards/flehrad/snagpad/keymaps/default/keymap.c |  63 +++
 keyboards/flehrad/snagpad/keymaps/via/keymap.c     |  76 +++
 keyboards/flehrad/snagpad/keymaps/via/rules.mk     |   1 +
 keyboards/flehrad/snagpad/license                  | 201 ++++++++
 keyboards/flehrad/snagpad/readme.md                |  21 +
 keyboards/flehrad/snagpad/rules.mk                 |  27 +
 keyboards/flehrad/snagpad/snagpad.c                |   1 +
 keyboards/flehrad/snagpad/snagpad.h                |  30 ++
 keyboards/flehrad/tradestation/config.h            |  46 ++
 keyboards/flehrad/tradestation/info.json           |  15 +
 .../flehrad/tradestation/keymaps/default/keymap.c  |  61 +++
 keyboards/flehrad/tradestation/license             | 201 ++++++++
 keyboards/flehrad/tradestation/readme.md           |  27 +
 keyboards/flehrad/tradestation/rules.mk            |  28 ++
 keyboards/flehrad/tradestation/tradestation.c      |   1 +
 keyboards/flehrad/tradestation/tradestation.h      |  27 +
 keyboards/handwired/downbubble/config.h            | 240 ---------
 keyboards/handwired/downbubble/downbubble.c        |  16 -
 keyboards/handwired/downbubble/downbubble.h        | 111 ----
 keyboards/handwired/downbubble/info.json           | 559 ---------------------
 .../handwired/downbubble/keymaps/default/config.h  |  19 -
 .../handwired/downbubble/keymaps/default/keymap.c  | 103 ----
 .../handwired/downbubble/keymaps/default/readme.md |   1 -
 keyboards/handwired/downbubble/license             | 201 --------
 keyboards/handwired/downbubble/readme.md           |  15 -
 keyboards/handwired/downbubble/rules.mk            |  33 --
 keyboards/handwired/numbrero/config.h              |  46 --
 keyboards/handwired/numbrero/info.json             |  62 ---
 .../handwired/numbrero/keymaps/default/keymap.c    |  30 --
 keyboards/handwired/numbrero/license               | 201 --------
 keyboards/handwired/numbrero/numbrero.c            |   1 -
 keyboards/handwired/numbrero/numbrero.h            |  30 --
 keyboards/handwired/numbrero/readme.md             |  13 -
 keyboards/handwired/numbrero/rules.mk              |  26 -
 keyboards/handwired/tradestation/config.h          |  46 --
 keyboards/handwired/tradestation/info.json         |  15 -
 .../tradestation/keymaps/default/keymap.c          |  61 ---
 keyboards/handwired/tradestation/license           | 201 --------
 keyboards/handwired/tradestation/readme.md         |  27 -
 keyboards/handwired/tradestation/rules.mk          |  28 --
 keyboards/handwired/tradestation/tradestation.c    |   1 -
 keyboards/handwired/tradestation/tradestation.h    |  27 -
 keyboards/snagpad/config.h                         |  49 --
 keyboards/snagpad/info.json                        |  56 ---
 keyboards/snagpad/keymaps/default/keymap.c         |  63 ---
 keyboards/snagpad/keymaps/via/keymap.c             |  76 ---
 keyboards/snagpad/keymaps/via/rules.mk             |   1 -
 keyboards/snagpad/license                          | 201 --------
 keyboards/snagpad/readme.md                        |  21 -
 keyboards/snagpad/rules.mk                         |  27 -
 keyboards/snagpad/snagpad.c                        |   1 -
 keyboards/snagpad/snagpad.h                        |  30 --
 98 files changed, 3074 insertions(+), 3072 deletions(-)
 delete mode 100644 keyboards/bigswitch/README.md
 delete mode 100644 keyboards/bigswitch/bigswitch.c
 delete mode 100755 keyboards/bigswitch/bigswitch.h
 delete mode 100755 keyboards/bigswitch/config.h
 delete mode 100644 keyboards/bigswitch/info.json
 delete mode 100644 keyboards/bigswitch/keymaps/333fred/config.h
 delete mode 100644 keyboards/bigswitch/keymaps/333fred/keymap.c
 delete mode 100644 keyboards/bigswitch/keymaps/333fred/rules.mk
 delete mode 100755 keyboards/bigswitch/keymaps/default/keymap.c
 delete mode 100644 keyboards/bigswitch/keymaps/wanleg/config.h
 delete mode 100644 keyboards/bigswitch/keymaps/wanleg/keymap.c
 delete mode 100644 keyboards/bigswitch/keymaps/wanleg/rules.mk
 delete mode 100755 keyboards/bigswitch/rules.mk
 create mode 100644 keyboards/flehrad/bigswitch/README.md
 create mode 100644 keyboards/flehrad/bigswitch/bigswitch.c
 create mode 100644 keyboards/flehrad/bigswitch/bigswitch.h
 create mode 100644 keyboards/flehrad/bigswitch/config.h
 create mode 100644 keyboards/flehrad/bigswitch/info.json
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/333fred/config.h
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/default/keymap.c
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/wanleg/config.h
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c
 create mode 100644 keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk
 create mode 100644 keyboards/flehrad/bigswitch/rules.mk
 create mode 100644 keyboards/flehrad/downbubble/config.h
 create mode 100644 keyboards/flehrad/downbubble/downbubble.c
 create mode 100644 keyboards/flehrad/downbubble/downbubble.h
 create mode 100644 keyboards/flehrad/downbubble/info.json
 create mode 100644 keyboards/flehrad/downbubble/keymaps/default/config.h
 create mode 100644 keyboards/flehrad/downbubble/keymaps/default/keymap.c
 create mode 100644 keyboards/flehrad/downbubble/keymaps/default/readme.md
 create mode 100644 keyboards/flehrad/downbubble/license
 create mode 100644 keyboards/flehrad/downbubble/readme.md
 create mode 100644 keyboards/flehrad/downbubble/rules.mk
 create mode 100644 keyboards/flehrad/numbrero/config.h
 create mode 100644 keyboards/flehrad/numbrero/info.json
 create mode 100644 keyboards/flehrad/numbrero/keymaps/default/keymap.c
 create mode 100644 keyboards/flehrad/numbrero/license
 create mode 100644 keyboards/flehrad/numbrero/numbrero.c
 create mode 100644 keyboards/flehrad/numbrero/numbrero.h
 create mode 100644 keyboards/flehrad/numbrero/readme.md
 create mode 100644 keyboards/flehrad/numbrero/rules.mk
 create mode 100644 keyboards/flehrad/snagpad/config.h
 create mode 100644 keyboards/flehrad/snagpad/info.json
 create mode 100644 keyboards/flehrad/snagpad/keymaps/default/keymap.c
 create mode 100644 keyboards/flehrad/snagpad/keymaps/via/keymap.c
 create mode 100644 keyboards/flehrad/snagpad/keymaps/via/rules.mk
 create mode 100644 keyboards/flehrad/snagpad/license
 create mode 100644 keyboards/flehrad/snagpad/readme.md
 create mode 100644 keyboards/flehrad/snagpad/rules.mk
 create mode 100644 keyboards/flehrad/snagpad/snagpad.c
 create mode 100644 keyboards/flehrad/snagpad/snagpad.h
 create mode 100644 keyboards/flehrad/tradestation/config.h
 create mode 100644 keyboards/flehrad/tradestation/info.json
 create mode 100644 keyboards/flehrad/tradestation/keymaps/default/keymap.c
 create mode 100644 keyboards/flehrad/tradestation/license
 create mode 100644 keyboards/flehrad/tradestation/readme.md
 create mode 100644 keyboards/flehrad/tradestation/rules.mk
 create mode 100644 keyboards/flehrad/tradestation/tradestation.c
 create mode 100644 keyboards/flehrad/tradestation/tradestation.h
 delete mode 100644 keyboards/handwired/downbubble/config.h
 delete mode 100644 keyboards/handwired/downbubble/downbubble.c
 delete mode 100644 keyboards/handwired/downbubble/downbubble.h
 delete mode 100644 keyboards/handwired/downbubble/info.json
 delete mode 100644 keyboards/handwired/downbubble/keymaps/default/config.h
 delete mode 100644 keyboards/handwired/downbubble/keymaps/default/keymap.c
 delete mode 100644 keyboards/handwired/downbubble/keymaps/default/readme.md
 delete mode 100644 keyboards/handwired/downbubble/license
 delete mode 100644 keyboards/handwired/downbubble/readme.md
 delete mode 100644 keyboards/handwired/downbubble/rules.mk
 delete mode 100644 keyboards/handwired/numbrero/config.h
 delete mode 100644 keyboards/handwired/numbrero/info.json
 delete mode 100644 keyboards/handwired/numbrero/keymaps/default/keymap.c
 delete mode 100644 keyboards/handwired/numbrero/license
 delete mode 100644 keyboards/handwired/numbrero/numbrero.c
 delete mode 100644 keyboards/handwired/numbrero/numbrero.h
 delete mode 100644 keyboards/handwired/numbrero/readme.md
 delete mode 100644 keyboards/handwired/numbrero/rules.mk
 delete mode 100644 keyboards/handwired/tradestation/config.h
 delete mode 100644 keyboards/handwired/tradestation/info.json
 delete mode 100644 keyboards/handwired/tradestation/keymaps/default/keymap.c
 delete mode 100644 keyboards/handwired/tradestation/license
 delete mode 100644 keyboards/handwired/tradestation/readme.md
 delete mode 100644 keyboards/handwired/tradestation/rules.mk
 delete mode 100644 keyboards/handwired/tradestation/tradestation.c
 delete mode 100644 keyboards/handwired/tradestation/tradestation.h
 delete mode 100644 keyboards/snagpad/config.h
 delete mode 100644 keyboards/snagpad/info.json
 delete mode 100644 keyboards/snagpad/keymaps/default/keymap.c
 delete mode 100644 keyboards/snagpad/keymaps/via/keymap.c
 delete mode 100644 keyboards/snagpad/keymaps/via/rules.mk
 delete mode 100644 keyboards/snagpad/license
 delete mode 100644 keyboards/snagpad/readme.md
 delete mode 100644 keyboards/snagpad/rules.mk
 delete mode 100644 keyboards/snagpad/snagpad.c
 delete mode 100644 keyboards/snagpad/snagpad.h

diff --git a/keyboards/bigswitch/README.md b/keyboards/bigswitch/README.md
deleted file mode 100644
index 65213af7c..000000000
--- a/keyboards/bigswitch/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Big Switch PCB by flehrad
-=========================
-
-Designed by Don of the Board Podcast and sold as a kit by [keeb.io](https://keeb.io/collections/frontpage/products/big-switch-pcb?variant=7507922845726)
-
-### PCB Files
-
-https://github.com/flehrad/Big-Switch-PCB
-
-### Technical Specifications
-
- * Uses a atmega32u4 pro micro or pin compatible MCU
- * Pins B5 and B6 connect to the pins on the Big Switch
- * Optionally you may add a RGB strip to pin D3 for data and take power from VCC and GND
diff --git a/keyboards/bigswitch/bigswitch.c b/keyboards/bigswitch/bigswitch.c
deleted file mode 100644
index 32f9f7fab..000000000
--- a/keyboards/bigswitch/bigswitch.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-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 "bigswitch.h"
-
-volatile uint8_t runonce = true;
-static uint16_t my_timer;
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-  my_timer = timer_read();
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-#if defined(RGBLIGHT_ENABLE)
-  if (runonce && timer_elapsed(my_timer) > 1000) {
-    runonce = false;
-    rgblight_sethsv_noeeprom(0x0, 0xff, 0x80);
-    rgblight_mode_noeeprom(9);
-    rgblight_enable_noeeprom();
-  }
-#endif
-}
diff --git a/keyboards/bigswitch/bigswitch.h b/keyboards/bigswitch/bigswitch.h
deleted file mode 100755
index ea3d51a1f..000000000
--- a/keyboards/bigswitch/bigswitch.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-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/>.
-*/
-#ifndef BIGSWITCH_H
-#define BIGSWITCH_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
-  K00  \
-) { \
-  { K00 }  \
-}
-
-#endif
diff --git a/keyboards/bigswitch/config.h b/keyboards/bigswitch/config.h
deleted file mode 100755
index 220f2591b..000000000
--- a/keyboards/bigswitch/config.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-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/>.
-*/
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x1209
-#define PRODUCT_ID      0xB195
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    flehrad
-#define PRODUCT         BigSwitch PCB
-#define DESCRIPTION     A single key board for Novelkeys Big Switch
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B5 }
-#define MATRIX_COL_PINS { B6 }
-#define UNUSED_PINS { }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 50
-
-/* key combination for command */
-#define IS_COMMAND() ( \
-    false \
-)
-
-
-#ifdef RGBLIGHT_ENABLE
-#define RGB_DI_PIN D3
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 8
-#endif
-
-#endif
diff --git a/keyboards/bigswitch/info.json b/keyboards/bigswitch/info.json
deleted file mode 100644
index 8d3d746f5..000000000
--- a/keyboards/bigswitch/info.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "keyboard_name": "Bigswitch PCB",
-    "url": "",
-    "maintainer": "qmk",
-    "bootloader": "",
-    "width": 4,
-    "height": 4,
-    "layouts": {
-        "LAYOUT": {
-            "layout": [{"x":0, "y":0, "w":4, "h":4}]
-        }
-    }
-}
diff --git a/keyboards/bigswitch/keymaps/333fred/config.h b/keyboards/bigswitch/keymaps/333fred/config.h
deleted file mode 100644
index 76f13f08b..000000000
--- a/keyboards/bigswitch/keymaps/333fred/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2018 Fredric Silberberg (333fred)
-
-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
-
-// Long tapping term on the big switch, because it takes so long to press
-#define TAPPING_TERM 500
diff --git a/keyboards/bigswitch/keymaps/333fred/keymap.c b/keyboards/bigswitch/keymaps/333fred/keymap.c
deleted file mode 100644
index be40fecb2..000000000
--- a/keyboards/bigswitch/keymaps/333fred/keymap.c
+++ /dev/null
@@ -1,123 +0,0 @@
-#include QMK_KEYBOARD_H
-
-typedef enum {
-    SINGLE_TAP, SINGLE_HOLD, DOUBLE, TRIPLE, QUAD
-} tap_dance_state_enum;
-
-enum {
-  TD_KEY = 0
-};
-
-static tap_dance_state_enum tap_dance_state;
-static bool tap_dance_active = false;
-static uint16_t timer;
-
-void dance_cycle(bool override_timer) {
-  if (tap_dance_active)
-  {
-    if (timer_elapsed(timer) > 100 || override_timer)
-    {
-      switch (tap_dance_state)
-      {
-        case SINGLE_HOLD:
-        {
-          rgblight_increase_hue_noeeprom();
-          break;
-        }
-
-        case DOUBLE:
-        {
-          rgblight_step_noeeprom();
-          break;
-        }
-
-        case TRIPLE:
-        {
-          rgblight_toggle_noeeprom();
-          break;
-        }
-
-        default:
-          // Not needed
-          break;
-      }
-
-      timer = timer_read();
-    }
-  }
-}
-
-void dance_finished(qk_tap_dance_state_t *state, void* user_data) {
-  // Determine the current state
-  switch (state->count)
-  {
-    case 1:
-    {
-      if (state->interrupted || state->pressed == 0) tap_dance_state = SINGLE_TAP;
-      else tap_dance_state = SINGLE_HOLD;
-      break;
-    }
-    case 2:
-    {
-      tap_dance_state = DOUBLE;
-      break;
-    }
-    case 3:
-    {
-      tap_dance_state = TRIPLE;
-      break;
-    }
-    default:
-    {
-      tap_dance_state = QUAD;
-      break;
-    }
-  }
-
-  switch (tap_dance_state)
-  {
-    case SINGLE_TAP:
-    {
-      // VS Build: CTRL+SHIFT+B
-      send_string_with_delay_P(PSTR(SS_DOWN(X_LCTRL) SS_DOWN(X_LSHIFT) "b" SS_UP(X_LSHIFT) SS_UP(X_LCTRL)), 10);
-      tap_dance_active = false;
-      break;
-    }
-
-    case SINGLE_HOLD:
-    case DOUBLE:
-    case TRIPLE:
-    {
-      // These are handled by the matrix_scan, which will register the appropriate rgb
-      // functions every scan
-      tap_dance_active = true;
-      timer = timer_read();
-      dance_cycle(true);
-      break;
-    }
-
-    case QUAD:
-    {
-      // Reprogram
-      reset_keyboard();
-      break;
-    }
-  }
-}
-
-void dance_reset(qk_tap_dance_state_t *state, void* user_data)
-{
-  tap_dance_active = false;
-}
-
-qk_tap_dance_action_t tap_dance_actions[] = {
-  [TD_KEY] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset)
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  [0] = LAYOUT(TD(TD_KEY))
-};
-
-void matrix_scan_user(void) {
-  dance_cycle(false);
-}
diff --git a/keyboards/bigswitch/keymaps/333fred/rules.mk b/keyboards/bigswitch/keymaps/333fred/rules.mk
deleted file mode 100644
index 20aaadacb..000000000
--- a/keyboards/bigswitch/keymaps/333fred/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# I'm not using things from my userpace in this one
-USER_NAME = disable
-
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/bigswitch/keymaps/default/keymap.c b/keyboards/bigswitch/keymaps/default/keymap.c
deleted file mode 100755
index 210d00123..000000000
--- a/keyboards/bigswitch/keymaps/default/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-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
-#define KC_OSX_EJECT 0x66
-#define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT))
-#define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-LAYOUT(SLEEP_OSX),
-
-};
diff --git a/keyboards/bigswitch/keymaps/wanleg/config.h b/keyboards/bigswitch/keymaps/wanleg/config.h
deleted file mode 100644
index 54abb9a6c..000000000
--- a/keyboards/bigswitch/keymaps/wanleg/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2018 wanleg
- *
- * 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
-
-// place overrides here
-#undef MATRIX_ROW_PINS
-#define MATRIX_ROW_PINS { B4 }
-#undef MATRIX_COL_PINS
-#define MATRIX_COL_PINS { B6 }
-
-/* COL2ROW, ROW2COL*/
-#undef DIODE_DIRECTION
-#define DIODE_DIRECTION COL2ROW
-
-#define BACKLIGHT_PIN B5
-#define BACKLIGHT_BREATHING
-#define BACKLIGHT_LEVELS 3
-#define BREATHING_PERIOD 5
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#undef DEBOUNCE
-#define DEBOUNCE 5
-
-// set flashing LED with QMK DFU
-#define QMK_LED B0
-
-// set audio pin
-#define C6_AUDIO
diff --git a/keyboards/bigswitch/keymaps/wanleg/keymap.c b/keyboards/bigswitch/keymaps/wanleg/keymap.c
deleted file mode 100644
index 76d0808fd..000000000
--- a/keyboards/bigswitch/keymaps/wanleg/keymap.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2018 wanleg
- *
- * 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 "wanleg.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT( /* Base */
-TD(CAD_TD) \
-),
-[1] = LAYOUT( /*Secondary*/
-TD(BSW_TAP_DANCE) \
-),
-};
\ No newline at end of file
diff --git a/keyboards/bigswitch/keymaps/wanleg/rules.mk b/keyboards/bigswitch/keymaps/wanleg/rules.mk
deleted file mode 100644
index 75da67fa4..000000000
--- a/keyboards/bigswitch/keymaps/wanleg/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#If using a ProMicro and it has the QMK DFU bootloader instead of Caterina,
-#run "make <keyboard>:<keymap> dfu=qmk" when compiling to ensure it is flagged properly after being flashed
-ifeq ($(strip $(dfu)), qmk)
-    BOOTLOADER = qmk-dfu
-endif
-
-AUDIO_ENABLE = yes           # Audio output on port C6
-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality on B7 by default
-CONSOLE_ENABLE = no 		# Console for debug(+400)
-COMMAND_ENABLE = no 		# Commands for debug and configuration
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
diff --git a/keyboards/bigswitch/rules.mk b/keyboards/bigswitch/rules.mk
deleted file mode 100755
index 88844733f..000000000
--- a/keyboards/bigswitch/rules.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
-BOOTLOADER = caterina
-
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE  = no	# Virtual DIP switch configuration
-MOUSEKEY_ENABLE  = no	# Mouse keys
-EXTRAKEY_ENABLE  = no	# Audio control and System control
-CONSOLE_ENABLE  = yes	# Console for debug
-COMMAND_ENABLE  = yes    # Commands for debug and configuration
-SLEEP_LED_ENABLE  = no  # Breathing sleep LED during USB suspend
-NKRO_ENABLE  = no		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE  = no  # Custom backlighting code is used, so this should not be enabled
-AUDIO_ENABLE  = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
-RGBLIGHT_ENABLE  = yes # This can be enabled if a ws2812 strip is connected to the expansion port.
-
diff --git a/keyboards/flehrad/bigswitch/README.md b/keyboards/flehrad/bigswitch/README.md
new file mode 100644
index 000000000..1a0fb155a
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/README.md
@@ -0,0 +1,16 @@
+Big Switch PCB by flehrad
+=========================
+
+Designed by Don of the Board Podcast and sold as a kit by [keeb.io](https://keeb.io/collections/frontpage/products/big-switch-pcb?variant=7507922845726)
+
+### PCB Files
+
+https://github.com/flehrad/Big-Switch-PCB
+
+make: flehrad/bigswitch:default
+
+### Technical Specifications
+
+ * Uses a atmega32u4 pro micro or pin compatible MCU
+ * Pins B5 and B6 connect to the pins on the Big Switch
+ * Optionally you may add a RGB strip to pin D3 for data and take power from VCC and GND
diff --git a/keyboards/flehrad/bigswitch/bigswitch.c b/keyboards/flehrad/bigswitch/bigswitch.c
new file mode 100644
index 000000000..32f9f7fab
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/bigswitch.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2018 QMK Contributors
+
+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 "bigswitch.h"
+
+volatile uint8_t runonce = true;
+static uint16_t my_timer;
+
+__attribute__ ((weak))
+void matrix_init_user(void) {
+  my_timer = timer_read();
+}
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {
+#if defined(RGBLIGHT_ENABLE)
+  if (runonce && timer_elapsed(my_timer) > 1000) {
+    runonce = false;
+    rgblight_sethsv_noeeprom(0x0, 0xff, 0x80);
+    rgblight_mode_noeeprom(9);
+    rgblight_enable_noeeprom();
+  }
+#endif
+}
diff --git a/keyboards/flehrad/bigswitch/bigswitch.h b/keyboards/flehrad/bigswitch/bigswitch.h
new file mode 100644
index 000000000..ea3d51a1f
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/bigswitch.h
@@ -0,0 +1,28 @@
+/*
+Copyright 2018 QMK Contributors
+
+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/>.
+*/
+#ifndef BIGSWITCH_H
+#define BIGSWITCH_H
+
+#include "quantum.h"
+
+#define LAYOUT( \
+  K00  \
+) { \
+  { K00 }  \
+}
+
+#endif
diff --git a/keyboards/flehrad/bigswitch/config.h b/keyboards/flehrad/bigswitch/config.h
new file mode 100644
index 000000000..220f2591b
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/config.h
@@ -0,0 +1,57 @@
+/*
+Copyright 2018 QMK Contributors
+
+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/>.
+*/
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0x1209
+#define PRODUCT_ID      0xB195
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    flehrad
+#define PRODUCT         BigSwitch PCB
+#define DESCRIPTION     A single key board for Novelkeys Big Switch
+
+/* key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 1
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B5 }
+#define MATRIX_COL_PINS { B6 }
+#define UNUSED_PINS { }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 50
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    false \
+)
+
+
+#ifdef RGBLIGHT_ENABLE
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 8
+#endif
+
+#endif
diff --git a/keyboards/flehrad/bigswitch/info.json b/keyboards/flehrad/bigswitch/info.json
new file mode 100644
index 000000000..8d3d746f5
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/info.json
@@ -0,0 +1,13 @@
+{
+    "keyboard_name": "Bigswitch PCB",
+    "url": "",
+    "maintainer": "qmk",
+    "bootloader": "",
+    "width": 4,
+    "height": 4,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [{"x":0, "y":0, "w":4, "h":4}]
+        }
+    }
+}
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
new file mode 100644
index 000000000..76f13f08b
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
@@ -0,0 +1,20 @@
+/*
+Copyright 2018 Fredric Silberberg (333fred)
+
+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
+
+// Long tapping term on the big switch, because it takes so long to press
+#define TAPPING_TERM 500
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
new file mode 100644
index 000000000..be40fecb2
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
@@ -0,0 +1,123 @@
+#include QMK_KEYBOARD_H
+
+typedef enum {
+    SINGLE_TAP, SINGLE_HOLD, DOUBLE, TRIPLE, QUAD
+} tap_dance_state_enum;
+
+enum {
+  TD_KEY = 0
+};
+
+static tap_dance_state_enum tap_dance_state;
+static bool tap_dance_active = false;
+static uint16_t timer;
+
+void dance_cycle(bool override_timer) {
+  if (tap_dance_active)
+  {
+    if (timer_elapsed(timer) > 100 || override_timer)
+    {
+      switch (tap_dance_state)
+      {
+        case SINGLE_HOLD:
+        {
+          rgblight_increase_hue_noeeprom();
+          break;
+        }
+
+        case DOUBLE:
+        {
+          rgblight_step_noeeprom();
+          break;
+        }
+
+        case TRIPLE:
+        {
+          rgblight_toggle_noeeprom();
+          break;
+        }
+
+        default:
+          // Not needed
+          break;
+      }
+
+      timer = timer_read();
+    }
+  }
+}
+
+void dance_finished(qk_tap_dance_state_t *state, void* user_data) {
+  // Determine the current state
+  switch (state->count)
+  {
+    case 1:
+    {
+      if (state->interrupted || state->pressed == 0) tap_dance_state = SINGLE_TAP;
+      else tap_dance_state = SINGLE_HOLD;
+      break;
+    }
+    case 2:
+    {
+      tap_dance_state = DOUBLE;
+      break;
+    }
+    case 3:
+    {
+      tap_dance_state = TRIPLE;
+      break;
+    }
+    default:
+    {
+      tap_dance_state = QUAD;
+      break;
+    }
+  }
+
+  switch (tap_dance_state)
+  {
+    case SINGLE_TAP:
+    {
+      // VS Build: CTRL+SHIFT+B
+      send_string_with_delay_P(PSTR(SS_DOWN(X_LCTRL) SS_DOWN(X_LSHIFT) "b" SS_UP(X_LSHIFT) SS_UP(X_LCTRL)), 10);
+      tap_dance_active = false;
+      break;
+    }
+
+    case SINGLE_HOLD:
+    case DOUBLE:
+    case TRIPLE:
+    {
+      // These are handled by the matrix_scan, which will register the appropriate rgb
+      // functions every scan
+      tap_dance_active = true;
+      timer = timer_read();
+      dance_cycle(true);
+      break;
+    }
+
+    case QUAD:
+    {
+      // Reprogram
+      reset_keyboard();
+      break;
+    }
+  }
+}
+
+void dance_reset(qk_tap_dance_state_t *state, void* user_data)
+{
+  tap_dance_active = false;
+}
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+  [TD_KEY] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset)
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [0] = LAYOUT(TD(TD_KEY))
+};
+
+void matrix_scan_user(void) {
+  dance_cycle(false);
+}
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk b/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk
new file mode 100644
index 000000000..20aaadacb
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk
@@ -0,0 +1,5 @@
+# I'm not using things from my userpace in this one
+USER_NAME = disable
+
+RGBLIGHT_ENABLE = yes
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/flehrad/bigswitch/keymaps/default/keymap.c b/keyboards/flehrad/bigswitch/keymaps/default/keymap.c
new file mode 100644
index 000000000..210d00123
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/*
+Copyright 2018 QMK Contributors
+
+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
+#define KC_OSX_EJECT 0x66
+#define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT))
+#define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+LAYOUT(SLEEP_OSX),
+
+};
diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h b/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h
new file mode 100644
index 000000000..54abb9a6c
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h
@@ -0,0 +1,42 @@
+/* Copyright 2018 wanleg
+ *
+ * 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
+
+// place overrides here
+#undef MATRIX_ROW_PINS
+#define MATRIX_ROW_PINS { B4 }
+#undef MATRIX_COL_PINS
+#define MATRIX_COL_PINS { B6 }
+
+/* COL2ROW, ROW2COL*/
+#undef DIODE_DIRECTION
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_PIN B5
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 3
+#define BREATHING_PERIOD 5
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#undef DEBOUNCE
+#define DEBOUNCE 5
+
+// set flashing LED with QMK DFU
+#define QMK_LED B0
+
+// set audio pin
+#define C6_AUDIO
diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c b/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c
new file mode 100644
index 000000000..76d0808fd
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2018 wanleg
+ *
+ * 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 "wanleg.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT( /* Base */
+TD(CAD_TD) \
+),
+[1] = LAYOUT( /*Secondary*/
+TD(BSW_TAP_DANCE) \
+),
+};
\ No newline at end of file
diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk b/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk
new file mode 100644
index 000000000..75da67fa4
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk
@@ -0,0 +1,15 @@
+#If using a ProMicro and it has the QMK DFU bootloader instead of Caterina,
+#run "make <keyboard>:<keymap> dfu=qmk" when compiling to ensure it is flagged properly after being flashed
+ifeq ($(strip $(dfu)), qmk)
+    BOOTLOADER = qmk-dfu
+endif
+
+AUDIO_ENABLE = yes           # Audio output on port C6
+BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality on B7 by default
+CONSOLE_ENABLE = no 		# Console for debug(+400)
+COMMAND_ENABLE = no 		# Commands for debug and configuration
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
diff --git a/keyboards/flehrad/bigswitch/rules.mk b/keyboards/flehrad/bigswitch/rules.mk
new file mode 100644
index 000000000..88844733f
--- /dev/null
+++ b/keyboards/flehrad/bigswitch/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = caterina
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE  = no	# Virtual DIP switch configuration
+MOUSEKEY_ENABLE  = no	# Mouse keys
+EXTRAKEY_ENABLE  = no	# Audio control and System control
+CONSOLE_ENABLE  = yes	# Console for debug
+COMMAND_ENABLE  = yes    # Commands for debug and configuration
+SLEEP_LED_ENABLE  = no  # Breathing sleep LED during USB suspend
+NKRO_ENABLE  = no		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE  = no  # Custom backlighting code is used, so this should not be enabled
+AUDIO_ENABLE  = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
+RGBLIGHT_ENABLE  = yes # This can be enabled if a ws2812 strip is connected to the expansion port.
+
diff --git a/keyboards/flehrad/downbubble/config.h b/keyboards/flehrad/downbubble/config.h
new file mode 100644
index 000000000..f2628cb70
--- /dev/null
+++ b/keyboards/flehrad/downbubble/config.h
@@ -0,0 +1,240 @@
+/*
+Copyright 2018 Don Chiou
+
+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
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x0000
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Flehrad
+#define PRODUCT         downbubble
+#define DESCRIPTION     An Ergonomic Centered Numpad Keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 20
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { F1, F2, F3, F4, F5, F6 }
+#define MATRIX_COL_PINS { F7, C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D6, D5, D4, D3, D2, D1, D0, B7 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+// #define RGB_DI_PIN E2
+// #ifdef RGB_DI_PIN
+//   #define RGBLED_NUM 16
+//   #define RGBLIGHT_HUE_STEP 8
+//   #define RGBLIGHT_SAT_STEP 8
+//   #define RGBLIGHT_VAL_STEP 8
+//   #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+//   #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+//   #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+//   #define RGBLIGHT_EFFECT_BREATHING
+//   #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+//   #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//   #define RGBLIGHT_EFFECT_SNAKE
+//   #define RGBLIGHT_EFFECT_KNIGHT
+//   #define RGBLIGHT_EFFECT_CHRISTMAS
+//   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+//   #define RGBLIGHT_EFFECT_RGB_TEST
+//   #define RGBLIGHT_EFFECT_ALTERNATING
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1          H
+//#define MAGIC_KEY_HELP2          SLASH
+//#define MAGIC_KEY_DEBUG          D
+//#define MAGIC_KEY_DEBUG_MATRIX   X
+//#define MAGIC_KEY_DEBUG_KBD      K
+//#define MAGIC_KEY_DEBUG_MOUSE    M
+//#define MAGIC_KEY_VERSION        V
+//#define MAGIC_KEY_STATUS         S
+//#define MAGIC_KEY_CONSOLE        C
+//#define MAGIC_KEY_LAYER0_ALT1    ESC
+//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
+//#define MAGIC_KEY_LAYER0         0
+//#define MAGIC_KEY_LAYER1         1
+//#define MAGIC_KEY_LAYER2         2
+//#define MAGIC_KEY_LAYER3         3
+//#define MAGIC_KEY_LAYER4         4
+//#define MAGIC_KEY_LAYER5         5
+//#define MAGIC_KEY_LAYER6         6
+//#define MAGIC_KEY_LAYER7         7
+//#define MAGIC_KEY_LAYER8         8
+//#define MAGIC_KEY_LAYER9         9
+//#define MAGIC_KEY_BOOTLOADER     PAUSE
+//#define MAGIC_KEY_LOCK           CAPS
+//#define MAGIC_KEY_EEPROM         E
+//#define MAGIC_KEY_NKRO           N
+//#define MAGIC_KEY_SLEEP_LED      Z
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 1
+
+/*
+ * HD44780 LCD Display Configuration
+ */
+/*
+#define LCD_LINES           2     //< number of visible lines of the display
+#define LCD_DISP_LENGTH    16     //< visibles characters per line of the display
+
+#define LCD_IO_MODE      1            //< 0: memory mapped mode, 1: IO port mode
+
+#if LCD_IO_MODE
+#define LCD_PORT         PORTB        //< port for the LCD lines
+#define LCD_DATA0_PORT   LCD_PORT     //< port for 4bit data bit 0
+#define LCD_DATA1_PORT   LCD_PORT     //< port for 4bit data bit 1
+#define LCD_DATA2_PORT   LCD_PORT     //< port for 4bit data bit 2
+#define LCD_DATA3_PORT   LCD_PORT     //< port for 4bit data bit 3
+#define LCD_DATA0_PIN    4            //< pin for 4bit data bit 0
+#define LCD_DATA1_PIN    5            //< pin for 4bit data bit 1
+#define LCD_DATA2_PIN    6            //< pin for 4bit data bit 2
+#define LCD_DATA3_PIN    7            //< pin for 4bit data bit 3
+#define LCD_RS_PORT      LCD_PORT     //< port for RS line
+#define LCD_RS_PIN       3            //< pin  for RS line
+#define LCD_RW_PORT      LCD_PORT     //< port for RW line
+#define LCD_RW_PIN       2            //< pin  for RW line
+#define LCD_E_PORT       LCD_PORT     //< port for Enable line
+#define LCD_E_PIN        1            //< pin  for Enable line
+#endif
+*/
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/flehrad/downbubble/downbubble.c b/keyboards/flehrad/downbubble/downbubble.c
new file mode 100644
index 000000000..48be8e499
--- /dev/null
+++ b/keyboards/flehrad/downbubble/downbubble.c
@@ -0,0 +1,16 @@
+/* Copyright 2018 REPLACE_WITH_YOUR_NAME
+ *
+ * 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 "downbubble.h"
diff --git a/keyboards/flehrad/downbubble/downbubble.h b/keyboards/flehrad/downbubble/downbubble.h
new file mode 100644
index 000000000..0df39dd9e
--- /dev/null
+++ b/keyboards/flehrad/downbubble/downbubble.h
@@ -0,0 +1,111 @@
+/* Copyright 2018 REPLACE_WITH_YOUR_NAME
+ *
+ * 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
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_standard( \
+    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
+    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
+    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
+    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
+    K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518, K519  \
+) \
+{ \
+    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
+    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
+    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
+    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
+    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
+    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
+         }
+
+#define LAYOUT_split_bs( \
+    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,\
+    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
+    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
+    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
+    K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
+) \
+{ \
+    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
+    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   K117,   K118,   K119  }, \
+    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
+    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
+    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
+    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
+         }
+
+#define LAYOUT_split_rshift( \
+    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
+    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
+    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
+    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,  K417,  K418,       \
+    K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
+) \
+{ \
+    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
+    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
+    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
+    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
+    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   K417,   K418,   KC_NO }, \
+    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
+         }
+
+#define LAYOUT_split_numpad( \
+    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
+    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,  K29,         K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
+    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K39,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
+    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,  K49,         K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
+    K50,  K51,  K52,  K53,        K54,              K56,  K57,  K58,  K59,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
+) \
+{ \
+    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
+    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
+    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
+    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    K39,    K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
+    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
+    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  K57,    K58,    K59,    K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
+         }
+
+#define LAYOUT_all( \
+    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,\
+    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,  K29,         K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
+    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K39,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
+    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,  K49,         K410,  K411,  K412,  K413,  K414,         K416,  K417,  K418,       \
+    K50,  K51,  K52,  K53,        K54,              K56,  K57,  K58,  K59,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
+) \
+{ \
+    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,  K018,   K019  }, \
+    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   K117,  K118,   K119  }, \
+    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,  K218,   K219  }, \
+    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    K39,    K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,  KC_NO,  KC_NO }, \
+    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   K417,  K418,   KC_NO }, \
+    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  K57,    K58,    K59,    K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,  K518,   K519  }, \
+         }
diff --git a/keyboards/flehrad/downbubble/info.json b/keyboards/flehrad/downbubble/info.json
new file mode 100644
index 000000000..c5cd97de5
--- /dev/null
+++ b/keyboards/flehrad/downbubble/info.json
@@ -0,0 +1,559 @@
+{
+  "keyboard_name": "downbubble",
+  "url": "",
+  "maintainer": "flehrad",
+  "width": 22.75,
+  "height": 6,
+  "layouts": {
+    "LAYOUT_standard": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K05", "x":5, "y":0},
+        {"label":"K06", "x":6, "y":0},
+        {"label":"K010", "x":12.75, "y":0},
+        {"label":"K011", "x":13.75, "y":0},
+        {"label":"K012", "x":14.75, "y":0},
+        {"label":"K013", "x":15.75, "y":0},
+        {"label":"K014", "x":16.75, "y":0},
+        {"label":"K015", "x":17.75, "y":0},
+        {"label":"K016", "x":18.75, "y":0},
+        {"label":"K017", "x":19.75, "y":0},
+        {"label":"K018", "x":20.75, "y":0},
+        {"label":"K019", "x":21.75, "y":0},
+        {"label":"K10", "x":0, "y":1},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K14", "x":4, "y":1},
+        {"label":"K15", "x":5, "y":1},
+        {"label":"K16", "x":6, "y":1},
+        {"label":"K17", "x":8.75, "y":1},
+        {"label":"K18", "x":9.75, "y":1},
+        {"label":"K19", "x":10.75, "y":1},
+        {"label":"K110", "x":12.75, "y":1},
+        {"label":"K111", "x":13.75, "y":1},
+        {"label":"K112", "x":14.75, "y":1},
+        {"label":"K113", "x":15.75, "y":1},
+        {"label":"K114", "x":16.75, "y":1},
+        {"label":"K115", "x":17.75, "y":1},
+        {"label":"K116", "x":18.75, "y":1, "w":2},
+        {"label":"K118", "x":20.75, "y":1},
+        {"label":"K119", "x":21.75, "y":1},
+        {"label":"K20", "x":0, "y":2, "w":1.5},
+        {"label":"K21", "x":1.5, "y":2},
+        {"label":"K22", "x":2.5, "y":2},
+        {"label":"K23", "x":3.5, "y":2},
+        {"label":"K24", "x":4.5, "y":2},
+        {"label":"K25", "x":5.5, "y":2},
+        {"label":"K26", "x":7.75, "y":2},
+        {"label":"K17", "x":8.75, "y":2},
+        {"label":"K28", "x":9.75, "y":2},
+        {"label":"K210", "x":12.25, "y":2},
+        {"label":"K211", "x":13.25, "y":2},
+        {"label":"K212", "x":14.25, "y":2},
+        {"label":"K213", "x":15.25, "y":2},
+        {"label":"K214", "x":16.25, "y":2},
+        {"label":"K215", "x":17.25, "y":2},
+        {"label":"K216", "x":18.25, "y":2},
+        {"label":"K217", "x":19.25, "y":2, "w":1.5},
+        {"label":"K218", "x":20.75, "y":2},
+        {"label":"K219", "x":21.75, "y":2},
+        {"label":"K30", "x":0, "y":3, "w":1.75},
+        {"label":"K31", "x":1.75, "y":3},
+        {"label":"K32", "x":2.75, "y":3},
+        {"label":"K33", "x":3.75, "y":3},
+        {"label":"K34", "x":4.75, "y":3},
+        {"label":"K35", "x":5.75, "y":3},
+        {"label":"K36", "x":7.75, "y":3},
+        {"label":"K37", "x":8.75, "y":3},
+        {"label":"K38", "x":9.75, "y":3},
+        {"label":"K29", "x":10.75, "y":2, "h":2},
+        {"label":"K310", "x":12.5, "y":3},
+        {"label":"K311", "x":13.5, "y":3},
+        {"label":"K312", "x":14.5, "y":3},
+        {"label":"K313", "x":15.5, "y":3},
+        {"label":"K314", "x":16.5, "y":3},
+        {"label":"K315", "x":17.5, "y":3},
+        {"label":"K317", "x":18.5, "y":3, "w":2.25},
+        {"label":"K40", "x":0, "y":4, "w":2.25},
+        {"label":"K41", "x":2.25, "y":4},
+        {"label":"K42", "x":3.25, "y":4},
+        {"label":"K43", "x":4.25, "y":4},
+        {"label":"K44", "x":5.25, "y":4},
+        {"label":"K45", "x":6.25, "y":4},
+        {"label":"K46", "x":7.75, "y":4},
+        {"label":"K47", "x":8.75, "y":4},
+        {"label":"K48", "x":9.75, "y":4},
+        {"label":"K410", "x":13, "y":4},
+        {"label":"K411", "x":14, "y":4},
+        {"label":"K412", "x":15, "y":4},
+        {"label":"K413", "x":16, "y":4},
+        {"label":"K414", "x":17, "y":4},
+        {"label":"K416", "x":18, "y":4, "w":2.75},
+        {"label":"K418", "x":20.75, "y":4},
+        {"label":"K50", "x":0, "y":5, "w":1.25},
+        {"label":"K51", "x":1.25, "y":5, "w":1.25},
+        {"label":"K52", "x":2.5, "y":5, "w":1.25},
+        {"label":"K53", "x":3.75, "y":5, "w":1.25},
+        {"label":"K54", "x":5, "y":5, "w":2.25},
+        {"label":"K56", "x":7.75, "y":5, "w":2},
+        {"label":"K58", "x":9.75, "y":5},
+        {"label":"K49", "x":10.75, "y":4, "h":2},
+        {"label":"K510", "x":13, "y":5, "w":2},
+        {"label":"K512", "x":15, "y":5, "w":1.25},
+        {"label":"K513", "x":16.25, "y":5, "w":1.25},
+        {"label":"K514", "x":17.5, "y":5, "w":1.25},
+        {"label":"K516", "x":18.75, "y":5},
+        {"label":"K517", "x":19.75, "y":5},
+        {"label":"K518", "x":20.75, "y":5},
+        {"label":"K519", "x":21.75, "y":5}
+      ]
+    },
+    "LAYOUT_split_bs": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K05", "x":5, "y":0},
+        {"label":"K06", "x":6, "y":0},
+        {"label":"K010", "x":12.75, "y":0},
+        {"label":"K011", "x":13.75, "y":0},
+        {"label":"K012", "x":14.75, "y":0},
+        {"label":"K013", "x":15.75, "y":0},
+        {"label":"K014", "x":16.75, "y":0},
+        {"label":"K015", "x":17.75, "y":0},
+        {"label":"K016", "x":18.75, "y":0},
+        {"label":"K017", "x":19.75, "y":0},
+        {"label":"K018", "x":20.75, "y":0},
+        {"label":"K019", "x":21.75, "y":0},
+        {"label":"K10", "x":0, "y":1},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K14", "x":4, "y":1},
+        {"label":"K15", "x":5, "y":1},
+        {"label":"K16", "x":6, "y":1},
+        {"label":"K17", "x":8.75, "y":1},
+        {"label":"K18", "x":9.75, "y":1},
+        {"label":"K19", "x":10.75, "y":1},
+        {"label":"K110", "x":12.75, "y":1},
+        {"label":"K111", "x":13.75, "y":1},
+        {"label":"K112", "x":14.75, "y":1},
+        {"label":"K113", "x":15.75, "y":1},
+        {"label":"K114", "x":16.75, "y":1},
+        {"label":"K115", "x":17.75, "y":1},
+        {"label":"K116", "x":18.75, "y":1},
+        {"label":"K117", "x":19.75, "y":1},
+        {"label":"K118", "x":20.75, "y":1},
+        {"label":"K119", "x":21.75, "y":1},
+        {"label":"K20", "x":0, "y":2, "w":1.5},
+        {"label":"K21", "x":1.5, "y":2},
+        {"label":"K22", "x":2.5, "y":2},
+        {"label":"K23", "x":3.5, "y":2},
+        {"label":"K24", "x":4.5, "y":2},
+        {"label":"K25", "x":5.5, "y":2},
+        {"label":"K26", "x":7.75, "y":2},
+        {"label":"K17", "x":8.75, "y":2},
+        {"label":"K28", "x":9.75, "y":2},
+        {"label":"K210", "x":12.25, "y":2},
+        {"label":"K211", "x":13.25, "y":2},
+        {"label":"K212", "x":14.25, "y":2},
+        {"label":"K213", "x":15.25, "y":2},
+        {"label":"K214", "x":16.25, "y":2},
+        {"label":"K215", "x":17.25, "y":2},
+        {"label":"K216", "x":18.25, "y":2},
+        {"label":"K217", "x":19.25, "y":2, "w":1.5},
+        {"label":"K218", "x":20.75, "y":2},
+        {"label":"K219", "x":21.75, "y":2},
+        {"label":"K30", "x":0, "y":3, "w":1.75},
+        {"label":"K31", "x":1.75, "y":3},
+        {"label":"K32", "x":2.75, "y":3},
+        {"label":"K33", "x":3.75, "y":3},
+        {"label":"K34", "x":4.75, "y":3},
+        {"label":"K35", "x":5.75, "y":3},
+        {"label":"K36", "x":7.75, "y":3},
+        {"label":"K37", "x":8.75, "y":3},
+        {"label":"K38", "x":9.75, "y":3},
+        {"label":"K29", "x":10.75, "y":2, "h":2},
+        {"label":"K310", "x":12.5, "y":3},
+        {"label":"K311", "x":13.5, "y":3},
+        {"label":"K312", "x":14.5, "y":3},
+        {"label":"K313", "x":15.5, "y":3},
+        {"label":"K314", "x":16.5, "y":3},
+        {"label":"K315", "x":17.5, "y":3},
+        {"label":"K317", "x":18.5, "y":3, "w":2.25},
+        {"label":"K40", "x":0, "y":4, "w":2.25},
+        {"label":"K41", "x":2.25, "y":4},
+        {"label":"K42", "x":3.25, "y":4},
+        {"label":"K43", "x":4.25, "y":4},
+        {"label":"K44", "x":5.25, "y":4},
+        {"label":"K45", "x":6.25, "y":4},
+        {"label":"K46", "x":7.75, "y":4},
+        {"label":"K47", "x":8.75, "y":4},
+        {"label":"K48", "x":9.75, "y":4},
+        {"label":"K410", "x":13, "y":4},
+        {"label":"K411", "x":14, "y":4},
+        {"label":"K412", "x":15, "y":4},
+        {"label":"K413", "x":16, "y":4},
+        {"label":"K414", "x":17, "y":4},
+        {"label":"K416", "x":18, "y":4, "w":2.75},
+        {"label":"K418", "x":20.75, "y":4},
+        {"label":"K50", "x":0, "y":5, "w":1.25},
+        {"label":"K51", "x":1.25, "y":5, "w":1.25},
+        {"label":"K52", "x":2.5, "y":5, "w":1.25},
+        {"label":"K53", "x":3.75, "y":5, "w":1.25},
+        {"label":"K54", "x":5, "y":5, "w":2.25},
+        {"label":"K56", "x":7.75, "y":5, "w":2},
+        {"label":"K58", "x":9.75, "y":5},
+        {"label":"K49", "x":10.75, "y":4, "h":2},
+        {"label":"K510", "x":13, "y":5, "w":2},
+        {"label":"K512", "x":15, "y":5, "w":1.25},
+        {"label":"K513", "x":16.25, "y":5, "w":1.25},
+        {"label":"K514", "x":17.5, "y":5, "w":1.25},
+        {"label":"K516", "x":18.75, "y":5},
+        {"label":"K517", "x":19.75, "y":5},
+        {"label":"K518", "x":20.75, "y":5},
+        {"label":"K519", "x":21.75, "y":5}
+      ]
+    },
+    "LAYOUT_split_rshift": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K05", "x":5, "y":0},
+        {"label":"K06", "x":6, "y":0},
+        {"label":"K010", "x":12.75, "y":0},
+        {"label":"K011", "x":13.75, "y":0},
+        {"label":"K012", "x":14.75, "y":0},
+        {"label":"K013", "x":15.75, "y":0},
+        {"label":"K014", "x":16.75, "y":0},
+        {"label":"K015", "x":17.75, "y":0},
+        {"label":"K016", "x":18.75, "y":0},
+        {"label":"K017", "x":19.75, "y":0},
+        {"label":"K018", "x":20.75, "y":0},
+        {"label":"K019", "x":21.75, "y":0},
+        {"label":"K10", "x":0, "y":1},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K14", "x":4, "y":1},
+        {"label":"K15", "x":5, "y":1},
+        {"label":"K16", "x":6, "y":1},
+        {"label":"K17", "x":8.75, "y":1},
+        {"label":"K18", "x":9.75, "y":1},
+        {"label":"K19", "x":10.75, "y":1},
+        {"label":"K110", "x":12.75, "y":1},
+        {"label":"K111", "x":13.75, "y":1},
+        {"label":"K112", "x":14.75, "y":1},
+        {"label":"K113", "x":15.75, "y":1},
+        {"label":"K114", "x":16.75, "y":1},
+        {"label":"K115", "x":17.75, "y":1},
+        {"label":"K116", "x":18.75, "y":1, "w":2},
+        {"label":"K118", "x":20.75, "y":1},
+        {"label":"K119", "x":21.75, "y":1},
+        {"label":"K20", "x":0, "y":2, "w":1.5},
+        {"label":"K21", "x":1.5, "y":2},
+        {"label":"K22", "x":2.5, "y":2},
+        {"label":"K23", "x":3.5, "y":2},
+        {"label":"K24", "x":4.5, "y":2},
+        {"label":"K25", "x":5.5, "y":2},
+        {"label":"K26", "x":7.75, "y":2},
+        {"label":"K17", "x":8.75, "y":2},
+        {"label":"K28", "x":9.75, "y":2},
+        {"label":"K210", "x":12.25, "y":2},
+        {"label":"K211", "x":13.25, "y":2},
+        {"label":"K212", "x":14.25, "y":2},
+        {"label":"K213", "x":15.25, "y":2},
+        {"label":"K214", "x":16.25, "y":2},
+        {"label":"K215", "x":17.25, "y":2},
+        {"label":"K216", "x":18.25, "y":2},
+        {"label":"K217", "x":19.25, "y":2, "w":1.5},
+        {"label":"K218", "x":20.75, "y":2},
+        {"label":"K219", "x":21.75, "y":2},
+        {"label":"K30", "x":0, "y":3, "w":1.75},
+        {"label":"K31", "x":1.75, "y":3},
+        {"label":"K32", "x":2.75, "y":3},
+        {"label":"K33", "x":3.75, "y":3},
+        {"label":"K34", "x":4.75, "y":3},
+        {"label":"K35", "x":5.75, "y":3},
+        {"label":"K36", "x":7.75, "y":3},
+        {"label":"K37", "x":8.75, "y":3},
+        {"label":"K38", "x":9.75, "y":3},
+        {"label":"K29", "x":10.75, "y":2, "h":2},
+        {"label":"K310", "x":12.5, "y":3},
+        {"label":"K311", "x":13.5, "y":3},
+        {"label":"K312", "x":14.5, "y":3},
+        {"label":"K313", "x":15.5, "y":3},
+        {"label":"K314", "x":16.5, "y":3},
+        {"label":"K315", "x":17.5, "y":3},
+        {"label":"K317", "x":18.5, "y":3, "w":2.25},
+        {"label":"K40", "x":0, "y":4, "w":2.25},
+        {"label":"K41", "x":2.25, "y":4},
+        {"label":"K42", "x":3.25, "y":4},
+        {"label":"K43", "x":4.25, "y":4},
+        {"label":"K44", "x":5.25, "y":4},
+        {"label":"K45", "x":6.25, "y":4},
+        {"label":"K46", "x":7.75, "y":4},
+        {"label":"K47", "x":8.75, "y":4},
+        {"label":"K48", "x":9.75, "y":4},
+        {"label":"K410", "x":13, "y":4},
+        {"label":"K411", "x":14, "y":4},
+        {"label":"K412", "x":15, "y":4},
+        {"label":"K413", "x":16, "y":4},
+        {"label":"K414", "x":17, "y":4},
+        {"label":"K416", "x":18, "y":4, "w":1.75},
+        {"label":"K417", "x":19.75, "y":4},
+        {"label":"K418", "x":20.75, "y":4},
+        {"label":"K50", "x":0, "y":5, "w":1.25},
+        {"label":"K51", "x":1.25, "y":5, "w":1.25},
+        {"label":"K52", "x":2.5, "y":5, "w":1.25},
+        {"label":"K53", "x":3.75, "y":5, "w":1.25},
+        {"label":"K54", "x":5, "y":5, "w":2.25},
+        {"label":"K56", "x":7.75, "y":5, "w":2},
+        {"label":"K58", "x":9.75, "y":5},
+        {"label":"K49", "x":10.75, "y":4, "h":2},
+        {"label":"K510", "x":13, "y":5, "w":2},
+        {"label":"K512", "x":15, "y":5, "w":1.25},
+        {"label":"K513", "x":16.25, "y":5, "w":1.25},
+        {"label":"K514", "x":17.5, "y":5, "w":1.25},
+        {"label":"K516", "x":18.75, "y":5},
+        {"label":"K517", "x":19.75, "y":5},
+        {"label":"K518", "x":20.75, "y":5},
+        {"label":"K519", "x":21.75, "y":5}
+      ]
+    },
+    "LAYOUT_split_numpad": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K05", "x":5, "y":0},
+        {"label":"K06", "x":6, "y":0},
+        {"label":"K010", "x":12.75, "y":0},
+        {"label":"K011", "x":13.75, "y":0},
+        {"label":"K012", "x":14.75, "y":0},
+        {"label":"K013", "x":15.75, "y":0},
+        {"label":"K014", "x":16.75, "y":0},
+        {"label":"K015", "x":17.75, "y":0},
+        {"label":"K016", "x":18.75, "y":0},
+        {"label":"K017", "x":19.75, "y":0},
+        {"label":"K018", "x":20.75, "y":0},
+        {"label":"K019", "x":21.75, "y":0},
+        {"label":"K10", "x":0, "y":1},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K14", "x":4, "y":1},
+        {"label":"K15", "x":5, "y":1},
+        {"label":"K16", "x":6, "y":1},
+        {"label":"K17", "x":8.75, "y":1},
+        {"label":"K18", "x":9.75, "y":1},
+        {"label":"K19", "x":10.75, "y":1},
+        {"label":"K110", "x":12.75, "y":1},
+        {"label":"K111", "x":13.75, "y":1},
+        {"label":"K112", "x":14.75, "y":1},
+        {"label":"K113", "x":15.75, "y":1},
+        {"label":"K114", "x":16.75, "y":1},
+        {"label":"K115", "x":17.75, "y":1},
+        {"label":"K116", "x":18.75, "y":1, "w":2},
+        {"label":"K118", "x":20.75, "y":1},
+        {"label":"K119", "x":21.75, "y":1},
+        {"label":"K20", "x":0, "y":2, "w":1.5},
+        {"label":"K21", "x":1.5, "y":2},
+        {"label":"K22", "x":2.5, "y":2},
+        {"label":"K23", "x":3.5, "y":2},
+        {"label":"K24", "x":4.5, "y":2},
+        {"label":"K25", "x":5.5, "y":2},
+        {"label":"K26", "x":7.75, "y":2},
+        {"label":"K17", "x":8.75, "y":2},
+        {"label":"K28", "x":9.75, "y":2},
+        {"label":"K29", "x":10.75, "y":2},
+        {"label":"K210", "x":12.25, "y":2},
+        {"label":"K211", "x":13.25, "y":2},
+        {"label":"K212", "x":14.25, "y":2},
+        {"label":"K213", "x":15.25, "y":2},
+        {"label":"K214", "x":16.25, "y":2},
+        {"label":"K215", "x":17.25, "y":2},
+        {"label":"K216", "x":18.25, "y":2},
+        {"label":"K217", "x":19.25, "y":2, "w":1.5},
+        {"label":"K218", "x":20.75, "y":2},
+        {"label":"K219", "x":21.75, "y":2},
+        {"label":"K30", "x":0, "y":3, "w":1.75},
+        {"label":"K31", "x":1.75, "y":3},
+        {"label":"K32", "x":2.75, "y":3},
+        {"label":"K33", "x":3.75, "y":3},
+        {"label":"K34", "x":4.75, "y":3},
+        {"label":"K35", "x":5.75, "y":3},
+        {"label":"K36", "x":7.75, "y":3},
+        {"label":"K37", "x":8.75, "y":3},
+        {"label":"K38", "x":9.75, "y":3},
+        {"label":"K39", "x":10.75, "y":3},
+        {"label":"K310", "x":12.5, "y":3},
+        {"label":"K311", "x":13.5, "y":3},
+        {"label":"K312", "x":14.5, "y":3},
+        {"label":"K313", "x":15.5, "y":3},
+        {"label":"K314", "x":16.5, "y":3},
+        {"label":"K315", "x":17.5, "y":3},
+        {"label":"K317", "x":18.5, "y":3, "w":2.25},
+        {"label":"K40", "x":0, "y":4, "w":2.25},
+        {"label":"K41", "x":2.25, "y":4},
+        {"label":"K42", "x":3.25, "y":4},
+        {"label":"K43", "x":4.25, "y":4},
+        {"label":"K44", "x":5.25, "y":4},
+        {"label":"K45", "x":6.25, "y":4},
+        {"label":"K46", "x":7.75, "y":4},
+        {"label":"K47", "x":8.75, "y":4},
+        {"label":"K48", "x":9.75, "y":4},
+        {"label":"K49", "x":10.75, "y":4},
+        {"label":"K410", "x":13, "y":4},
+        {"label":"K411", "x":14, "y":4},
+        {"label":"K412", "x":15, "y":4},
+        {"label":"K413", "x":16, "y":4},
+        {"label":"K414", "x":17, "y":4},
+        {"label":"K416", "x":18, "y":4, "w":2.75},
+        {"label":"K418", "x":20.75, "y":4},
+        {"label":"K50", "x":0, "y":5, "w":1.25},
+        {"label":"K51", "x":1.25, "y":5, "w":1.25},
+        {"label":"K52", "x":2.5, "y":5, "w":1.25},
+        {"label":"K53", "x":3.75, "y":5, "w":1.25},
+        {"label":"K54", "x":5, "y":5, "w":2.25},
+        {"label":"K56", "x":7.75, "y":5},
+        {"Label":"K57", "x":8.75, "y":5},
+        {"label":"K58", "x":9.75, "y":5},
+        {"label":"K59", "x":10.75, "y":5},
+        {"label":"K510", "x":13, "y":5, "w":2},
+        {"label":"K512", "x":15, "y":5, "w":1.25},
+        {"label":"K513", "x":16.25, "y":5, "w":1.25},
+        {"label":"K514", "x":17.5, "y":5, "w":1.25},
+        {"label":"K516", "x":18.75, "y":5},
+        {"label":"K517", "x":19.75, "y":5},
+        {"label":"K518", "x":20.75, "y":5},
+        {"label":"K519", "x":21.75, "y":5}
+      ]
+    },
+    "LAYOUT_all": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K05", "x":5, "y":0},
+        {"label":"K06", "x":6, "y":0},
+        {"label":"K010", "x":12.75, "y":0},
+        {"label":"K011", "x":13.75, "y":0},
+        {"label":"K012", "x":14.75, "y":0},
+        {"label":"K013", "x":15.75, "y":0},
+        {"label":"K014", "x":16.75, "y":0},
+        {"label":"K015", "x":17.75, "y":0},
+        {"label":"K016", "x":18.75, "y":0},
+        {"label":"K017", "x":19.75, "y":0},
+        {"label":"K018", "x":20.75, "y":0},
+        {"label":"K019", "x":21.75, "y":0},
+        {"label":"K10", "x":0, "y":1},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K14", "x":4, "y":1},
+        {"label":"K15", "x":5, "y":1},
+        {"label":"K16", "x":6, "y":1},
+        {"label":"K17", "x":8.75, "y":1},
+        {"label":"K18", "x":9.75, "y":1},
+        {"label":"K19", "x":10.75, "y":1},
+        {"label":"K110", "x":12.75, "y":1},
+        {"label":"K111", "x":13.75, "y":1},
+        {"label":"K112", "x":14.75, "y":1},
+        {"label":"K113", "x":15.75, "y":1},
+        {"label":"K114", "x":16.75, "y":1},
+        {"label":"K115", "x":17.75, "y":1},
+        {"label":"K116", "x":18.75, "y":1},
+        {"label":"K117", "x":19.75, "y":1},
+        {"label":"K118", "x":20.75, "y":1},
+        {"label":"K119", "x":21.75, "y":1},
+        {"label":"K20", "x":0, "y":2, "w":1.5},
+        {"label":"K21", "x":1.5, "y":2},
+        {"label":"K22", "x":2.5, "y":2},
+        {"label":"K23", "x":3.5, "y":2},
+        {"label":"K24", "x":4.5, "y":2},
+        {"label":"K25", "x":5.5, "y":2},
+        {"label":"K26", "x":7.75, "y":2},
+        {"label":"K27", "x":8.75, "y":2},
+        {"label":"K28", "x":9.75, "y":2},
+        {"label":"K29", "x":10.75, "y":2},
+        {"label":"K210", "x":12.25, "y":2},
+        {"label":"K211", "x":13.25, "y":2},
+        {"label":"K212", "x":14.25, "y":2},
+        {"label":"K213", "x":15.25, "y":2},
+        {"label":"K214", "x":16.25, "y":2},
+        {"label":"K215", "x":17.25, "y":2},
+        {"label":"K216", "x":18.25, "y":2},
+        {"label":"K217", "x":19.25, "y":2, "w":1.5},
+        {"label":"K218", "x":20.75, "y":2},
+        {"label":"K219", "x":21.75, "y":2},
+        {"label":"K30", "x":0, "y":3, "w":1.75},
+        {"label":"K31", "x":1.75, "y":3},
+        {"label":"K32", "x":2.75, "y":3},
+        {"label":"K33", "x":3.75, "y":3},
+        {"label":"K34", "x":4.75, "y":3},
+        {"label":"K35", "x":5.75, "y":3},
+        {"label":"K36", "x":7.75, "y":3},
+        {"label":"K37", "x":8.75, "y":3},
+        {"label":"K38", "x":9.75, "y":3},
+        {"label":"K39", "x":10.75, "y":3},
+        {"label":"K310", "x":12.5, "y":3},
+        {"label":"K311", "x":13.5, "y":3},
+        {"label":"K312", "x":14.5, "y":3},
+        {"label":"K313", "x":15.5, "y":3},
+        {"label":"K314", "x":16.5, "y":3},
+        {"label":"K315", "x":17.5, "y":3},
+        {"label":"K317", "x":18.5, "y":3, "w":2.25},
+        {"label":"K40", "x":0, "y":4, "w":2.25},
+        {"label":"K41", "x":2.25, "y":4},
+        {"label":"K42", "x":3.25, "y":4},
+        {"label":"K43", "x":4.25, "y":4},
+        {"label":"K44", "x":5.25, "y":4},
+        {"label":"K45", "x":6.25, "y":4},
+        {"label":"K46", "x":7.75, "y":4},
+        {"label":"K47", "x":8.75, "y":4},
+        {"label":"K48", "x":9.75, "y":4},
+        {"label":"K49", "x":10.75, "y":4},
+        {"label":"K410", "x":13, "y":4},
+        {"label":"K411", "x":14, "y":4},
+        {"label":"K412", "x":15, "y":4},
+        {"label":"K413", "x":16, "y":4},
+        {"label":"K414", "x":17, "y":4},
+        {"label":"K416", "x":18, "y":4, "w":1.75},
+        {"label":"K417", "x":19.75, "y":4},
+        {"label":"K418", "x":20.75, "y":4},
+        {"label":"K50", "x":0, "y":5, "w":1.25},
+        {"label":"K51", "x":1.25, "y":5, "w":1.25},
+        {"label":"K52", "x":2.5, "y":5, "w":1.25},
+        {"label":"K53", "x":3.75, "y":5, "w":1.25},
+        {"label":"K54", "x":5, "y":5, "w":2.25},
+        {"label":"K56", "x":7.75, "y":5},
+        {"label":"K57", "x":8.75, "y":5},
+        {"label":"K58", "x":9.75, "y":5},
+        {"label":"K59", "x":10.75, "y":5},
+        {"label":"K510", "x":13, "y":5, "w":2},
+        {"label":"K512", "x":15, "y":5, "w":1.25},
+        {"label":"K513", "x":16.25, "y":5, "w":1.25},
+        {"label":"K514", "x":17.5, "y":5, "w":1.25},
+        {"label":"K516", "x":18.75, "y":5},
+        {"label":"K517", "x":19.75, "y":5},
+        {"label":"K518", "x":20.75, "y":5},
+        {"label":"K519", "x":21.75, "y":5}
+      ]
+    }
+  }
+}
diff --git a/keyboards/flehrad/downbubble/keymaps/default/config.h b/keyboards/flehrad/downbubble/keymaps/default/config.h
new file mode 100644
index 000000000..4496c5910
--- /dev/null
+++ b/keyboards/flehrad/downbubble/keymaps/default/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2018 REPLACE_WITH_YOUR_NAME
+ *
+ * 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
+
+// place overrides here
diff --git a/keyboards/flehrad/downbubble/keymaps/default/keymap.c b/keyboards/flehrad/downbubble/keymaps/default/keymap.c
new file mode 100644
index 000000000..48303900f
--- /dev/null
+++ b/keyboards/flehrad/downbubble/keymaps/default/keymap.c
@@ -0,0 +1,103 @@
+/* Copyright 2018 REPLACE_WITH_YOUR_NAME
+ *
+ * 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
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+  QMKBEST = SAFE_RANGE,
+  QMKURL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [0] = LAYOUT_standard(\
+    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_END,  KC_PGUP,
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,                    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
+    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_PPLS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
+    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,                    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,          KC_UP,
+    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,            KC_PDOT, KC_PENT,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+  ),
+
+  LAYOUT_split_bs(\
+    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_TRNS, KC_END,  KC_PGUP,
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,                    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
+    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_PPLS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
+    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,                    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,          KC_UP,
+    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,            KC_PDOT, KC_PENT,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+  ),
+
+  LAYOUT_split_rshift(\
+    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_END,  KC_PGUP,
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,                    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
+    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_PPLS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
+    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,                    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, KC_TRNS,  KC_UP,
+    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,            KC_PDOT, KC_PENT,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+  ),
+
+  LAYOUT_split_numpad(\
+    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_END,  KC_PGUP,
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,   KC_PPLS,         KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
+    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_TRNS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
+    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,   KC_PENT,         KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,          KC_UP,
+    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,   KC_TRNS, KC_PDOT, KC_TRNS,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+  ),
+
+  LAYOUT_all(\
+    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_TRNS, KC_END,  KC_PGUP,
+    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,   KC_PPLS,         KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
+    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_TRNS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
+    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,   KC_PENT,         KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, KC_TRNS, KC_UP,
+    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,   KC_TRNS, KC_PDOT, KC_TRNS,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+  ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case QMKBEST:
+      if (record->event.pressed) {
+        // when keycode QMKBEST is pressed
+        SEND_STRING("QMK is the best thing ever!");
+      } else {
+        // when keycode QMKBEST is released
+      }
+      break;
+    case QMKURL:
+      if (record->event.pressed) {
+        // when keycode QMKURL is pressed
+        SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
+      } else {
+        // when keycode QMKURL is released
+      }
+      break;
+  }
+  return true;
+}
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/flehrad/downbubble/keymaps/default/readme.md b/keyboards/flehrad/downbubble/keymaps/default/readme.md
new file mode 100644
index 000000000..757d99062
--- /dev/null
+++ b/keyboards/flehrad/downbubble/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymaps for downbubble
diff --git a/keyboards/flehrad/downbubble/license b/keyboards/flehrad/downbubble/license
new file mode 100644
index 000000000..e6e77b089
--- /dev/null
+++ b/keyboards/flehrad/downbubble/license
@@ -0,0 +1,201 @@
+ Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/keyboards/flehrad/downbubble/readme.md b/keyboards/flehrad/downbubble/readme.md
new file mode 100644
index 000000000..f1c83b8aa
--- /dev/null
+++ b/keyboards/flehrad/downbubble/readme.md
@@ -0,0 +1,15 @@
+# downbubble
+
+Prototype hand-wired version of this keyboard - https://imgur.com/a/0KbX1JH
+
+This is an ergonomic keyboard with a 5 degree rotation on keyboard halves, and a rotated numpad in the center for RH users.
+
+Keyboard Maintainer: [Flehrad](https://github.com/flehrad)  
+Hardware Supported: downbubble PCB, AT90USB1286 MCU, MX switches and MiniUSB connector  
+Hardware Availability: The Board Podcast Slack
+
+Make example for this keyboard (after setting up your build environment):
+
+    make flehrad/downbubble:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/flehrad/downbubble/rules.mk b/keyboards/flehrad/downbubble/rules.mk
new file mode 100644
index 000000000..189b82720
--- /dev/null
+++ b/keyboards/flehrad/downbubble/rules.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = at90usb1286
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
+CONSOLE_ENABLE = yes        # Console for debug(+400)
+COMMAND_ENABLE = yes        # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no            # USB Nkey Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no           # Audio output on port C6
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/flehrad/numbrero/config.h b/keyboards/flehrad/numbrero/config.h
new file mode 100644
index 000000000..ac38e0814
--- /dev/null
+++ b/keyboards/flehrad/numbrero/config.h
@@ -0,0 +1,46 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x6060
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Flehrad
+#define PRODUCT         Numbrero
+#define DESCRIPTION     Pro Micro-powered Reversible L/H Numpad with Extra Macro Keys
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 5
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F6, B5, B4, E6, F7 }
+#define MATRIX_COL_PINS { D1, D0, D4, F5, F4 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 3
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 5
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
diff --git a/keyboards/flehrad/numbrero/info.json b/keyboards/flehrad/numbrero/info.json
new file mode 100644
index 000000000..d2f7ebd03
--- /dev/null
+++ b/keyboards/flehrad/numbrero/info.json
@@ -0,0 +1,62 @@
+{
+  "keyboard_name": "Numbrero",
+  "url": "",
+  "maintainer": "Flehrad",
+  "width": 5,
+  "height": 5,
+  "layouts": {
+    "LAYOUT_numbrero_numpad": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K10", "x":0, "y":1, "h":1.5},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K20", "x":0, "y":2.5},
+        {"label":"K21", "x":1, "y":2},
+        {"label":"K22", "x":2, "y":2},
+        {"label":"K23", "x":3, "y":2},
+        {"label":"K14", "x":4, "y":1, "h":2},
+        {"label":"K30", "x":0, "y":3.5, "h":1.5},
+        {"label":"K31", "x":1, "y":3},
+        {"label":"K32", "x":2, "y":3},
+        {"label":"K33", "x":3, "y":3},
+        {"label":"K41", "x":1, "y":4, "w":2},
+        {"label":"K43", "x":3, "y":4},
+        {"label":"K34", "x":4, "y":3, "h":2}
+      ]
+    },
+    "LAYOUT_numbrero_ortho": {
+      "layout": [
+        {"label":"K00", "x":0, "y":0},
+        {"label":"K01", "x":1, "y":0},
+        {"label":"K02", "x":2, "y":0},
+        {"label":"K03", "x":3, "y":0},
+        {"label":"K04", "x":4, "y":0},
+        {"label":"K10", "x":0, "y":1, "h":1.5},
+        {"label":"K11", "x":1, "y":1},
+        {"label":"K12", "x":2, "y":1},
+        {"label":"K13", "x":3, "y":1},
+        {"label":"K14", "x":4, "y":1},
+        {"label":"K20", "x":0, "y":2.5},
+        {"label":"K21", "x":1, "y":2},
+        {"label":"K22", "x":2, "y":2},
+        {"label":"K23", "x":3, "y":2},
+        {"label":"K24", "x":4, "y":2},
+        {"label":"K30", "x":0, "y":3.5, "h":1.5},
+        {"label":"K31", "x":1, "y":3},
+        {"label":"K32", "x":2, "y":3},
+        {"label":"K33", "x":3, "y":3},
+        {"label":"K34", "x":4, "y":3},
+        {"label":"K41", "x":1, "y":4},
+        {"label":"K42", "x":2, "y":4},
+        {"label":"K43", "x":3, "y":4},
+        {"label":"K44", "x":4, "y":4}
+      ]
+    }
+  }
+}
diff --git a/keyboards/flehrad/numbrero/keymaps/default/keymap.c b/keyboards/flehrad/numbrero/keymaps/default/keymap.c
new file mode 100644
index 000000000..903ed8d88
--- /dev/null
+++ b/keyboards/flehrad/numbrero/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	LAYOUT_numbrero_numpad(
+		KC_TRNS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+		KC_TRNS, KC_P7,   KC_P8,   KC_P9,
+		KC_TRNS, KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
+		KC_TRNS, KC_P1,   KC_P2,   KC_P3,
+		         KC_P0,            KC_PDOT, KC_PENT),
+
+	LAYOUT_numbrero_ortho(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+
+};
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+	return true;
+}
diff --git a/keyboards/flehrad/numbrero/license b/keyboards/flehrad/numbrero/license
new file mode 100644
index 000000000..b09cd7856
--- /dev/null
+++ b/keyboards/flehrad/numbrero/license
@@ -0,0 +1,201 @@
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/keyboards/flehrad/numbrero/numbrero.c b/keyboards/flehrad/numbrero/numbrero.c
new file mode 100644
index 000000000..d3ec36904
--- /dev/null
+++ b/keyboards/flehrad/numbrero/numbrero.c
@@ -0,0 +1 @@
+#include "numbrero.h"
diff --git a/keyboards/flehrad/numbrero/numbrero.h b/keyboards/flehrad/numbrero/numbrero.h
new file mode 100644
index 000000000..c72e65407
--- /dev/null
+++ b/keyboards/flehrad/numbrero/numbrero.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_numbrero_numpad( \
+  K00, K01, K02, K03, K04, \
+  K10, K11, K12, K13,      \
+  K20, K21, K22, K23, K14, \
+  K30, K31, K32, K33,      \
+       K41,      K43, K34  \
+) { \
+  { K00,   K01,   K02,   K03,   K04   }, \
+  { K10,   K11,   K12,   K13,   K14   }, \
+  { K20,   K21,   K22,   K23,   KC_NO }, \
+  { K30,   K31,   K32,   K33,   K34   }, \
+  { KC_NO, K41,   KC_NO, K43,   KC_NO }  \
+}
+#define LAYOUT_numbrero_ortho(\
+  K00, K01, K02, K03, K04, \
+  K10, K11, K12, K13, K14, \
+  K20, K21, K22, K23, K24, \
+  K30, K31, K32, K33, K34, \
+       K41, K42, K43, K44  \
+){ \
+  { K00,   K01,   K02,   K03,   K04 }, \
+  { K10,   K11,   K12,   K13,   K14 }, \
+  { K20,   K21,   K22,   K23,   K24 }, \
+  { K30,   K31,   K32,   K33,   K34 }, \
+  { KC_NO, K41,   K42,   K43,   K44 }  \
+}
diff --git a/keyboards/flehrad/numbrero/readme.md b/keyboards/flehrad/numbrero/readme.md
new file mode 100644
index 000000000..823a81fbe
--- /dev/null
+++ b/keyboards/flehrad/numbrero/readme.md
@@ -0,0 +1,13 @@
+# Numbrero
+
+A reversible numpad (left/right-handed) with extra macro keys.
+
+Keyboard Maintainer: [Flehrad](https://github.com/flehrad)  
+Hardware Supported: Numbrero PCB, Pro Micro  
+Hardware Availability: The Board Podcast Slack
+
+Make example for this keyboard (after setting up your build environment):
+
+    make flehrad/numbrero:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/flehrad/numbrero/rules.mk b/keyboards/flehrad/numbrero/rules.mk
new file mode 100644
index 000000000..969dd0b50
--- /dev/null
+++ b/keyboards/flehrad/numbrero/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = caterina
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
+CONSOLE_ENABLE = no	# Console for debug(+400)
+COMMAND_ENABLE = no    # Commands for debug and configuration
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no
diff --git a/keyboards/flehrad/snagpad/config.h b/keyboards/flehrad/snagpad/config.h
new file mode 100644
index 000000000..339bdd1be
--- /dev/null
+++ b/keyboards/flehrad/snagpad/config.h
@@ -0,0 +1,49 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0x4443 // "DC" = Don Chiou
+#define PRODUCT_ID      0x5350 // "SP" = Snagpad
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Flehrad
+#define PRODUCT         Snagpad
+#define DESCRIPTION     A Pro Micro-Powered 5x4 macropad/numpad
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 3
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* prevent stuck modifiers */
+//#define STRICT_LAYER_RELEASE
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 0
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
diff --git a/keyboards/flehrad/snagpad/info.json b/keyboards/flehrad/snagpad/info.json
new file mode 100644
index 000000000..6e3ab601a
--- /dev/null
+++ b/keyboards/flehrad/snagpad/info.json
@@ -0,0 +1,56 @@
+{
+    "keyboard_name": "Snagpad",
+    "url": "",
+    "maintainer": "Flehrad",
+
+    "width": 4,
+    "height": 5,
+    "layouts": {
+
+        "LAYOUT_ortho_5x4": {
+            "layout": [
+                {"label":"Num Lock", "x":0, "y":0},
+                {"label":"/", "x":1, "y":0},
+                {"label":"*", "x":2, "y":0},
+                {"label":"-", "x":3, "y":0},
+                {"label":"7", "x":0, "y":1},
+                {"label":"8", "x":1, "y":1},
+                {"label":"9", "x":2, "y":1},
+                {"label":"+", "x":3, "y":1},
+                {"label":"4", "x":0, "y":2},
+                {"label":"5", "x":1, "y":2},
+                {"label":"6", "x":2, "y":2},
+                {"label":"+", "x":3, "y":2},
+                {"label":"1", "x":0, "y":3},
+                {"label":"2", "x":1, "y":3},
+                {"label":"3", "x":2, "y":3},
+                {"label":"Enter", "x":3, "y":3},
+                {"label":"0", "x":0, "y":4},
+                {"label":"0", "x":1, "y":4},
+                {"label":".", "x":2, "y":4},
+                {"label":"Enter", "x":3, "y":4}
+            ]
+        },
+        "LAYOUT_numpad_5x4": {
+            "layout": [
+                {"label":"Num Lock", "x":0, "y":0},
+                {"label":"/", "x":1, "y":0},
+                {"label":"*", "x":2, "y":0},
+                {"label":"-", "x":3, "y":0},
+                {"label":"7", "x":0, "y":1},
+                {"label":"8", "x":1, "y":1},
+                {"label":"9", "x":2, "y":1},
+                {"label":"4", "x":0, "y":2},
+                {"label":"5", "x":1, "y":2},
+                {"label":"6", "x":2, "y":2},
+                {"label":"+", "x":3, "y":1, "h":2},
+                {"label":"1", "x":0, "y":3},
+                {"label":"2", "x":1, "y":3},
+                {"label":"3", "x":2, "y":3},
+                {"label":"0", "x":0, "y":4, "w":2},
+                {"label":".", "x":2, "y":4},
+                {"label":"Enter", "x":3, "y":3, "h":2}
+            ]
+        }
+    }
+}
diff --git a/keyboards/flehrad/snagpad/keymaps/default/keymap.c b/keyboards/flehrad/snagpad/keymaps/default/keymap.c
new file mode 100644
index 000000000..7645b435c
--- /dev/null
+++ b/keyboards/flehrad/snagpad/keymaps/default/keymap.c
@@ -0,0 +1,63 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	LAYOUT_ortho_5x4(
+		KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
+		KC_P7, KC_P8, KC_P9, KC_PPLS, 
+		KC_P4, KC_P5, KC_P6, KC_PPLS, 
+		KC_P1, KC_P2, KC_P3, KC_PENT, 
+		KC_P0, KC_P0, KC_PDOT, KC_PENT),
+
+  LAYOUT_numpad_5x4(
+		KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
+		KC_P7, KC_P8, KC_P9,  
+ 		KC_P4, KC_P5, KC_P6, KC_PPLS,
+		KC_P1, KC_P2, KC_P3,  
+ 		KC_P0,        KC_PDOT, KC_PENT),
+};
+
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+	return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+
+	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_COMPOSE)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_KANA)) {
+		
+	} else {
+		
+	}
+
+}
diff --git a/keyboards/flehrad/snagpad/keymaps/via/keymap.c b/keyboards/flehrad/snagpad/keymaps/via/keymap.c
new file mode 100644
index 000000000..7fa226de7
--- /dev/null
+++ b/keyboards/flehrad/snagpad/keymaps/via/keymap.c
@@ -0,0 +1,76 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+	LAYOUT_ortho_5x4(
+		KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+		KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
+		KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
+		KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+		KC_P0,   KC_P0,   KC_PDOT, KC_PENT),
+
+	LAYOUT_ortho_5x4(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+	LAYOUT_ortho_5x4(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+	LAYOUT_ortho_5x4(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+	return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+
+	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_COMPOSE)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_KANA)) {
+		
+	} else {
+		
+	}
+
+}
diff --git a/keyboards/flehrad/snagpad/keymaps/via/rules.mk b/keyboards/flehrad/snagpad/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/flehrad/snagpad/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/flehrad/snagpad/license b/keyboards/flehrad/snagpad/license
new file mode 100644
index 000000000..261eeb9e9
--- /dev/null
+++ b/keyboards/flehrad/snagpad/license
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/keyboards/flehrad/snagpad/readme.md b/keyboards/flehrad/snagpad/readme.md
new file mode 100644
index 000000000..cefd65e57
--- /dev/null
+++ b/keyboards/flehrad/snagpad/readme.md
@@ -0,0 +1,21 @@
+# Snagpad
+
+A five-row PCB that can be built as a standard numpad or an ortholinear 5x4 macropad. Can be built as single PCB with custom case, or as two PCB style with standoffs. Requires a Pro Micro.
+
+Keyboard Maintainer: [Flehrad](https://github.com/flehrad)  
+Hardware Supported: Snagpad PCB, Pro Micro  
+Hardware Availability: [GitHub](https://github.com/flehrad/Snagpad)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make flehrad/snagpad:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+If you like this simple PCB and want to make a donation, you can do so at https://paypal.me/theboardpodcast.
+
+Check out our:
+
+- [YouTube](https://www.youtube.com/channel/UCg98oJZNffR9nDLJNkorjqw)
+- [Podcast](https://podcasts.apple.com/au/podcast/theboard-mechanical-keyboard/id1147089749?mt=2)
+- [Patreon](https://www.patreon.com/theboardpodcast)
diff --git a/keyboards/flehrad/snagpad/rules.mk b/keyboards/flehrad/snagpad/rules.mk
new file mode 100644
index 000000000..566a398fe
--- /dev/null
+++ b/keyboards/flehrad/snagpad/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = caterina
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes	# Mouse keys
+EXTRAKEY_ENABLE = yes	# Audio control and System control
+CONSOLE_ENABLE = no	# Console for debug
+COMMAND_ENABLE = no    # Commands for debug and configuration
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no
+LAYOUTS = ortho_5x4 numpad_5x4
diff --git a/keyboards/flehrad/snagpad/snagpad.c b/keyboards/flehrad/snagpad/snagpad.c
new file mode 100644
index 000000000..ce7e50b38
--- /dev/null
+++ b/keyboards/flehrad/snagpad/snagpad.c
@@ -0,0 +1 @@
+#include "snagpad.h"
diff --git a/keyboards/flehrad/snagpad/snagpad.h b/keyboards/flehrad/snagpad/snagpad.h
new file mode 100644
index 000000000..f1e5e34e6
--- /dev/null
+++ b/keyboards/flehrad/snagpad/snagpad.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_ortho_5x4( \
+    K00, K01, K02, K03, \
+    K10, K11, K12, K13, \
+    K20, K21, K22, K23, \
+    K30, K31, K32, K33, \
+    K40, K41, K42, K43  \
+) { \
+    { K00,   K01,   K02,   K03 }, \
+    { K10,   K11,   K12,   K13 }, \
+    { K20,   K21,   K22,   K23 }, \
+    { K30,   K31,   K32,   K33 }, \
+    { K40,   K41,   K42,   K43 }  \
+}
+#define LAYOUT_numpad_5x4( \
+    K00, K01, K02, K03, \
+    K10, K11, K12,      \
+    K20, K21, K22, K13, \
+    K30, K31, K32,      \
+    K40,      K42, K33  \
+) { \
+    { K00,   K01,   K02,   K03 }, \
+    { K10,   K11,   K12,   K13 }, \
+    { K20,   K21,   K22,   KC_NO }, \
+    { K30,   K31,   K32,   K33 }, \
+    { K40,   KC_NO, K42,   KC_NO }  \
+}
diff --git a/keyboards/flehrad/tradestation/config.h b/keyboards/flehrad/tradestation/config.h
new file mode 100644
index 000000000..33c87548f
--- /dev/null
+++ b/keyboards/flehrad/tradestation/config.h
@@ -0,0 +1,46 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x6060
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Flehrad
+#define PRODUCT         Trade Station
+ #define DESCRIPTION     A Pro Micro-powered macropad layout by Didier Luximon. 1/8U gap space top two rows and 1/4U gap between 2U bottom two rows.
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D1, C6, D4, D0 }
+#define MATRIX_COL_PINS { F7, B1, D7, E6 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 3
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+ #define RGBLED_NUM 5
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
diff --git a/keyboards/flehrad/tradestation/info.json b/keyboards/flehrad/tradestation/info.json
new file mode 100644
index 000000000..233eb6282
--- /dev/null
+++ b/keyboards/flehrad/tradestation/info.json
@@ -0,0 +1,15 @@
+{
+    "keyboard_name": "Tradestation",
+    "url": "",
+    "maintainer": "Flehrad",
+    "width": 4.375,
+    "height": 4.5,
+    "layouts": {
+        "LAYOUT_tradestation": {
+            "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25, "w":2},{"x":2.25, "y":2.25, "w":2},{"x":0, "y":3.5, "w":2},{"x":2.25, "y":3.5, "w":2}]
+        },
+        "LAYOUT_ortho_4x4": {
+            "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25},{"x":1.125, "y":2.25},{"x":2.25, "y":2.25},{"x":3.375, "y":2.25},{"x":0, "y":3.5},{"x":1.125, "y":3.5},{"x":2.25, "y":3.5},{"x":3.375, "y":3.5}]
+        }
+    }
+}
diff --git a/keyboards/flehrad/tradestation/keymaps/default/keymap.c b/keyboards/flehrad/tradestation/keymaps/default/keymap.c
new file mode 100644
index 000000000..3497dcb94
--- /dev/null
+++ b/keyboards/flehrad/tradestation/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	LAYOUT_ortho_4x4(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ 	LAYOUT_tradestation(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+		KC_TRNS, 		  KC_TRNS, 
+		KC_TRNS, 		  KC_TRNS),
+};
+
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+	return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+
+	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_COMPOSE)) {
+		
+	} else {
+		
+	}
+
+	if (usb_led & (1 << USB_LED_KANA)) {
+		
+	} else {
+		
+	}
+
+}
diff --git a/keyboards/flehrad/tradestation/license b/keyboards/flehrad/tradestation/license
new file mode 100644
index 000000000..261eeb9e9
--- /dev/null
+++ b/keyboards/flehrad/tradestation/license
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/keyboards/flehrad/tradestation/readme.md b/keyboards/flehrad/tradestation/readme.md
new file mode 100644
index 000000000..d2a9c4d18
--- /dev/null
+++ b/keyboards/flehrad/tradestation/readme.md
@@ -0,0 +1,27 @@
+# Tradestation
+
+[Image Gallery](https://imgur.com/a/yxQJXMT)
+
+A 4x4 ortholinear macropad, with options for 2U keys on the bottom half. Can be built as single PCB with custom case, or as two-PCB style with standoffs. Requires a Pro Micro.
+
+This PCB supports an overall 4x4 matrix with unique spacing.
+
+* Top two rows are 1U keys with 1/8U spacing
+* Bottom two rows are available with 4x2 1U as clusters of 2x1U or as 2x2 2U, spaced with 1/4U
+
+If you like this simple PCB and want to make a donation, you can do so at [paypal.me/theboardpodcast](https://paypal.me/theboardpodcast).
+
+- [The Board Podcast on YouTube](https://www.youtube.com/channel/UCg98oJZNffR9nDLJNkorjqw)
+- [The Board Podcast on Libsyn](http://theboard.libsyn.com/)
+- [The Board Podcast on Patreon](https://www.patreon.com/theboardpodcast)
+
+Designed by Didier Luximon.
+
+Keyboard Maintainer: [flehrad](https://github.com/flehrad)  
+Hardware Supported: Tradestation PCB, Pro Micro  
+
+Make example for this keyboard (after setting up your build environment):
+
+    make flehrad/tradestation:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/flehrad/tradestation/rules.mk b/keyboards/flehrad/tradestation/rules.mk
new file mode 100644
index 000000000..d3612c3c2
--- /dev/null
+++ b/keyboards/flehrad/tradestation/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = caterina
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
+CONSOLE_ENABLE = no	# Console for debug(+400)
+COMMAND_ENABLE = no    # Commands for debug and configuration
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no
+
+LAYOUTS = ortho_4x4
diff --git a/keyboards/flehrad/tradestation/tradestation.c b/keyboards/flehrad/tradestation/tradestation.c
new file mode 100644
index 000000000..a3285a2cc
--- /dev/null
+++ b/keyboards/flehrad/tradestation/tradestation.c
@@ -0,0 +1 @@
+#include "tradestation.h"
diff --git a/keyboards/flehrad/tradestation/tradestation.h b/keyboards/flehrad/tradestation/tradestation.h
new file mode 100644
index 000000000..60b53b7dd
--- /dev/null
+++ b/keyboards/flehrad/tradestation/tradestation.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_ortho_4x4( \
+    K00, K01, K02, K03, \
+    K10, K11, K12, K13, \
+    K20, K21, K22, K23, \
+    K30, K31, K32, K33  \
+) { \
+    { K00,   K01,   K02,   K03 }, \
+    { K10,   K11,   K12,   K13 }, \
+    { K20,   K21,   K22,   K23 }, \
+    { K30,   K31,   K32,   K33 }  \
+}
+
+#define LAYOUT_tradestation( \
+    K00, K01, K02, K03, \
+    K10, K11, K12, K13, \
+       K20,      K22,   \
+       K30,      K32    \
+) { \
+    { K00,   K01,   K02,   K03   }, \
+    { K10,   K11,   K12,   K13   }, \
+    { K20,   KC_NO, K22,   KC_NO }, \
+    { K30,   KC_NO, K32,   KC_NO }  \
+}
diff --git a/keyboards/handwired/downbubble/config.h b/keyboards/handwired/downbubble/config.h
deleted file mode 100644
index f2628cb70..000000000
--- a/keyboards/handwired/downbubble/config.h
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
-Copyright 2018 Don Chiou
-
-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
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Flehrad
-#define PRODUCT         downbubble
-#define DESCRIPTION     An Ergonomic Centered Numpad Keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 20
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F1, F2, F3, F4, F5, F6 }
-#define MATRIX_COL_PINS { F7, C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D6, D5, D4, D3, D2, D1, D0, B7 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-// #define RGB_DI_PIN E2
-// #ifdef RGB_DI_PIN
-//   #define RGBLED_NUM 16
-//   #define RGBLIGHT_HUE_STEP 8
-//   #define RGBLIGHT_SAT_STEP 8
-//   #define RGBLIGHT_VAL_STEP 8
-//   #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-//   #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== all animations enable ==*/
-//   #define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-//   #define RGBLIGHT_EFFECT_BREATHING
-//   #define RGBLIGHT_EFFECT_RAINBOW_MOOD
-//   #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-//   #define RGBLIGHT_EFFECT_SNAKE
-//   #define RGBLIGHT_EFFECT_KNIGHT
-//   #define RGBLIGHT_EFFECT_CHRISTMAS
-//   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
-//   #define RGBLIGHT_EFFECT_RGB_TEST
-//   #define RGBLIGHT_EFFECT_ALTERNATING
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1          H
-//#define MAGIC_KEY_HELP2          SLASH
-//#define MAGIC_KEY_DEBUG          D
-//#define MAGIC_KEY_DEBUG_MATRIX   X
-//#define MAGIC_KEY_DEBUG_KBD      K
-//#define MAGIC_KEY_DEBUG_MOUSE    M
-//#define MAGIC_KEY_VERSION        V
-//#define MAGIC_KEY_STATUS         S
-//#define MAGIC_KEY_CONSOLE        C
-//#define MAGIC_KEY_LAYER0_ALT1    ESC
-//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
-//#define MAGIC_KEY_LAYER0         0
-//#define MAGIC_KEY_LAYER1         1
-//#define MAGIC_KEY_LAYER2         2
-//#define MAGIC_KEY_LAYER3         3
-//#define MAGIC_KEY_LAYER4         4
-//#define MAGIC_KEY_LAYER5         5
-//#define MAGIC_KEY_LAYER6         6
-//#define MAGIC_KEY_LAYER7         7
-//#define MAGIC_KEY_LAYER8         8
-//#define MAGIC_KEY_LAYER9         9
-//#define MAGIC_KEY_BOOTLOADER     PAUSE
-//#define MAGIC_KEY_LOCK           CAPS
-//#define MAGIC_KEY_EEPROM         E
-//#define MAGIC_KEY_NKRO           N
-//#define MAGIC_KEY_SLEEP_LED      Z
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
-   - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
-   - MIDI notes can be added to the keymap
-   - Octave shift and transpose
-   - Virtual sustain, portamento, and modulation wheel
-   - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/*
- * HD44780 LCD Display Configuration
- */
-/*
-#define LCD_LINES           2     //< number of visible lines of the display
-#define LCD_DISP_LENGTH    16     //< visibles characters per line of the display
-
-#define LCD_IO_MODE      1            //< 0: memory mapped mode, 1: IO port mode
-
-#if LCD_IO_MODE
-#define LCD_PORT         PORTB        //< port for the LCD lines
-#define LCD_DATA0_PORT   LCD_PORT     //< port for 4bit data bit 0
-#define LCD_DATA1_PORT   LCD_PORT     //< port for 4bit data bit 1
-#define LCD_DATA2_PORT   LCD_PORT     //< port for 4bit data bit 2
-#define LCD_DATA3_PORT   LCD_PORT     //< port for 4bit data bit 3
-#define LCD_DATA0_PIN    4            //< pin for 4bit data bit 0
-#define LCD_DATA1_PIN    5            //< pin for 4bit data bit 1
-#define LCD_DATA2_PIN    6            //< pin for 4bit data bit 2
-#define LCD_DATA3_PIN    7            //< pin for 4bit data bit 3
-#define LCD_RS_PORT      LCD_PORT     //< port for RS line
-#define LCD_RS_PIN       3            //< pin  for RS line
-#define LCD_RW_PORT      LCD_PORT     //< port for RW line
-#define LCD_RW_PIN       2            //< pin  for RW line
-#define LCD_E_PORT       LCD_PORT     //< port for Enable line
-#define LCD_E_PIN        1            //< pin  for Enable line
-#endif
-*/
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/downbubble/downbubble.c b/keyboards/handwired/downbubble/downbubble.c
deleted file mode 100644
index 48be8e499..000000000
--- a/keyboards/handwired/downbubble/downbubble.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * 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 "downbubble.h"
diff --git a/keyboards/handwired/downbubble/downbubble.h b/keyboards/handwired/downbubble/downbubble.h
deleted file mode 100644
index 0df39dd9e..000000000
--- a/keyboards/handwired/downbubble/downbubble.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * 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
-
-#include "quantum.h"
-
-/* This a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT_standard( \
-    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
-    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
-    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
-    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
-    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
-    K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518, K519  \
-) \
-{ \
-    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
-    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
-    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
-    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
-    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
-    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
-         }
-
-#define LAYOUT_split_bs( \
-    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
-    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,\
-    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
-    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
-    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
-    K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
-) \
-{ \
-    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
-    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   K117,   K118,   K119  }, \
-    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
-    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
-    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
-    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
-         }
-
-#define LAYOUT_split_rshift( \
-    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
-    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
-    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
-    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
-    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,  K417,  K418,       \
-    K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
-) \
-{ \
-    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
-    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
-    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
-    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
-    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   K417,   K418,   KC_NO }, \
-    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
-         }
-
-#define LAYOUT_split_numpad( \
-    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
-    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
-    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,  K29,         K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
-    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K39,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
-    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,  K49,         K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
-    K50,  K51,  K52,  K53,        K54,              K56,  K57,  K58,  K59,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
-) \
-{ \
-    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
-    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
-    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
-    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    K39,    K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
-    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
-    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  K57,    K58,    K59,    K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
-         }
-
-#define LAYOUT_all( \
-    K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
-    K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,\
-    K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,  K29,         K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
-    K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K39,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
-    K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,  K49,         K410,  K411,  K412,  K413,  K414,         K416,  K417,  K418,       \
-    K50,  K51,  K52,  K53,        K54,              K56,  K57,  K58,  K59,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
-) \
-{ \
-    { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,  K018,   K019  }, \
-    { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   K117,  K118,   K119  }, \
-    { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,  K218,   K219  }, \
-    { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    K39,    K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,  KC_NO,  KC_NO }, \
-    { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   K417,  K418,   KC_NO }, \
-    { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  K57,    K58,    K59,    K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,  K518,   K519  }, \
-         }
diff --git a/keyboards/handwired/downbubble/info.json b/keyboards/handwired/downbubble/info.json
deleted file mode 100644
index c5cd97de5..000000000
--- a/keyboards/handwired/downbubble/info.json
+++ /dev/null
@@ -1,559 +0,0 @@
-{
-  "keyboard_name": "downbubble",
-  "url": "",
-  "maintainer": "flehrad",
-  "width": 22.75,
-  "height": 6,
-  "layouts": {
-    "LAYOUT_standard": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K05", "x":5, "y":0},
-        {"label":"K06", "x":6, "y":0},
-        {"label":"K010", "x":12.75, "y":0},
-        {"label":"K011", "x":13.75, "y":0},
-        {"label":"K012", "x":14.75, "y":0},
-        {"label":"K013", "x":15.75, "y":0},
-        {"label":"K014", "x":16.75, "y":0},
-        {"label":"K015", "x":17.75, "y":0},
-        {"label":"K016", "x":18.75, "y":0},
-        {"label":"K017", "x":19.75, "y":0},
-        {"label":"K018", "x":20.75, "y":0},
-        {"label":"K019", "x":21.75, "y":0},
-        {"label":"K10", "x":0, "y":1},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K14", "x":4, "y":1},
-        {"label":"K15", "x":5, "y":1},
-        {"label":"K16", "x":6, "y":1},
-        {"label":"K17", "x":8.75, "y":1},
-        {"label":"K18", "x":9.75, "y":1},
-        {"label":"K19", "x":10.75, "y":1},
-        {"label":"K110", "x":12.75, "y":1},
-        {"label":"K111", "x":13.75, "y":1},
-        {"label":"K112", "x":14.75, "y":1},
-        {"label":"K113", "x":15.75, "y":1},
-        {"label":"K114", "x":16.75, "y":1},
-        {"label":"K115", "x":17.75, "y":1},
-        {"label":"K116", "x":18.75, "y":1, "w":2},
-        {"label":"K118", "x":20.75, "y":1},
-        {"label":"K119", "x":21.75, "y":1},
-        {"label":"K20", "x":0, "y":2, "w":1.5},
-        {"label":"K21", "x":1.5, "y":2},
-        {"label":"K22", "x":2.5, "y":2},
-        {"label":"K23", "x":3.5, "y":2},
-        {"label":"K24", "x":4.5, "y":2},
-        {"label":"K25", "x":5.5, "y":2},
-        {"label":"K26", "x":7.75, "y":2},
-        {"label":"K17", "x":8.75, "y":2},
-        {"label":"K28", "x":9.75, "y":2},
-        {"label":"K210", "x":12.25, "y":2},
-        {"label":"K211", "x":13.25, "y":2},
-        {"label":"K212", "x":14.25, "y":2},
-        {"label":"K213", "x":15.25, "y":2},
-        {"label":"K214", "x":16.25, "y":2},
-        {"label":"K215", "x":17.25, "y":2},
-        {"label":"K216", "x":18.25, "y":2},
-        {"label":"K217", "x":19.25, "y":2, "w":1.5},
-        {"label":"K218", "x":20.75, "y":2},
-        {"label":"K219", "x":21.75, "y":2},
-        {"label":"K30", "x":0, "y":3, "w":1.75},
-        {"label":"K31", "x":1.75, "y":3},
-        {"label":"K32", "x":2.75, "y":3},
-        {"label":"K33", "x":3.75, "y":3},
-        {"label":"K34", "x":4.75, "y":3},
-        {"label":"K35", "x":5.75, "y":3},
-        {"label":"K36", "x":7.75, "y":3},
-        {"label":"K37", "x":8.75, "y":3},
-        {"label":"K38", "x":9.75, "y":3},
-        {"label":"K29", "x":10.75, "y":2, "h":2},
-        {"label":"K310", "x":12.5, "y":3},
-        {"label":"K311", "x":13.5, "y":3},
-        {"label":"K312", "x":14.5, "y":3},
-        {"label":"K313", "x":15.5, "y":3},
-        {"label":"K314", "x":16.5, "y":3},
-        {"label":"K315", "x":17.5, "y":3},
-        {"label":"K317", "x":18.5, "y":3, "w":2.25},
-        {"label":"K40", "x":0, "y":4, "w":2.25},
-        {"label":"K41", "x":2.25, "y":4},
-        {"label":"K42", "x":3.25, "y":4},
-        {"label":"K43", "x":4.25, "y":4},
-        {"label":"K44", "x":5.25, "y":4},
-        {"label":"K45", "x":6.25, "y":4},
-        {"label":"K46", "x":7.75, "y":4},
-        {"label":"K47", "x":8.75, "y":4},
-        {"label":"K48", "x":9.75, "y":4},
-        {"label":"K410", "x":13, "y":4},
-        {"label":"K411", "x":14, "y":4},
-        {"label":"K412", "x":15, "y":4},
-        {"label":"K413", "x":16, "y":4},
-        {"label":"K414", "x":17, "y":4},
-        {"label":"K416", "x":18, "y":4, "w":2.75},
-        {"label":"K418", "x":20.75, "y":4},
-        {"label":"K50", "x":0, "y":5, "w":1.25},
-        {"label":"K51", "x":1.25, "y":5, "w":1.25},
-        {"label":"K52", "x":2.5, "y":5, "w":1.25},
-        {"label":"K53", "x":3.75, "y":5, "w":1.25},
-        {"label":"K54", "x":5, "y":5, "w":2.25},
-        {"label":"K56", "x":7.75, "y":5, "w":2},
-        {"label":"K58", "x":9.75, "y":5},
-        {"label":"K49", "x":10.75, "y":4, "h":2},
-        {"label":"K510", "x":13, "y":5, "w":2},
-        {"label":"K512", "x":15, "y":5, "w":1.25},
-        {"label":"K513", "x":16.25, "y":5, "w":1.25},
-        {"label":"K514", "x":17.5, "y":5, "w":1.25},
-        {"label":"K516", "x":18.75, "y":5},
-        {"label":"K517", "x":19.75, "y":5},
-        {"label":"K518", "x":20.75, "y":5},
-        {"label":"K519", "x":21.75, "y":5}
-      ]
-    },
-    "LAYOUT_split_bs": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K05", "x":5, "y":0},
-        {"label":"K06", "x":6, "y":0},
-        {"label":"K010", "x":12.75, "y":0},
-        {"label":"K011", "x":13.75, "y":0},
-        {"label":"K012", "x":14.75, "y":0},
-        {"label":"K013", "x":15.75, "y":0},
-        {"label":"K014", "x":16.75, "y":0},
-        {"label":"K015", "x":17.75, "y":0},
-        {"label":"K016", "x":18.75, "y":0},
-        {"label":"K017", "x":19.75, "y":0},
-        {"label":"K018", "x":20.75, "y":0},
-        {"label":"K019", "x":21.75, "y":0},
-        {"label":"K10", "x":0, "y":1},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K14", "x":4, "y":1},
-        {"label":"K15", "x":5, "y":1},
-        {"label":"K16", "x":6, "y":1},
-        {"label":"K17", "x":8.75, "y":1},
-        {"label":"K18", "x":9.75, "y":1},
-        {"label":"K19", "x":10.75, "y":1},
-        {"label":"K110", "x":12.75, "y":1},
-        {"label":"K111", "x":13.75, "y":1},
-        {"label":"K112", "x":14.75, "y":1},
-        {"label":"K113", "x":15.75, "y":1},
-        {"label":"K114", "x":16.75, "y":1},
-        {"label":"K115", "x":17.75, "y":1},
-        {"label":"K116", "x":18.75, "y":1},
-        {"label":"K117", "x":19.75, "y":1},
-        {"label":"K118", "x":20.75, "y":1},
-        {"label":"K119", "x":21.75, "y":1},
-        {"label":"K20", "x":0, "y":2, "w":1.5},
-        {"label":"K21", "x":1.5, "y":2},
-        {"label":"K22", "x":2.5, "y":2},
-        {"label":"K23", "x":3.5, "y":2},
-        {"label":"K24", "x":4.5, "y":2},
-        {"label":"K25", "x":5.5, "y":2},
-        {"label":"K26", "x":7.75, "y":2},
-        {"label":"K17", "x":8.75, "y":2},
-        {"label":"K28", "x":9.75, "y":2},
-        {"label":"K210", "x":12.25, "y":2},
-        {"label":"K211", "x":13.25, "y":2},
-        {"label":"K212", "x":14.25, "y":2},
-        {"label":"K213", "x":15.25, "y":2},
-        {"label":"K214", "x":16.25, "y":2},
-        {"label":"K215", "x":17.25, "y":2},
-        {"label":"K216", "x":18.25, "y":2},
-        {"label":"K217", "x":19.25, "y":2, "w":1.5},
-        {"label":"K218", "x":20.75, "y":2},
-        {"label":"K219", "x":21.75, "y":2},
-        {"label":"K30", "x":0, "y":3, "w":1.75},
-        {"label":"K31", "x":1.75, "y":3},
-        {"label":"K32", "x":2.75, "y":3},
-        {"label":"K33", "x":3.75, "y":3},
-        {"label":"K34", "x":4.75, "y":3},
-        {"label":"K35", "x":5.75, "y":3},
-        {"label":"K36", "x":7.75, "y":3},
-        {"label":"K37", "x":8.75, "y":3},
-        {"label":"K38", "x":9.75, "y":3},
-        {"label":"K29", "x":10.75, "y":2, "h":2},
-        {"label":"K310", "x":12.5, "y":3},
-        {"label":"K311", "x":13.5, "y":3},
-        {"label":"K312", "x":14.5, "y":3},
-        {"label":"K313", "x":15.5, "y":3},
-        {"label":"K314", "x":16.5, "y":3},
-        {"label":"K315", "x":17.5, "y":3},
-        {"label":"K317", "x":18.5, "y":3, "w":2.25},
-        {"label":"K40", "x":0, "y":4, "w":2.25},
-        {"label":"K41", "x":2.25, "y":4},
-        {"label":"K42", "x":3.25, "y":4},
-        {"label":"K43", "x":4.25, "y":4},
-        {"label":"K44", "x":5.25, "y":4},
-        {"label":"K45", "x":6.25, "y":4},
-        {"label":"K46", "x":7.75, "y":4},
-        {"label":"K47", "x":8.75, "y":4},
-        {"label":"K48", "x":9.75, "y":4},
-        {"label":"K410", "x":13, "y":4},
-        {"label":"K411", "x":14, "y":4},
-        {"label":"K412", "x":15, "y":4},
-        {"label":"K413", "x":16, "y":4},
-        {"label":"K414", "x":17, "y":4},
-        {"label":"K416", "x":18, "y":4, "w":2.75},
-        {"label":"K418", "x":20.75, "y":4},
-        {"label":"K50", "x":0, "y":5, "w":1.25},
-        {"label":"K51", "x":1.25, "y":5, "w":1.25},
-        {"label":"K52", "x":2.5, "y":5, "w":1.25},
-        {"label":"K53", "x":3.75, "y":5, "w":1.25},
-        {"label":"K54", "x":5, "y":5, "w":2.25},
-        {"label":"K56", "x":7.75, "y":5, "w":2},
-        {"label":"K58", "x":9.75, "y":5},
-        {"label":"K49", "x":10.75, "y":4, "h":2},
-        {"label":"K510", "x":13, "y":5, "w":2},
-        {"label":"K512", "x":15, "y":5, "w":1.25},
-        {"label":"K513", "x":16.25, "y":5, "w":1.25},
-        {"label":"K514", "x":17.5, "y":5, "w":1.25},
-        {"label":"K516", "x":18.75, "y":5},
-        {"label":"K517", "x":19.75, "y":5},
-        {"label":"K518", "x":20.75, "y":5},
-        {"label":"K519", "x":21.75, "y":5}
-      ]
-    },
-    "LAYOUT_split_rshift": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K05", "x":5, "y":0},
-        {"label":"K06", "x":6, "y":0},
-        {"label":"K010", "x":12.75, "y":0},
-        {"label":"K011", "x":13.75, "y":0},
-        {"label":"K012", "x":14.75, "y":0},
-        {"label":"K013", "x":15.75, "y":0},
-        {"label":"K014", "x":16.75, "y":0},
-        {"label":"K015", "x":17.75, "y":0},
-        {"label":"K016", "x":18.75, "y":0},
-        {"label":"K017", "x":19.75, "y":0},
-        {"label":"K018", "x":20.75, "y":0},
-        {"label":"K019", "x":21.75, "y":0},
-        {"label":"K10", "x":0, "y":1},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K14", "x":4, "y":1},
-        {"label":"K15", "x":5, "y":1},
-        {"label":"K16", "x":6, "y":1},
-        {"label":"K17", "x":8.75, "y":1},
-        {"label":"K18", "x":9.75, "y":1},
-        {"label":"K19", "x":10.75, "y":1},
-        {"label":"K110", "x":12.75, "y":1},
-        {"label":"K111", "x":13.75, "y":1},
-        {"label":"K112", "x":14.75, "y":1},
-        {"label":"K113", "x":15.75, "y":1},
-        {"label":"K114", "x":16.75, "y":1},
-        {"label":"K115", "x":17.75, "y":1},
-        {"label":"K116", "x":18.75, "y":1, "w":2},
-        {"label":"K118", "x":20.75, "y":1},
-        {"label":"K119", "x":21.75, "y":1},
-        {"label":"K20", "x":0, "y":2, "w":1.5},
-        {"label":"K21", "x":1.5, "y":2},
-        {"label":"K22", "x":2.5, "y":2},
-        {"label":"K23", "x":3.5, "y":2},
-        {"label":"K24", "x":4.5, "y":2},
-        {"label":"K25", "x":5.5, "y":2},
-        {"label":"K26", "x":7.75, "y":2},
-        {"label":"K17", "x":8.75, "y":2},
-        {"label":"K28", "x":9.75, "y":2},
-        {"label":"K210", "x":12.25, "y":2},
-        {"label":"K211", "x":13.25, "y":2},
-        {"label":"K212", "x":14.25, "y":2},
-        {"label":"K213", "x":15.25, "y":2},
-        {"label":"K214", "x":16.25, "y":2},
-        {"label":"K215", "x":17.25, "y":2},
-        {"label":"K216", "x":18.25, "y":2},
-        {"label":"K217", "x":19.25, "y":2, "w":1.5},
-        {"label":"K218", "x":20.75, "y":2},
-        {"label":"K219", "x":21.75, "y":2},
-        {"label":"K30", "x":0, "y":3, "w":1.75},
-        {"label":"K31", "x":1.75, "y":3},
-        {"label":"K32", "x":2.75, "y":3},
-        {"label":"K33", "x":3.75, "y":3},
-        {"label":"K34", "x":4.75, "y":3},
-        {"label":"K35", "x":5.75, "y":3},
-        {"label":"K36", "x":7.75, "y":3},
-        {"label":"K37", "x":8.75, "y":3},
-        {"label":"K38", "x":9.75, "y":3},
-        {"label":"K29", "x":10.75, "y":2, "h":2},
-        {"label":"K310", "x":12.5, "y":3},
-        {"label":"K311", "x":13.5, "y":3},
-        {"label":"K312", "x":14.5, "y":3},
-        {"label":"K313", "x":15.5, "y":3},
-        {"label":"K314", "x":16.5, "y":3},
-        {"label":"K315", "x":17.5, "y":3},
-        {"label":"K317", "x":18.5, "y":3, "w":2.25},
-        {"label":"K40", "x":0, "y":4, "w":2.25},
-        {"label":"K41", "x":2.25, "y":4},
-        {"label":"K42", "x":3.25, "y":4},
-        {"label":"K43", "x":4.25, "y":4},
-        {"label":"K44", "x":5.25, "y":4},
-        {"label":"K45", "x":6.25, "y":4},
-        {"label":"K46", "x":7.75, "y":4},
-        {"label":"K47", "x":8.75, "y":4},
-        {"label":"K48", "x":9.75, "y":4},
-        {"label":"K410", "x":13, "y":4},
-        {"label":"K411", "x":14, "y":4},
-        {"label":"K412", "x":15, "y":4},
-        {"label":"K413", "x":16, "y":4},
-        {"label":"K414", "x":17, "y":4},
-        {"label":"K416", "x":18, "y":4, "w":1.75},
-        {"label":"K417", "x":19.75, "y":4},
-        {"label":"K418", "x":20.75, "y":4},
-        {"label":"K50", "x":0, "y":5, "w":1.25},
-        {"label":"K51", "x":1.25, "y":5, "w":1.25},
-        {"label":"K52", "x":2.5, "y":5, "w":1.25},
-        {"label":"K53", "x":3.75, "y":5, "w":1.25},
-        {"label":"K54", "x":5, "y":5, "w":2.25},
-        {"label":"K56", "x":7.75, "y":5, "w":2},
-        {"label":"K58", "x":9.75, "y":5},
-        {"label":"K49", "x":10.75, "y":4, "h":2},
-        {"label":"K510", "x":13, "y":5, "w":2},
-        {"label":"K512", "x":15, "y":5, "w":1.25},
-        {"label":"K513", "x":16.25, "y":5, "w":1.25},
-        {"label":"K514", "x":17.5, "y":5, "w":1.25},
-        {"label":"K516", "x":18.75, "y":5},
-        {"label":"K517", "x":19.75, "y":5},
-        {"label":"K518", "x":20.75, "y":5},
-        {"label":"K519", "x":21.75, "y":5}
-      ]
-    },
-    "LAYOUT_split_numpad": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K05", "x":5, "y":0},
-        {"label":"K06", "x":6, "y":0},
-        {"label":"K010", "x":12.75, "y":0},
-        {"label":"K011", "x":13.75, "y":0},
-        {"label":"K012", "x":14.75, "y":0},
-        {"label":"K013", "x":15.75, "y":0},
-        {"label":"K014", "x":16.75, "y":0},
-        {"label":"K015", "x":17.75, "y":0},
-        {"label":"K016", "x":18.75, "y":0},
-        {"label":"K017", "x":19.75, "y":0},
-        {"label":"K018", "x":20.75, "y":0},
-        {"label":"K019", "x":21.75, "y":0},
-        {"label":"K10", "x":0, "y":1},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K14", "x":4, "y":1},
-        {"label":"K15", "x":5, "y":1},
-        {"label":"K16", "x":6, "y":1},
-        {"label":"K17", "x":8.75, "y":1},
-        {"label":"K18", "x":9.75, "y":1},
-        {"label":"K19", "x":10.75, "y":1},
-        {"label":"K110", "x":12.75, "y":1},
-        {"label":"K111", "x":13.75, "y":1},
-        {"label":"K112", "x":14.75, "y":1},
-        {"label":"K113", "x":15.75, "y":1},
-        {"label":"K114", "x":16.75, "y":1},
-        {"label":"K115", "x":17.75, "y":1},
-        {"label":"K116", "x":18.75, "y":1, "w":2},
-        {"label":"K118", "x":20.75, "y":1},
-        {"label":"K119", "x":21.75, "y":1},
-        {"label":"K20", "x":0, "y":2, "w":1.5},
-        {"label":"K21", "x":1.5, "y":2},
-        {"label":"K22", "x":2.5, "y":2},
-        {"label":"K23", "x":3.5, "y":2},
-        {"label":"K24", "x":4.5, "y":2},
-        {"label":"K25", "x":5.5, "y":2},
-        {"label":"K26", "x":7.75, "y":2},
-        {"label":"K17", "x":8.75, "y":2},
-        {"label":"K28", "x":9.75, "y":2},
-        {"label":"K29", "x":10.75, "y":2},
-        {"label":"K210", "x":12.25, "y":2},
-        {"label":"K211", "x":13.25, "y":2},
-        {"label":"K212", "x":14.25, "y":2},
-        {"label":"K213", "x":15.25, "y":2},
-        {"label":"K214", "x":16.25, "y":2},
-        {"label":"K215", "x":17.25, "y":2},
-        {"label":"K216", "x":18.25, "y":2},
-        {"label":"K217", "x":19.25, "y":2, "w":1.5},
-        {"label":"K218", "x":20.75, "y":2},
-        {"label":"K219", "x":21.75, "y":2},
-        {"label":"K30", "x":0, "y":3, "w":1.75},
-        {"label":"K31", "x":1.75, "y":3},
-        {"label":"K32", "x":2.75, "y":3},
-        {"label":"K33", "x":3.75, "y":3},
-        {"label":"K34", "x":4.75, "y":3},
-        {"label":"K35", "x":5.75, "y":3},
-        {"label":"K36", "x":7.75, "y":3},
-        {"label":"K37", "x":8.75, "y":3},
-        {"label":"K38", "x":9.75, "y":3},
-        {"label":"K39", "x":10.75, "y":3},
-        {"label":"K310", "x":12.5, "y":3},
-        {"label":"K311", "x":13.5, "y":3},
-        {"label":"K312", "x":14.5, "y":3},
-        {"label":"K313", "x":15.5, "y":3},
-        {"label":"K314", "x":16.5, "y":3},
-        {"label":"K315", "x":17.5, "y":3},
-        {"label":"K317", "x":18.5, "y":3, "w":2.25},
-        {"label":"K40", "x":0, "y":4, "w":2.25},
-        {"label":"K41", "x":2.25, "y":4},
-        {"label":"K42", "x":3.25, "y":4},
-        {"label":"K43", "x":4.25, "y":4},
-        {"label":"K44", "x":5.25, "y":4},
-        {"label":"K45", "x":6.25, "y":4},
-        {"label":"K46", "x":7.75, "y":4},
-        {"label":"K47", "x":8.75, "y":4},
-        {"label":"K48", "x":9.75, "y":4},
-        {"label":"K49", "x":10.75, "y":4},
-        {"label":"K410", "x":13, "y":4},
-        {"label":"K411", "x":14, "y":4},
-        {"label":"K412", "x":15, "y":4},
-        {"label":"K413", "x":16, "y":4},
-        {"label":"K414", "x":17, "y":4},
-        {"label":"K416", "x":18, "y":4, "w":2.75},
-        {"label":"K418", "x":20.75, "y":4},
-        {"label":"K50", "x":0, "y":5, "w":1.25},
-        {"label":"K51", "x":1.25, "y":5, "w":1.25},
-        {"label":"K52", "x":2.5, "y":5, "w":1.25},
-        {"label":"K53", "x":3.75, "y":5, "w":1.25},
-        {"label":"K54", "x":5, "y":5, "w":2.25},
-        {"label":"K56", "x":7.75, "y":5},
-        {"Label":"K57", "x":8.75, "y":5},
-        {"label":"K58", "x":9.75, "y":5},
-        {"label":"K59", "x":10.75, "y":5},
-        {"label":"K510", "x":13, "y":5, "w":2},
-        {"label":"K512", "x":15, "y":5, "w":1.25},
-        {"label":"K513", "x":16.25, "y":5, "w":1.25},
-        {"label":"K514", "x":17.5, "y":5, "w":1.25},
-        {"label":"K516", "x":18.75, "y":5},
-        {"label":"K517", "x":19.75, "y":5},
-        {"label":"K518", "x":20.75, "y":5},
-        {"label":"K519", "x":21.75, "y":5}
-      ]
-    },
-    "LAYOUT_all": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K05", "x":5, "y":0},
-        {"label":"K06", "x":6, "y":0},
-        {"label":"K010", "x":12.75, "y":0},
-        {"label":"K011", "x":13.75, "y":0},
-        {"label":"K012", "x":14.75, "y":0},
-        {"label":"K013", "x":15.75, "y":0},
-        {"label":"K014", "x":16.75, "y":0},
-        {"label":"K015", "x":17.75, "y":0},
-        {"label":"K016", "x":18.75, "y":0},
-        {"label":"K017", "x":19.75, "y":0},
-        {"label":"K018", "x":20.75, "y":0},
-        {"label":"K019", "x":21.75, "y":0},
-        {"label":"K10", "x":0, "y":1},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K14", "x":4, "y":1},
-        {"label":"K15", "x":5, "y":1},
-        {"label":"K16", "x":6, "y":1},
-        {"label":"K17", "x":8.75, "y":1},
-        {"label":"K18", "x":9.75, "y":1},
-        {"label":"K19", "x":10.75, "y":1},
-        {"label":"K110", "x":12.75, "y":1},
-        {"label":"K111", "x":13.75, "y":1},
-        {"label":"K112", "x":14.75, "y":1},
-        {"label":"K113", "x":15.75, "y":1},
-        {"label":"K114", "x":16.75, "y":1},
-        {"label":"K115", "x":17.75, "y":1},
-        {"label":"K116", "x":18.75, "y":1},
-        {"label":"K117", "x":19.75, "y":1},
-        {"label":"K118", "x":20.75, "y":1},
-        {"label":"K119", "x":21.75, "y":1},
-        {"label":"K20", "x":0, "y":2, "w":1.5},
-        {"label":"K21", "x":1.5, "y":2},
-        {"label":"K22", "x":2.5, "y":2},
-        {"label":"K23", "x":3.5, "y":2},
-        {"label":"K24", "x":4.5, "y":2},
-        {"label":"K25", "x":5.5, "y":2},
-        {"label":"K26", "x":7.75, "y":2},
-        {"label":"K27", "x":8.75, "y":2},
-        {"label":"K28", "x":9.75, "y":2},
-        {"label":"K29", "x":10.75, "y":2},
-        {"label":"K210", "x":12.25, "y":2},
-        {"label":"K211", "x":13.25, "y":2},
-        {"label":"K212", "x":14.25, "y":2},
-        {"label":"K213", "x":15.25, "y":2},
-        {"label":"K214", "x":16.25, "y":2},
-        {"label":"K215", "x":17.25, "y":2},
-        {"label":"K216", "x":18.25, "y":2},
-        {"label":"K217", "x":19.25, "y":2, "w":1.5},
-        {"label":"K218", "x":20.75, "y":2},
-        {"label":"K219", "x":21.75, "y":2},
-        {"label":"K30", "x":0, "y":3, "w":1.75},
-        {"label":"K31", "x":1.75, "y":3},
-        {"label":"K32", "x":2.75, "y":3},
-        {"label":"K33", "x":3.75, "y":3},
-        {"label":"K34", "x":4.75, "y":3},
-        {"label":"K35", "x":5.75, "y":3},
-        {"label":"K36", "x":7.75, "y":3},
-        {"label":"K37", "x":8.75, "y":3},
-        {"label":"K38", "x":9.75, "y":3},
-        {"label":"K39", "x":10.75, "y":3},
-        {"label":"K310", "x":12.5, "y":3},
-        {"label":"K311", "x":13.5, "y":3},
-        {"label":"K312", "x":14.5, "y":3},
-        {"label":"K313", "x":15.5, "y":3},
-        {"label":"K314", "x":16.5, "y":3},
-        {"label":"K315", "x":17.5, "y":3},
-        {"label":"K317", "x":18.5, "y":3, "w":2.25},
-        {"label":"K40", "x":0, "y":4, "w":2.25},
-        {"label":"K41", "x":2.25, "y":4},
-        {"label":"K42", "x":3.25, "y":4},
-        {"label":"K43", "x":4.25, "y":4},
-        {"label":"K44", "x":5.25, "y":4},
-        {"label":"K45", "x":6.25, "y":4},
-        {"label":"K46", "x":7.75, "y":4},
-        {"label":"K47", "x":8.75, "y":4},
-        {"label":"K48", "x":9.75, "y":4},
-        {"label":"K49", "x":10.75, "y":4},
-        {"label":"K410", "x":13, "y":4},
-        {"label":"K411", "x":14, "y":4},
-        {"label":"K412", "x":15, "y":4},
-        {"label":"K413", "x":16, "y":4},
-        {"label":"K414", "x":17, "y":4},
-        {"label":"K416", "x":18, "y":4, "w":1.75},
-        {"label":"K417", "x":19.75, "y":4},
-        {"label":"K418", "x":20.75, "y":4},
-        {"label":"K50", "x":0, "y":5, "w":1.25},
-        {"label":"K51", "x":1.25, "y":5, "w":1.25},
-        {"label":"K52", "x":2.5, "y":5, "w":1.25},
-        {"label":"K53", "x":3.75, "y":5, "w":1.25},
-        {"label":"K54", "x":5, "y":5, "w":2.25},
-        {"label":"K56", "x":7.75, "y":5},
-        {"label":"K57", "x":8.75, "y":5},
-        {"label":"K58", "x":9.75, "y":5},
-        {"label":"K59", "x":10.75, "y":5},
-        {"label":"K510", "x":13, "y":5, "w":2},
-        {"label":"K512", "x":15, "y":5, "w":1.25},
-        {"label":"K513", "x":16.25, "y":5, "w":1.25},
-        {"label":"K514", "x":17.5, "y":5, "w":1.25},
-        {"label":"K516", "x":18.75, "y":5},
-        {"label":"K517", "x":19.75, "y":5},
-        {"label":"K518", "x":20.75, "y":5},
-        {"label":"K519", "x":21.75, "y":5}
-      ]
-    }
-  }
-}
diff --git a/keyboards/handwired/downbubble/keymaps/default/config.h b/keyboards/handwired/downbubble/keymaps/default/config.h
deleted file mode 100644
index 4496c5910..000000000
--- a/keyboards/handwired/downbubble/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * 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
-
-// place overrides here
diff --git a/keyboards/handwired/downbubble/keymaps/default/keymap.c b/keyboards/handwired/downbubble/keymaps/default/keymap.c
deleted file mode 100644
index 48303900f..000000000
--- a/keyboards/handwired/downbubble/keymaps/default/keymap.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * 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
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
-  QMKBEST = SAFE_RANGE,
-  QMKURL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  [0] = LAYOUT_standard(\
-    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_END,  KC_PGUP,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,                    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_PPLS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
-    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,                    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,          KC_UP,
-    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,            KC_PDOT, KC_PENT,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
-  ),
-
-  LAYOUT_split_bs(\
-    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_TRNS, KC_END,  KC_PGUP,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,                    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_PPLS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
-    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,                    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,          KC_UP,
-    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,            KC_PDOT, KC_PENT,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
-  ),
-
-  LAYOUT_split_rshift(\
-    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_END,  KC_PGUP,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,                    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_PPLS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
-    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,                    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, KC_TRNS,  KC_UP,
-    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,            KC_PDOT, KC_PENT,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
-  ),
-
-  LAYOUT_split_numpad(\
-    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,           KC_BSPC, KC_END,  KC_PGUP,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,   KC_PPLS,         KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_TRNS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
-    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,   KC_PENT,         KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,          KC_UP,
-    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,   KC_TRNS, KC_PDOT, KC_TRNS,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
-  ),
-
-  LAYOUT_all(\
-    KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                                                   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,                 KC_PSLS, KC_PAST, KC_PMNS,         KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_TRNS, KC_END,  KC_PGUP,
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                 KC_P7,   KC_P8,   KC_P9,   KC_PPLS,         KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_PGDN,
-    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                 KC_P4,   KC_P5,   KC_P6,   KC_TRNS,         KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
-    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,        KC_P1,   KC_P2,   KC_P3,   KC_PENT,         KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, KC_TRNS, KC_UP,
-    KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC,          KC_SPC,               KC_P0,   KC_TRNS, KC_PDOT, KC_TRNS,         KC_BSPC,          KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
-  ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QMKBEST:
-      if (record->event.pressed) {
-        // when keycode QMKBEST is pressed
-        SEND_STRING("QMK is the best thing ever!");
-      } else {
-        // when keycode QMKBEST is released
-      }
-      break;
-    case QMKURL:
-      if (record->event.pressed) {
-        // when keycode QMKURL is pressed
-        SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
-      } else {
-        // when keycode QMKURL is released
-      }
-      break;
-  }
-  return true;
-}
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/downbubble/keymaps/default/readme.md b/keyboards/handwired/downbubble/keymaps/default/readme.md
deleted file mode 100644
index 757d99062..000000000
--- a/keyboards/handwired/downbubble/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymaps for downbubble
diff --git a/keyboards/handwired/downbubble/license b/keyboards/handwired/downbubble/license
deleted file mode 100644
index e6e77b089..000000000
--- a/keyboards/handwired/downbubble/license
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/keyboards/handwired/downbubble/readme.md b/keyboards/handwired/downbubble/readme.md
deleted file mode 100644
index e66234512..000000000
--- a/keyboards/handwired/downbubble/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# downbubble
-
-Prototype hand-wired version of this keyboard - https://imgur.com/a/0KbX1JH
-
-This is an ergonomic keyboard with a 5 degree rotation on keyboard halves, and a rotated numpad in the center for RH users.
-
-Keyboard Maintainer: [Flehrad](https://github.com/flehrad)  
-Hardware Supported: downbubble PCB, AT90USB1286 MCU, MX switches and MiniUSB connector  
-Hardware Availability: The Board Podcast Slack
-
-Make example for this keyboard (after setting up your build environment):
-
-    make downbubble:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/downbubble/rules.mk b/keyboards/handwired/downbubble/rules.mk
deleted file mode 100644
index 189b82720..000000000
--- a/keyboards/handwired/downbubble/rules.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-# MCU name
-MCU = at90usb1286
-
-# Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
-BOOTLOADER = atmel-dfu
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
-CONSOLE_ENABLE = yes        # Console for debug(+400)
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no            # USB Nkey Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality on B7 by default
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no           # Audio output on port C6
-FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/handwired/numbrero/config.h b/keyboards/handwired/numbrero/config.h
deleted file mode 100644
index ac38e0814..000000000
--- a/keyboards/handwired/numbrero/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Flehrad
-#define PRODUCT         Numbrero
-#define DESCRIPTION     Pro Micro-powered Reversible L/H Numpad with Extra Macro Keys
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 5
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F6, B5, B4, E6, F7 }
-#define MATRIX_COL_PINS { D1, D0, D4, F5, F4 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 3
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/handwired/numbrero/info.json b/keyboards/handwired/numbrero/info.json
deleted file mode 100644
index d2f7ebd03..000000000
--- a/keyboards/handwired/numbrero/info.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "keyboard_name": "Numbrero",
-  "url": "",
-  "maintainer": "Flehrad",
-  "width": 5,
-  "height": 5,
-  "layouts": {
-    "LAYOUT_numbrero_numpad": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K10", "x":0, "y":1, "h":1.5},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K20", "x":0, "y":2.5},
-        {"label":"K21", "x":1, "y":2},
-        {"label":"K22", "x":2, "y":2},
-        {"label":"K23", "x":3, "y":2},
-        {"label":"K14", "x":4, "y":1, "h":2},
-        {"label":"K30", "x":0, "y":3.5, "h":1.5},
-        {"label":"K31", "x":1, "y":3},
-        {"label":"K32", "x":2, "y":3},
-        {"label":"K33", "x":3, "y":3},
-        {"label":"K41", "x":1, "y":4, "w":2},
-        {"label":"K43", "x":3, "y":4},
-        {"label":"K34", "x":4, "y":3, "h":2}
-      ]
-    },
-    "LAYOUT_numbrero_ortho": {
-      "layout": [
-        {"label":"K00", "x":0, "y":0},
-        {"label":"K01", "x":1, "y":0},
-        {"label":"K02", "x":2, "y":0},
-        {"label":"K03", "x":3, "y":0},
-        {"label":"K04", "x":4, "y":0},
-        {"label":"K10", "x":0, "y":1, "h":1.5},
-        {"label":"K11", "x":1, "y":1},
-        {"label":"K12", "x":2, "y":1},
-        {"label":"K13", "x":3, "y":1},
-        {"label":"K14", "x":4, "y":1},
-        {"label":"K20", "x":0, "y":2.5},
-        {"label":"K21", "x":1, "y":2},
-        {"label":"K22", "x":2, "y":2},
-        {"label":"K23", "x":3, "y":2},
-        {"label":"K24", "x":4, "y":2},
-        {"label":"K30", "x":0, "y":3.5, "h":1.5},
-        {"label":"K31", "x":1, "y":3},
-        {"label":"K32", "x":2, "y":3},
-        {"label":"K33", "x":3, "y":3},
-        {"label":"K34", "x":4, "y":3},
-        {"label":"K41", "x":1, "y":4},
-        {"label":"K42", "x":2, "y":4},
-        {"label":"K43", "x":3, "y":4},
-        {"label":"K44", "x":4, "y":4}
-      ]
-    }
-  }
-}
diff --git a/keyboards/handwired/numbrero/keymaps/default/keymap.c b/keyboards/handwired/numbrero/keymaps/default/keymap.c
deleted file mode 100644
index 903ed8d88..000000000
--- a/keyboards/handwired/numbrero/keymaps/default/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-	LAYOUT_numbrero_numpad(
-		KC_TRNS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-		KC_TRNS, KC_P7,   KC_P8,   KC_P9,
-		KC_TRNS, KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
-		KC_TRNS, KC_P1,   KC_P2,   KC_P3,
-		         KC_P0,            KC_PDOT, KC_PENT),
-
-	LAYOUT_numbrero_ortho(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-
-};
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-	return true;
-}
diff --git a/keyboards/handwired/numbrero/license b/keyboards/handwired/numbrero/license
deleted file mode 100644
index b09cd7856..000000000
--- a/keyboards/handwired/numbrero/license
+++ /dev/null
@@ -1,201 +0,0 @@
-Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/keyboards/handwired/numbrero/numbrero.c b/keyboards/handwired/numbrero/numbrero.c
deleted file mode 100644
index d3ec36904..000000000
--- a/keyboards/handwired/numbrero/numbrero.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "numbrero.h"
diff --git a/keyboards/handwired/numbrero/numbrero.h b/keyboards/handwired/numbrero/numbrero.h
deleted file mode 100644
index c72e65407..000000000
--- a/keyboards/handwired/numbrero/numbrero.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT_numbrero_numpad( \
-  K00, K01, K02, K03, K04, \
-  K10, K11, K12, K13,      \
-  K20, K21, K22, K23, K14, \
-  K30, K31, K32, K33,      \
-       K41,      K43, K34  \
-) { \
-  { K00,   K01,   K02,   K03,   K04   }, \
-  { K10,   K11,   K12,   K13,   K14   }, \
-  { K20,   K21,   K22,   K23,   KC_NO }, \
-  { K30,   K31,   K32,   K33,   K34   }, \
-  { KC_NO, K41,   KC_NO, K43,   KC_NO }  \
-}
-#define LAYOUT_numbrero_ortho(\
-  K00, K01, K02, K03, K04, \
-  K10, K11, K12, K13, K14, \
-  K20, K21, K22, K23, K24, \
-  K30, K31, K32, K33, K34, \
-       K41, K42, K43, K44  \
-){ \
-  { K00,   K01,   K02,   K03,   K04 }, \
-  { K10,   K11,   K12,   K13,   K14 }, \
-  { K20,   K21,   K22,   K23,   K24 }, \
-  { K30,   K31,   K32,   K33,   K34 }, \
-  { KC_NO, K41,   K42,   K43,   K44 }  \
-}
diff --git a/keyboards/handwired/numbrero/readme.md b/keyboards/handwired/numbrero/readme.md
deleted file mode 100644
index 931c60127..000000000
--- a/keyboards/handwired/numbrero/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Numbrero
-
-A reversible numpad (left/right-handed) with extra macro keys.
-
-Keyboard Maintainer: [Flehrad](https://github.com/flehrad)  
-Hardware Supported: Numbrero PCB, Pro Micro  
-Hardware Availability: The Board Podcast Slack
-
-Make example for this keyboard (after setting up your build environment):
-
-    make handwired/numbrero:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/numbrero/rules.mk b/keyboards/handwired/numbrero/rules.mk
deleted file mode 100644
index 969dd0b50..000000000
--- a/keyboards/handwired/numbrero/rules.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
-BOOTLOADER = caterina
-
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = no	# Console for debug(+400)
-COMMAND_ENABLE = no    # Commands for debug and configuration
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/tradestation/config.h b/keyboards/handwired/tradestation/config.h
deleted file mode 100644
index 33c87548f..000000000
--- a/keyboards/handwired/tradestation/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Flehrad
-#define PRODUCT         Trade Station
- #define DESCRIPTION     A Pro Micro-powered macropad layout by Didier Luximon. 1/8U gap space top two rows and 1/4U gap between 2U bottom two rows.
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D1, C6, D4, D0 }
-#define MATRIX_COL_PINS { F7, B1, D7, E6 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 3
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
- #define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/handwired/tradestation/info.json b/keyboards/handwired/tradestation/info.json
deleted file mode 100644
index 233eb6282..000000000
--- a/keyboards/handwired/tradestation/info.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    "keyboard_name": "Tradestation",
-    "url": "",
-    "maintainer": "Flehrad",
-    "width": 4.375,
-    "height": 4.5,
-    "layouts": {
-        "LAYOUT_tradestation": {
-            "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25, "w":2},{"x":2.25, "y":2.25, "w":2},{"x":0, "y":3.5, "w":2},{"x":2.25, "y":3.5, "w":2}]
-        },
-        "LAYOUT_ortho_4x4": {
-            "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25},{"x":1.125, "y":2.25},{"x":2.25, "y":2.25},{"x":3.375, "y":2.25},{"x":0, "y":3.5},{"x":1.125, "y":3.5},{"x":2.25, "y":3.5},{"x":3.375, "y":3.5}]
-        }
-    }
-}
diff --git a/keyboards/handwired/tradestation/keymaps/default/keymap.c b/keyboards/handwired/tradestation/keymaps/default/keymap.c
deleted file mode 100644
index 3497dcb94..000000000
--- a/keyboards/handwired/tradestation/keymaps/default/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-	LAYOUT_ortho_4x4(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- 	LAYOUT_tradestation(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-		KC_TRNS, 		  KC_TRNS, 
-		KC_TRNS, 		  KC_TRNS),
-};
-
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-	return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_COMPOSE)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_KANA)) {
-		
-	} else {
-		
-	}
-
-}
diff --git a/keyboards/handwired/tradestation/license b/keyboards/handwired/tradestation/license
deleted file mode 100644
index 261eeb9e9..000000000
--- a/keyboards/handwired/tradestation/license
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/keyboards/handwired/tradestation/readme.md b/keyboards/handwired/tradestation/readme.md
deleted file mode 100644
index 3a8c39e26..000000000
--- a/keyboards/handwired/tradestation/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Tradestation
-
-[Image Gallery](https://imgur.com/a/yxQJXMT)
-
-A 4x4 ortholinear macropad, with options for 2U keys on the bottom half. Can be built as single PCB with custom case, or as two-PCB style with standoffs. Requires a Pro Micro.
-
-This PCB supports an overall 4x4 matrix with unique spacing.
-
-* Top two rows are 1U keys with 1/8U spacing
-* Bottom two rows are available with 4x2 1U as clusters of 2x1U or as 2x2 2U, spaced with 1/4U
-
-If you like this simple PCB and want to make a donation, you can do so at [paypal.me/theboardpodcast](https://paypal.me/theboardpodcast).
-
-- [The Board Podcast on YouTube](https://www.youtube.com/channel/UCg98oJZNffR9nDLJNkorjqw)
-- [The Board Podcast on Libsyn](http://theboard.libsyn.com/)
-- [The Board Podcast on Patreon](https://www.patreon.com/theboardpodcast)
-
-Designed by Didier Luximon.
-
-Keyboard Maintainer: [flehrad](https://github.com/flehrad)  
-Hardware Supported: Tradestation PCB, Pro Micro  
-
-Make example for this keyboard (after setting up your build environment):
-
-    make tradestation:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/tradestation/rules.mk b/keyboards/handwired/tradestation/rules.mk
deleted file mode 100644
index d3612c3c2..000000000
--- a/keyboards/handwired/tradestation/rules.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
-BOOTLOADER = caterina
-
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = no	# Console for debug(+400)
-COMMAND_ENABLE = no    # Commands for debug and configuration
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
-
-LAYOUTS = ortho_4x4
diff --git a/keyboards/handwired/tradestation/tradestation.c b/keyboards/handwired/tradestation/tradestation.c
deleted file mode 100644
index a3285a2cc..000000000
--- a/keyboards/handwired/tradestation/tradestation.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "tradestation.h"
diff --git a/keyboards/handwired/tradestation/tradestation.h b/keyboards/handwired/tradestation/tradestation.h
deleted file mode 100644
index 60b53b7dd..000000000
--- a/keyboards/handwired/tradestation/tradestation.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT_ortho_4x4( \
-    K00, K01, K02, K03, \
-    K10, K11, K12, K13, \
-    K20, K21, K22, K23, \
-    K30, K31, K32, K33  \
-) { \
-    { K00,   K01,   K02,   K03 }, \
-    { K10,   K11,   K12,   K13 }, \
-    { K20,   K21,   K22,   K23 }, \
-    { K30,   K31,   K32,   K33 }  \
-}
-
-#define LAYOUT_tradestation( \
-    K00, K01, K02, K03, \
-    K10, K11, K12, K13, \
-       K20,      K22,   \
-       K30,      K32    \
-) { \
-    { K00,   K01,   K02,   K03   }, \
-    { K10,   K11,   K12,   K13   }, \
-    { K20,   KC_NO, K22,   KC_NO }, \
-    { K30,   KC_NO, K32,   KC_NO }  \
-}
diff --git a/keyboards/snagpad/config.h b/keyboards/snagpad/config.h
deleted file mode 100644
index 339bdd1be..000000000
--- a/keyboards/snagpad/config.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4443 // "DC" = Don Chiou
-#define PRODUCT_ID      0x5350 // "SP" = Snagpad
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Flehrad
-#define PRODUCT         Snagpad
-#define DESCRIPTION     A Pro Micro-Powered 5x4 macropad/numpad
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 3
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* prevent stuck modifiers */
-//#define STRICT_LAYER_RELEASE
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 0
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/snagpad/info.json b/keyboards/snagpad/info.json
deleted file mode 100644
index 6e3ab601a..000000000
--- a/keyboards/snagpad/info.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-    "keyboard_name": "Snagpad",
-    "url": "",
-    "maintainer": "Flehrad",
-
-    "width": 4,
-    "height": 5,
-    "layouts": {
-
-        "LAYOUT_ortho_5x4": {
-            "layout": [
-                {"label":"Num Lock", "x":0, "y":0},
-                {"label":"/", "x":1, "y":0},
-                {"label":"*", "x":2, "y":0},
-                {"label":"-", "x":3, "y":0},
-                {"label":"7", "x":0, "y":1},
-                {"label":"8", "x":1, "y":1},
-                {"label":"9", "x":2, "y":1},
-                {"label":"+", "x":3, "y":1},
-                {"label":"4", "x":0, "y":2},
-                {"label":"5", "x":1, "y":2},
-                {"label":"6", "x":2, "y":2},
-                {"label":"+", "x":3, "y":2},
-                {"label":"1", "x":0, "y":3},
-                {"label":"2", "x":1, "y":3},
-                {"label":"3", "x":2, "y":3},
-                {"label":"Enter", "x":3, "y":3},
-                {"label":"0", "x":0, "y":4},
-                {"label":"0", "x":1, "y":4},
-                {"label":".", "x":2, "y":4},
-                {"label":"Enter", "x":3, "y":4}
-            ]
-        },
-        "LAYOUT_numpad_5x4": {
-            "layout": [
-                {"label":"Num Lock", "x":0, "y":0},
-                {"label":"/", "x":1, "y":0},
-                {"label":"*", "x":2, "y":0},
-                {"label":"-", "x":3, "y":0},
-                {"label":"7", "x":0, "y":1},
-                {"label":"8", "x":1, "y":1},
-                {"label":"9", "x":2, "y":1},
-                {"label":"4", "x":0, "y":2},
-                {"label":"5", "x":1, "y":2},
-                {"label":"6", "x":2, "y":2},
-                {"label":"+", "x":3, "y":1, "h":2},
-                {"label":"1", "x":0, "y":3},
-                {"label":"2", "x":1, "y":3},
-                {"label":"3", "x":2, "y":3},
-                {"label":"0", "x":0, "y":4, "w":2},
-                {"label":".", "x":2, "y":4},
-                {"label":"Enter", "x":3, "y":3, "h":2}
-            ]
-        }
-    }
-}
diff --git a/keyboards/snagpad/keymaps/default/keymap.c b/keyboards/snagpad/keymaps/default/keymap.c
deleted file mode 100644
index 7645b435c..000000000
--- a/keyboards/snagpad/keymaps/default/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-	LAYOUT_ortho_5x4(
-		KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
-		KC_P7, KC_P8, KC_P9, KC_PPLS, 
-		KC_P4, KC_P5, KC_P6, KC_PPLS, 
-		KC_P1, KC_P2, KC_P3, KC_PENT, 
-		KC_P0, KC_P0, KC_PDOT, KC_PENT),
-
-  LAYOUT_numpad_5x4(
-		KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
-		KC_P7, KC_P8, KC_P9,  
- 		KC_P4, KC_P5, KC_P6, KC_PPLS,
-		KC_P1, KC_P2, KC_P3,  
- 		KC_P0,        KC_PDOT, KC_PENT),
-};
-
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-	return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_COMPOSE)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_KANA)) {
-		
-	} else {
-		
-	}
-
-}
diff --git a/keyboards/snagpad/keymaps/via/keymap.c b/keyboards/snagpad/keymaps/via/keymap.c
deleted file mode 100644
index 7fa226de7..000000000
--- a/keyboards/snagpad/keymaps/via/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-	LAYOUT_ortho_5x4(
-		KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-		KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
-		KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
-		KC_P1,   KC_P2,   KC_P3,   KC_PENT,
-		KC_P0,   KC_P0,   KC_PDOT, KC_PENT),
-
-	LAYOUT_ortho_5x4(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-	LAYOUT_ortho_5x4(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-	LAYOUT_ortho_5x4(
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-	return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_COMPOSE)) {
-		
-	} else {
-		
-	}
-
-	if (usb_led & (1 << USB_LED_KANA)) {
-		
-	} else {
-		
-	}
-
-}
diff --git a/keyboards/snagpad/keymaps/via/rules.mk b/keyboards/snagpad/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807..000000000
--- a/keyboards/snagpad/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/snagpad/license b/keyboards/snagpad/license
deleted file mode 100644
index 261eeb9e9..000000000
--- a/keyboards/snagpad/license
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/keyboards/snagpad/readme.md b/keyboards/snagpad/readme.md
deleted file mode 100644
index b59bd7588..000000000
--- a/keyboards/snagpad/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Snagpad
-
-A five-row PCB that can be built as a standard numpad or an ortholinear 5x4 macropad. Can be built as single PCB with custom case, or as two PCB style with standoffs. Requires a Pro Micro.
-
-Keyboard Maintainer: [Flehrad](https://github.com/flehrad)  
-Hardware Supported: Snagpad PCB, Pro Micro  
-Hardware Availability: [GitHub](https://github.com/flehrad/Snagpad)
-
-Make example for this keyboard (after setting up your build environment):
-
-    make snagpad:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-If you like this simple PCB and want to make a donation, you can do so at https://paypal.me/theboardpodcast.
-
-Check out our:
-
-- [YouTube](https://www.youtube.com/channel/UCg98oJZNffR9nDLJNkorjqw)
-- [Podcast](https://podcasts.apple.com/au/podcast/theboard-mechanical-keyboard/id1147089749?mt=2)
-- [Patreon](https://www.patreon.com/theboardpodcast)
diff --git a/keyboards/snagpad/rules.mk b/keyboards/snagpad/rules.mk
deleted file mode 100644
index 566a398fe..000000000
--- a/keyboards/snagpad/rules.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
-BOOTLOADER = caterina
-
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes	# Mouse keys
-EXTRAKEY_ENABLE = yes	# Audio control and System control
-CONSOLE_ENABLE = no	# Console for debug
-COMMAND_ENABLE = no    # Commands for debug and configuration
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
-LAYOUTS = ortho_5x4 numpad_5x4
diff --git a/keyboards/snagpad/snagpad.c b/keyboards/snagpad/snagpad.c
deleted file mode 100644
index ce7e50b38..000000000
--- a/keyboards/snagpad/snagpad.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "snagpad.h"
diff --git a/keyboards/snagpad/snagpad.h b/keyboards/snagpad/snagpad.h
deleted file mode 100644
index f1e5e34e6..000000000
--- a/keyboards/snagpad/snagpad.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT_ortho_5x4( \
-    K00, K01, K02, K03, \
-    K10, K11, K12, K13, \
-    K20, K21, K22, K23, \
-    K30, K31, K32, K33, \
-    K40, K41, K42, K43  \
-) { \
-    { K00,   K01,   K02,   K03 }, \
-    { K10,   K11,   K12,   K13 }, \
-    { K20,   K21,   K22,   K23 }, \
-    { K30,   K31,   K32,   K33 }, \
-    { K40,   K41,   K42,   K43 }  \
-}
-#define LAYOUT_numpad_5x4( \
-    K00, K01, K02, K03, \
-    K10, K11, K12,      \
-    K20, K21, K22, K13, \
-    K30, K31, K32,      \
-    K40,      K42, K33  \
-) { \
-    { K00,   K01,   K02,   K03 }, \
-    { K10,   K11,   K12,   K13 }, \
-    { K20,   K21,   K22,   KC_NO }, \
-    { K30,   K31,   K32,   K33 }, \
-    { K40,   KC_NO, K42,   KC_NO }  \
-}
-- 
cgit v1.2.3