diff --git a/keyboards/launchpad/keymaps/vial/config.h b/keyboards/launchpad/keymaps/vial/config.h
new file mode 100644
index 0000000000..3b53ad620e
--- /dev/null
+++ b/keyboards/launchpad/keymaps/vial/config.h
@@ -0,0 +1,23 @@
+/*
+Copyright 2021 David Gillies <dave.gillies@gmail.com>
+
+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
+
+/* Vial setup */
+#define VIAL_KEYBOARD_UID {0xD5, 0x35, 0x9F, 0xC5, 0xEE, 0x5E, 0x00, 0x5F}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
+
diff --git a/keyboards/launchpad/keymaps/vial/keymap.c b/keyboards/launchpad/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..ac25fa1e1e
--- /dev/null
+++ b/keyboards/launchpad/keymaps/vial/keymap.c
@@ -0,0 +1,94 @@
+// Below layout is based upon /u/That-Canadian's planck layout
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+    _QWERTY,
+    _FUNC,
+    _RGB,
+    _LAYER3
+};
+
+// Defines for task manager and such
+#define CALTDEL LCTL(LALT(KC_DEL))
+#define TSKMGR LCTL(LSFT(KC_ESC))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-------------.
+ * |   1  |  2   |
+ * |------+------|
+ * |   3  |  4   |
+ * |------+------|
+ * |   5  |  6   |
+ * |------+------|
+ * | FUNC |  8   |
+ * `-------------'
+ */
+[_QWERTY] = LAYOUT(
+    KC_1,      KC_2,
+    KC_3,      KC_4,
+    KC_5,      KC_6,
+    MO(_FUNC), TG(_RGB)
+),
+
+/* Function
+ * ,-------------.
+ * |   Q  |CALDEL|
+ * |------+------|
+ * |   A  |TSKMGR|
+ * |------+------|
+ * |   Z  |  X   |
+ * |------+------|
+ * |      |  C   |
+ * `-------------'
+ */
+[_FUNC] = LAYOUT(
+    KC_Q,    CALTDEL,
+    KC_A,    TSKMGR,
+    KC_Z,    KC_X,
+    KC_TRNS, KC_C
+),
+
+/* RGB
+ * ,-------------.
+ * | MODE-| MODE+|
+ * |------+------|
+ * | HUE- | HUE+ |
+ * |------+------|
+ * | SAT- | SAT+ |
+ * |------+------|
+ * |TOGGLE|      |
+ * `-------------'
+ */
+[_RGB] = LAYOUT(
+    RGB_RMOD, RGB_MOD,
+    RGB_HUD,  RGB_HUI,
+    RGB_SAD,  RGB_SAI,
+    RGB_TOG,  KC_TRNS
+),
+
+/* Layer 3
+ * ,-------------.
+ * |      |      |
+ * |------+------|
+ * |      |      |
+ * |------+------|
+ * |      |      |
+ * |------+------|
+ * |      |      |
+ * `-------------'
+ */
+[_LAYER3] = LAYOUT(
+    KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS
+)
+
+};
diff --git a/keyboards/launchpad/keymaps/vial/readme.md b/keyboards/launchpad/keymaps/vial/readme.md
new file mode 100644
index 0000000000..0da2617880
--- /dev/null
+++ b/keyboards/launchpad/keymaps/vial/readme.md
@@ -0,0 +1,5 @@
+# Vial support for Launchpad
+
+```
+make launchpad/rev1:vial
+```
diff --git a/keyboards/launchpad/keymaps/vial/rules.mk b/keyboards/launchpad/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..8ae08f4e70
--- /dev/null
+++ b/keyboards/launchpad/keymaps/vial/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/launchpad/keymaps/vial/vial.json b/keyboards/launchpad/keymaps/vial/vial.json
new file mode 100644
index 0000000000..47b1968247
--- /dev/null
+++ b/keyboards/launchpad/keymaps/vial/vial.json
@@ -0,0 +1,17 @@
+{
+  "name": "Launch Pad",
+  "vendorId": "0x1337",
+  "productId": "0x6007",
+  "matrix": {
+      "rows": 4,
+      "cols": 2
+  },
+  "layouts": {
+    "keymap": [
+        ["0,0", "0,1"],
+        ["1,0", "1,1"],
+        ["2,0", "2,1"],
+        ["3,0", "3,1"]
+    ]
+  }
+}