diff --git a/keyboards/mechwild/waka60/keymaps/vial/config.h b/keyboards/mechwild/waka60/keymaps/vial/config.h
new file mode 100644
index 0000000000..26eede342f
--- /dev/null
+++ b/keyboards/mechwild/waka60/keymaps/vial/config.h
@@ -0,0 +1,30 @@
+/*
+Copyright 2022 Kyle McCreery
+
+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 .
+*/
+
+#pragma once
+
+#define AUDIO_PIN B5
+#define AUDIO_PWM_DRIVER PWMD1
+#define AUDIO_PWM_CHANNEL 1
+#define AUDIO_STATE_TIMER GPTD4
+
+#define VIAL_KEYBOARD_UID {0x98, 0xFE, 0x0B, 0x88, 0x0A, 0x16, 0x95, 0xD0}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 5 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
+
+#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }
diff --git a/keyboards/mechwild/waka60/keymaps/vial/keymap.c b/keyboards/mechwild/waka60/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..fc1d16f2fc
--- /dev/null
+++ b/keyboards/mechwild/waka60/keymaps/vial/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2022 Kyle McCreery
+ *
+ * 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 .
+ */
+
+ #include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL
+ ),
+ [_FN1] = LAYOUT(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
+ KC_TRNS, AU_TOG, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, MU_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, MU_MOD, RGB_RMOD, 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
+ ),
+ [_FN2] = LAYOUT(
+ 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,
+ 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, 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
+ ),
+ [_FN3] = LAYOUT(
+ 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,
+ 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, 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
+ )
+};
diff --git a/keyboards/mechwild/waka60/keymaps/vial/rules.mk b/keyboards/mechwild/waka60/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..6f1cc7ed94
--- /dev/null
+++ b/keyboards/mechwild/waka60/keymaps/vial/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+AUDIO_ENABLE = yes
+AUDIO_DRIVER = pwm_software
+VIAL_ENCODERS_ENABLE = yes
diff --git a/keyboards/mechwild/waka60/keymaps/vial/vial.json b/keyboards/mechwild/waka60/keymaps/vial/vial.json
new file mode 100644
index 0000000000..e9dca6530c
--- /dev/null
+++ b/keyboards/mechwild/waka60/keymaps/vial/vial.json
@@ -0,0 +1,27 @@
+{
+ "name": "MechWild Waka60",
+ "vendorId": "0x6D77",
+ "productId": "0x1709",
+ "lighting": "qmk_rgblight",
+ "matrix": { "rows": 10, "cols": 7 },
+ "layouts": {
+ "labels": [
+ ["Bottom Row", "7U", "2U 1U 1U 1U 2U", "2U 3U 2U", "1U 1U 3U 1U 1U", "1U 1U 1U 1U 1U 1U 1U", "1U 2U 1U 2U 1U"]
+ ],
+ "keymap": [
+ [{"y":0.25,"c":"#777777"},"0,0",{"c":"#cccccc"},"0,1","0,2","0,3","0,4","0,5",{"x":1.5},"5,0","5,1","5,2","5,3","5,4",{"c":"#aaaaaa"},"5,5"],
+ [{"y":-0.75,"x":6.25,"c":"#cccccc"},"0,1\n\n\n\n\n\n\n\n\ne"],
+ [{"y":-0.25,"c":"#aaaaaa"},"1,0",{"c":"#cccccc"},"1,1","1,2","1,3","1,4","1,5",{"x":1.5},"6,0","6,1","6,2","6,3","6,4","6,5"],
+ [{"y":-0.75,"x":6.25},"0,0\n\n\n\n\n\n\n\n\ne"],
+ [{"y":-0.25,"c":"#aaaaaa"},"2,0",{"c":"#cccccc"},"2,1","2,2","2,3","2,4","2,5",{"x":1.5},"7,0","7,1","7,2","7,3","7,4",{"c":"#777777"},"7,5"],
+ [{"y":-0.205,"x":6.25},"3,6"],
+ [{"y":-0.795,"c":"#aaaaaa"},"3,0",{"c":"#cccccc"},"3,1","3,2","3,3","3,4","3,5",{"x":1.5},"8,0","8,1","8,2","8,3","8,4",{"c":"#aaaaaa"},"8,5"],
+ [{"x":0.25},"4,0","4,1","4,2",{"c":"#cccccc","w":7},"4,6\n\n\n0,0",{"c":"#aaaaaa"},"9,3","9,4","9,5"],
+ [{"y":0.25,"x":3.25,"w":2},"4,3\n\n\n0,1","4,5\n\n\n0,1","4,6\n\n\n0,1","9,0\n\n\n0,1",{"w":2},"9,2\n\n\n0,1"],
+ [{"x":3.25,"w":2},"4,3\n\n\n0,2",{"w":3},"4,6\n\n\n0,2",{"w":2},"9,2\n\n\n0,2"],
+ [{"x":3.25},"4,3\n\n\n0,3","4,4\n\n\n0,3",{"w":3},"4,6\n\n\n0,3","9,1\n\n\n0,3","9,2\n\n\n0,3"],
+ [{"x":3.25},"4,3\n\n\n0,4","4,4\n\n\n0,4","4,5\n\n\n0,4","4,6\n\n\n0,4","9,0\n\n\n0,4","9,1\n\n\n0,4","9,2\n\n\n0,4"],
+ [{"x":3.25},"4,3\n\n\n0,5",{"w":2},"4,4\n\n\n0,5","4,6\n\n\n0,5",{"w":2},"9,1\n\n\n0,5","9,2\n\n\n0,5"]
+ ]
+ }
+}