diff --git a/keyboards/matrimony/config.h b/keyboards/matrimony/config.h
new file mode 100644
index 000000000000..777a6cba16b2
--- /dev/null
+++ b/keyboards/matrimony/config.h
@@ -0,0 +1,45 @@
+/* Copyright 2021 Joshua Cheung and Nathan Nguyen
+
+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
+
+//Pins for boot magic lite
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 4
+#define BOOTMAGIC_LITE_ROW_RIGHT 5
+#define BOOTMAGIC_LITE_COLUMN_RIGHT 8
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 13
+
+
+// Defines the diode direction, can be changed to ROW2COL if diodes are soldered backwards.
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
+// B7 and B5 are dummy pins to ensure both columns == 13
+#define MATRIX_COL_PINS { D2, D3, B5, B6, F4, F5, F6, F7, B1, B3, B2, B7, D5 }
+#define MATRIX_ROW_PINS_RIGHT { F0, F1, C7, D5, B7 }
+#define MATRIX_COL_PINS_RIGHT { B6, B2, B3, B1, F7, F6, F5, F4, B0, B5, B4, E6, D7 }
+
+// Set 0 if debouncing isn't needed
+#define DEBOUNCE 5
+#define USE_I2C
+
+// sets the handness according to eeprom
+#define EE_HANDS
diff --git a/keyboards/matrimony/info.json b/keyboards/matrimony/info.json
new file mode 100644
index 000000000000..141f0ee414fb
--- /dev/null
+++ b/keyboards/matrimony/info.json
@@ -0,0 +1,567 @@
+{
+ "keyboard_name": "Matrimony Keyboard",
+ "manufacturer": "Joshua Cheung",
+ "url": "https://www.reddit.com/r/mechmarket/comments/w1ytmc/gb_matrimony_split_keyboard/",
+ "maintainer": "hypanim",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0001",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "Macro1",
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "label": "Macro2",
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "label": "Macro3",
+ "x": 2,
+ "y": 1.5
+ },
+ {
+ "label": "Macro4",
+ "x": 3,
+ "y": 1.5
+ },
+ {
+ "label": "ESC",
+ "x": 4.75,
+ "y": 1.5
+ },
+ {
+ "label": "1",
+ "x": 5.75,
+ "y": 1.5
+ },
+ {
+ "label": "2",
+ "x": 6.75,
+ "y": 1.5
+ },
+ {
+ "label": "3",
+ "x": 7.75,
+ "y": 1.5
+ },
+ {
+ "label": "4",
+ "x": 8.75,
+ "y": 1.5
+ },
+ {
+ "label": "5",
+ "x": 9.75,
+ "y": 1.5
+ },
+ {
+ "label": "6",
+ "x": 10.75,
+ "y": 1.5
+ },
+ {
+ "label": "7",
+ "x": 12.25,
+ "y": 1.5
+ },
+ {
+ "label": "8",
+ "x": 13.25,
+ "y": 1.5
+ },
+ {
+ "label": "9",
+ "x": 14.25,
+ "y": 1.5
+ },
+ {
+ "label": "10",
+ "x": 15.25,
+ "y": 1.5
+ },
+ {
+ "label": "-",
+ "x": 16.25,
+ "y": 1.5
+ },
+ {
+ "label": "=",
+ "x": 17.25,
+ "y": 1.5
+ },
+ {
+ "label": "BACKSPACE",
+ "x": 18.25,
+ "y": 1.5,
+ "w": 2
+ },
+ {
+ "label": "LAYER1",
+ "x": 20.25,
+ "y": 1.5
+ },
+ {
+ "label": "NUM",
+ "x": 21.75,
+ "y": 1.5
+ },
+ {
+ "label": "/",
+ "x": 22.75,
+ "y": 1.5
+ },
+ {
+ "label": "*",
+ "x": 23.75,
+ "y": 1.5
+ },
+ {
+ "label": "_",
+ "x": 24.75,
+ "y": 1.5
+ },
+ {
+ "label": "Macro5",
+ "x": 0,
+ "y": 2.5
+ },
+ {
+ "label": "Macro6",
+ "x": 1,
+ "y": 2.5
+ },
+ {
+ "label": "Macro7",
+ "x": 2,
+ "y": 2.5
+ },
+ {
+ "label": "Macro8",
+ "x": 3,
+ "y": 2.5
+ },
+ {
+ "label": "TAB",
+ "x": 4.75,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "label": "Q",
+ "x": 6.25,
+ "y": 2.5
+ },
+ {
+ "label": "W",
+ "x": 7.25,
+ "y": 2.5
+ },
+ {
+ "label": "E",
+ "x": 8.25,
+ "y": 2.5
+ },
+ {
+ "label": "R",
+ "x": 9.25,
+ "y": 2.5
+ },
+ {
+ "label": "T",
+ "x": 10.25,
+ "y": 2.5
+ },
+ {
+ "label": "Y",
+ "x": 11.75,
+ "y": 2.5
+ },
+ {
+ "label": "U",
+ "x": 12.75,
+ "y": 2.5
+ },
+ {
+ "label": "I",
+ "x": 13.75,
+ "y": 2.5
+ },
+ {
+ "label": "O",
+ "x": 14.75,
+ "y": 2.5
+ },
+ {
+ "label": "P",
+ "x": 15.75,
+ "y": 2.5
+ },
+ {
+ "label": "[",
+ "x": 16.75,
+ "y": 2.5
+ },
+ {
+ "label": "]",
+ "x": 17.75,
+ "y": 2.5
+ },
+ {
+ "label": "\\",
+ "x": 18.75,
+ "y": 2.5,
+ "w": 1.5
+ },
+ {
+ "label": "LAYER2",
+ "x": 20.25,
+ "y": 2.5
+ },
+ {
+ "label": "7",
+ "x": 21.75,
+ "y": 2.5
+ },
+ {
+ "label": "8",
+ "x": 22.75,
+ "y": 2.5
+ },
+ {
+ "label": "9",
+ "x": 23.75,
+ "y": 2.5
+ },
+ {
+ "label": "+",
+ "x": 24.75,
+ "y": 2.5
+ },
+ {
+ "label": "Macro9",
+ "x": 0,
+ "y": 3.5
+ },
+ {
+ "label": "Macro10",
+ "x": 1,
+ "y": 3.5
+ },
+ {
+ "label": "Macro11",
+ "x": 2,
+ "y": 3.5
+ },
+ {
+ "label": "Macro12",
+ "x": 3,
+ "y": 3.5
+ },
+ {
+ "label": "CAPS",
+ "x": 4.75,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "label": "A",
+ "x": 6.5,
+ "y": 3.5
+ },
+ {
+ "label": "S",
+ "x": 7.5,
+ "y": 3.5
+ },
+ {
+ "label": "D",
+ "x": 8.5,
+ "y": 3.5
+ },
+ {
+ "label": "F",
+ "x": 9.5,
+ "y": 3.5
+ },
+ {
+ "label": "G",
+ "x": 10.5,
+ "y": 3.5
+ },
+ {
+ "label": "H",
+ "x": 12,
+ "y": 3.5
+ },
+ {
+ "label": "J",
+ "x": 13,
+ "y": 3.5
+ },
+ {
+ "label": "K",
+ "x": 14,
+ "y": 3.5
+ },
+ {
+ "label": "L",
+ "x": 15,
+ "y": 3.5
+ },
+ {
+ "label": ";",
+ "x": 16,
+ "y": 3.5
+ },
+ {
+ "label": "'",
+ "x": 17,
+ "y": 3.5
+ },
+ {
+ "label": "ENTER",
+ "x": 18,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "label": "LAYER3",
+ "x": 20.25,
+ "y": 3.5
+ },
+ {
+ "label": "4",
+ "x": 21.75,
+ "y": 3.5
+ },
+ {
+ "label": "5",
+ "x": 22.75,
+ "y": 3.5
+ },
+ {
+ "label": "6",
+ "x": 23.75,
+ "y": 3.5
+ },
+ {
+ "label": "Macro13",
+ "x": 0,
+ "y": 4.5
+ },
+ {
+ "label": "Macro14",
+ "x": 1,
+ "y": 4.5
+ },
+ {
+ "label": "Macro15",
+ "x": 2,
+ "y": 4.5
+ },
+ {
+ "label": "Macro16",
+ "x": 3,
+ "y": 4.5
+ },
+ {
+ "label": "LSHIFT",
+ "x": 4.75,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "label": "Z",
+ "x": 7,
+ "y": 4.5
+ },
+ {
+ "label": "X",
+ "x": 8,
+ "y": 4.5
+ },
+ {
+ "label": "C",
+ "x": 9,
+ "y": 4.5
+ },
+ {
+ "label": "V",
+ "x": 10,
+ "y": 4.5
+ },
+ {
+ "label": "B",
+ "x": 11,
+ "y": 4.5
+ },
+ {
+ "label": "N",
+ "x": 12.5,
+ "y": 4.5
+ },
+ {
+ "label": "M",
+ "x": 13.5,
+ "y": 4.5
+ },
+ {
+ "label": ",",
+ "x": 14.5,
+ "y": 4.5
+ },
+ {
+ "label": ".",
+ "x": 15.5,
+ "y": 4.5
+ },
+ {
+ "label": "/",
+ "x": 16.5,
+ "y": 4.5
+ },
+ {
+ "label": "RSHIFT",
+ "x": 17.5,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "label": "UP",
+ "x": 19.25,
+ "y": 4.5
+ },
+ {
+ "label": "LAYER4",
+ "x": 20.25,
+ "y": 4.5
+ },
+ {
+ "label": "1",
+ "x": 21.75,
+ "y": 4.5
+ },
+ {
+ "label": "2",
+ "x": 22.75,
+ "y": 4.5
+ },
+ {
+ "label": "3",
+ "x": 23.75,
+ "y": 4.5
+ },
+ {
+ "label": "ENTER",
+ "x": 24.75,
+ "y": 4.5,
+ "h": 2
+ },
+ {
+ "label": "Macro17",
+ "x": 0,
+ "y": 5.5
+ },
+ {
+ "label": "Macro18",
+ "x": 1,
+ "y": 5.5
+ },
+ {
+ "label": "Macro19",
+ "x": 2,
+ "y": 5.5
+ },
+ {
+ "label": "Macro20",
+ "x": 3,
+ "y": 5.5
+ },
+ {
+ "label": "LCTRL",
+ "x": 4.75,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "label": "LGUI",
+ "x": 6,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "label": "LALT",
+ "x": 7.25,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "label": "MOD",
+ "x": 8.5,
+ "y": 5.5
+ },
+ {
+ "label": "SPACE",
+ "x": 9.5,
+ "y": 5.5,
+ "w": 2.25
+ },
+ {
+ "label": "SPACE",
+ "x": 12.25,
+ "y": 5.5,
+ "w": 2.75
+ },
+ {
+ "label": "MOD",
+ "x": 15,
+ "y": 5.5
+ },
+ {
+ "label": "RALT",
+ "x": 16,
+ "y": 5.5
+ },
+ {
+ "label": "RCTRL",
+ "x": 17,
+ "y": 5.5,
+ "w": 1.25
+ },
+ {
+ "label": "LEFT",
+ "x": 18.25,
+ "y": 5.5
+ },
+ {
+ "label": "DOWN",
+ "x": 19.25,
+ "y": 5.5
+ },
+ {
+ "label": "RIGHT",
+ "x": 20.25,
+ "y": 5.5
+ },
+ {
+ "label": "0",
+ "x": 21.75,
+ "y": 5.5,
+ "w": 2
+ },
+ {
+ "label": ".",
+ "x": 23.75,
+ "y": 5.5
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/matrimony/keymaps/default/keymap.c b/keyboards/matrimony/keymaps/default/keymap.c
new file mode 100644
index 000000000000..505d1fa333fb
--- /dev/null
+++ b/keyboards/matrimony/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
+/*
+Copyright 2022 Joshua Cheung
+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
+
+
+// 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 layers {
+ _BASE,
+ _FN1
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_A, KC_B, KC_C, KC_D, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, MO(_FN1), KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_E, KC_F, KC_G, KC_H, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(_FN1), KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_I, KC_J, KC_K, KC_L, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN1), KC_P4, KC_P5, KC_P6,
+ KC_M, KC_N, KC_O, KC_P, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FN1), KC_P1, KC_P2, KC_P3,
+ KC_Q, KC_R, KC_S, KC_T, KC_LCTL, KC_LGUI, KC_LALT, MO(_FN1), KC_SPC, KC_SPC, MO(_FN1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
+ [_FN1] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
+};
diff --git a/keyboards/matrimony/keymaps/default/readme.md b/keyboards/matrimony/keymaps/default/readme.md
new file mode 100644
index 000000000000..d9c123841347
--- /dev/null
+++ b/keyboards/matrimony/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for matrimony
diff --git a/keyboards/matrimony/keymaps/left_only/keymap.c b/keyboards/matrimony/keymaps/left_only/keymap.c
new file mode 100644
index 000000000000..2afdfa844bb3
--- /dev/null
+++ b/keyboards/matrimony/keymaps/left_only/keymap.c
@@ -0,0 +1,40 @@
+/*
+Copyright 2022 Joshua Cheung
+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
+
+
+// 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 layers {
+ _BASE,
+ _FN1
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_A, KC_B, KC_C, KC_D, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, MO(_FN1), KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_E, KC_F, KC_G, KC_H, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(_FN1), KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_I, KC_J, KC_K, KC_L, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN1), KC_P4, KC_P5, KC_P6,
+ KC_M, KC_N, KC_O, KC_P, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FN1), KC_P1, KC_P2, KC_P3,
+ KC_Q, KC_R, KC_S, KC_T, KC_LCTL, KC_LGUI, KC_LALT, MO(_FN1), KC_SPC, KC_SPC, MO(_FN1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
+[_FN1] = LAYOUT(
+ KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_PPLS, KC_P9, KC_P8, KC_P7, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P6, KC_P5, KC_P4, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS, KC_P4, KC_P5, KC_P6,
+ KC_P3, KC_P2, KC_P1, KC_NO, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_TRNS, KC_P1, KC_P2, KC_P3,
+ KC_PENT, KC_PDOT, KC_P0, KC_NO, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
+};
diff --git a/keyboards/matrimony/keymaps/left_only/readme.md b/keyboards/matrimony/keymaps/left_only/readme.md
new file mode 100644
index 000000000000..eaaabffab9bb
--- /dev/null
+++ b/keyboards/matrimony/keymaps/left_only/readme.md
@@ -0,0 +1 @@
+# A keymap for using the macropad and numpad on the left side only
diff --git a/keyboards/matrimony/matrimony.h b/keyboards/matrimony/matrimony.h
new file mode 100644
index 000000000000..47f896a635cf
--- /dev/null
+++ b/keyboards/matrimony/matrimony.h
@@ -0,0 +1,46 @@
+/* Copyright 2021 Joshua Cheung and Nathan Nguyen
+ *
+ * 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
+
+#include "quantum.h"
+
+
+// M = macro
+// L = left
+// R = right
+// N = numpad
+// A-E = row
+// 0-9 = column
+#define LAYOUT( \
+ MA0, MA1, MA2, MA3, LA0, LA1, LA2, LA3, LA4, LA5, LA6, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, NA0, NA1, NA2, NA3, \
+ MB0, MB1, MB2, MB3, LB0, LB1, LB2, LB3, LB4, LB5, RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, NB0, NB1, NB2, NB3, \
+ MC0, MC1, MC2, MC3, LC0, LC1, LC2, LC3, LC4, LC5, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, NC1, NC2, NC3, \
+ MD0, MD1, MD2, MD3, LD0, LD1, LD2, LD3, LD4, LD5, RD1, RD2, RD3, RD4, RD5, RD6, RD7, RD8, ND1, ND2, ND3, \
+ ME0, ME1, ME2, ME3, LE0, LE1, LE2, LE3, LE4, RE2, RE3, RE4, RE5, RE6, RE7, RE8, NE1, NE2, NE3 \
+ ) \
+ { \
+ { MA0, MA1, MA2, MA3, LA0, LA1, LA2, LA3, LA4, LA5, LA6, KC_NO, KC_NO }, \
+ { MB0, MB1, MB2, MB3, LB0, LB1, LB2, LB3, LB4, LB5, KC_NO, KC_NO, KC_NO }, \
+ { MC0, MC1, MC2, MC3, LC0, LC1, LC2, LC3, LC4, LC5, KC_NO, KC_NO, KC_NO }, \
+ { MD0, MD1, MD2, MD3, LD0, LD1, LD2, LD3, LD4, LD5, KC_NO, KC_NO, KC_NO }, \
+ { ME0, ME1, ME2, ME3, LE0, LE1, LE2, LE3, LE4, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, NA0, NA1, NA2, NA3 }, \
+ { RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, NB0, NB1, NB2, NB3 }, \
+ { KC_NO, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO, NC1, NC2, NC3 }, \
+ { KC_NO, RD1, RD2, RD3, RD4, RD5, RD6, RD7, RD8, KC_NO, ND1, ND2, ND3 }, \
+ { KC_NO, KC_NO, RE2, RE3, RE4, RE5, RE6, RE7, RE8, KC_NO, NE1, NE2, NE3 } \
+ }
diff --git a/keyboards/matrimony/readme.md b/keyboards/matrimony/readme.md
new file mode 100644
index 000000000000..28a35ccb7ce3
--- /dev/null
+++ b/keyboards/matrimony/readme.md
@@ -0,0 +1,14 @@
+# Matrimony
+
+* Keyboard Maintainer: [Joshua Cheung](https://github.com/hypanim)
+* Hardware Supported: Elite-C
+* Hardware Availability: https://www.reddit.com/r/mechmarket/comments/w1ytmc/gb_matrimony_split_keyboard/?utm_source=share&utm_medium=web2x&context=3
+
+Both sides of the split keyboard are flashed with the same firmware. Make sure to set the eeprom of each side to their respective left/right configuration using QMK toolbox before flashing.
+
+Enter the bootloader in one of 2 ways:
+
+* Bootmagic reset: For the left side, hold down the top-left key and plug in the keyboard. For the right side, hold down the top right key and plug in the keyboard.
+* Physical reset button: Briefly press the button on the Elite-C
+
+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/matrimony/rules.mk b/keyboards/matrimony/rules.mk
new file mode 100644
index 000000000000..15695cbdaddb
--- /dev/null
+++ b/keyboards/matrimony/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes