summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoliverMI <36174681+joliverMI@users.noreply.github.com>2024-03-29 01:19:14 -0400
committerGitHub <noreply@github.com>2024-03-28 22:19:14 -0700
commit041f60f9a9cd88275f46f2ac2140923dcbda1333 (patch)
tree44f0483e3683e2758f22c3a2dd3ba2a2dfe8185e
parent2d8902c884deb48815fd923bc4bb9437fd148e19 (diff)
[Keyboard] Add recore keyboard (#23320)
Co-authored-by: joliverMI <qmk@Desktop2023> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
-rw-r--r--keyboards/pmk/recore/v3/config.h18
-rw-r--r--keyboards/pmk/recore/v3/info.json141
-rw-r--r--keyboards/pmk/recore/v3/keymaps/default/keymap.c52
-rw-r--r--keyboards/pmk/recore/v3/keymaps/via/keymap.c52
-rw-r--r--keyboards/pmk/recore/v3/keymaps/via/rules.mk1
-rw-r--r--keyboards/pmk/recore/v3/readme.md27
-rw-r--r--keyboards/pmk/recore/v3/rules.mk1
7 files changed, 292 insertions, 0 deletions
diff --git a/keyboards/pmk/recore/v3/config.h b/keyboards/pmk/recore/v3/config.h
new file mode 100644
index 0000000000..b4089fa81e
--- /dev/null
+++ b/keyboards/pmk/recore/v3/config.h
@@ -0,0 +1,18 @@
+// Copyright 2023 Javier Oliver (@joliverMI)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*Split keyboard configuration*/
+// Hardware Settings
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TX_PIN GP1
+#define SERIAL_USART_RX_PIN GP0
+
+// Communication Settings
+#define FORCED_SYNC_THROTTLE_MS 1000
+#define SPLIT_MAX_CONNECTION_ERRORS 5
+#define SPLIT_CONNECTION_CHECK_TIMEOUT 2000
+
+// RGB Configuration
+#define RGBLIGHT_EFFECT_BREATHE_CENTER 2.0 //1.0 to 2.7
diff --git a/keyboards/pmk/recore/v3/info.json b/keyboards/pmk/recore/v3/info.json
new file mode 100644
index 0000000000..6bc095daa5
--- /dev/null
+++ b/keyboards/pmk/recore/v3/info.json
@@ -0,0 +1,141 @@
+{
+ "manufacturer": "Posey's Mechanical Keyboards",
+ "keyboard_name": "recorev3",
+ "maintainer": "joliverMI",
+ "bootloader": "rp2040",
+ "build": {
+ "debounce_type": "sym_defer_pk"
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "rgblight": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"],
+ "rows": ["GP10", "GP11", "GP12", "GP13", "GP14"]
+ },
+ "processor": "RP2040",
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP17"
+ },
+ "rgblight": {
+ "animations": {
+ "breathing": true
+ },
+ "layers": {
+ "enabled": true,
+ "max": 4
+ },
+ "led_count": 2,
+ "sleep": true,
+ "split": true,
+ "split_count": [1, 1]
+ },
+ "split": {
+ "enabled": true,
+ "handedness": {
+ "pin": "GP18"
+ }
+ },
+ "tags": ["ortho", "split"],
+ "url": "poseysmechanicalkeyboards.com",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0001",
+ "vid": "0x4A4F"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0,0], "x": 0, "y": 0.75, "w": 1.25},
+ {"matrix": [0,1], "x": 1.25, "y": 0.75},
+ {"matrix": [0,2], "x": 2.25, "y": 0.2},
+ {"matrix": [0,3], "x": 3.25, "y": 0},
+ {"matrix": [0,4], "x": 4.25, "y": 0.2},
+ {"matrix": [0,5], "x": 5.25, "y": 0.3},
+ {"matrix": [0,6], "x": 6.25, "y": 0.55, "h": 1.25},
+ {"matrix": [0,7], "x": 7.25, "y": 0.55, "h": 1.25},
+
+ {"matrix": [5,0], "x": 9.25, "y": 0.55, "h": 1.25},
+ {"matrix": [5,1], "x": 10.25, "y": 0.55, "h": 1.25},
+ {"matrix": [5,2], "x": 11.25, "y": 0.3},
+ {"matrix": [5,3], "x": 12.25, "y": 0.2},
+ {"matrix": [5,4], "x": 13.25, "y": 0},
+ {"matrix": [5,5], "x": 14.25, "y": 0.2},
+ {"matrix": [5,6], "x": 15.25, "y": 0.75},
+ {"matrix": [5,7], "x": 16.25, "y": 0.75, "w": 1.25},
+
+ {"matrix": [1,0], "x": 0, "y": 1.75, "w": 1.25},
+ {"matrix": [1,1], "x": 1.25, "y": 1.75},
+ {"matrix": [1,2], "x": 2.25, "y": 1.2},
+ {"matrix": [1,3], "x": 3.25, "y": 1},
+ {"matrix": [1,4], "x": 4.25, "y": 1.2},
+ {"matrix": [1,5], "x": 5.25, "y": 1.3},
+ {"matrix": [1,6], "x": 6.25, "y": 1.8, "h": 1.25},
+ {"matrix": [1,7], "x": 7.25, "y": 1.8, "h": 1.25},
+
+ {"matrix": [6,0], "x": 9.25, "y": 1.8, "h": 1.25},
+ {"matrix": [6,1], "x": 10.25, "y": 1.8, "h": 1.25},
+ {"matrix": [6,2], "x": 11.25, "y": 1.3},
+ {"matrix": [6,3], "x": 12.25, "y": 1.2},
+ {"matrix": [6,4], "x": 13.25, "y": 1},
+ {"matrix": [6,5], "x": 14.25, "y": 1.2},
+ {"matrix": [6,6], "x": 15.25, "y": 1.75},
+ {"matrix": [6,7], "x": 16.25, "y": 1.75, "w": 1.25},
+
+ {"matrix": [2,0], "x": 0, "y": 2.75, "w": 1.25},
+ {"matrix": [2,1], "x": 1.25, "y": 2.75},
+ {"matrix": [2,2], "x": 2.25, "y": 2.2},
+ {"matrix": [2,3], "x": 3.25, "y": 2},
+ {"matrix": [2,4], "x": 4.25, "y": 2.2},
+ {"matrix": [2,5], "x": 5.25, "y": 2.3},
+
+ {"matrix": [7,2], "x": 11.25, "y": 2.3},
+ {"matrix": [7,3], "x": 12.25, "y": 2.2},
+ {"matrix": [7,4], "x": 13.25, "y": 2},
+ {"matrix": [7,5], "x": 14.25, "y": 2.2},
+ {"matrix": [7,6], "x": 15.25, "y": 2.75},
+ {"matrix": [7,7], "x": 16.25, "y": 2.75, "w": 1.25},
+
+ {"matrix": [3,0], "x": 0, "y": 3.75, "w": 1.25},
+ {"matrix": [3,1], "x": 1.25, "y": 3.75},
+ {"matrix": [3,2], "x": 2.25, "y": 3.2},
+ {"matrix": [3,3], "x": 3.25, "y": 3},
+ {"matrix": [3,4], "x": 4.25, "y": 3.2},
+ {"matrix": [3,5], "x": 5.25, "y": 3.3},
+ {"matrix": [3,6], "x": 6.25, "y": 3.05, "h": 1.25},
+ {"matrix": [3,7], "x": 7.25, "y": 3.05, "h": 1.25},
+
+ {"matrix": [8,0], "x": 9.25, "y": 3.05, "h": 1.25},
+ {"matrix": [8,1], "x": 10.25, "y": 3.05, "h": 1.25},
+ {"matrix": [8,2], "x": 11.25, "y": 3.3},
+ {"matrix": [8,3], "x": 12.25, "y": 3.2},
+ {"matrix": [8,4], "x": 13.25, "y": 3},
+ {"matrix": [8,5], "x": 14.25, "y": 3.2},
+ {"matrix": [8,6], "x": 15.25, "y": 3.75},
+ {"matrix": [8,7], "x": 16.25, "y": 3.75, "w": 1.25},
+
+ {"matrix": [4,0], "x": 0, "y": 4.75, "w": 1.25},
+ {"matrix": [4,1], "x": 1.25, "y": 4.75},
+ {"matrix": [4,2], "x": 2.25, "y": 4.2, "w": 1.25},
+ {"matrix": [4,3], "x": 3.5, "y": 4.2, "w": 1.25},
+ {"matrix": [4,5], "x": 4.75, "y": 4.3, "w": 1.25},
+ {"matrix": [4,6], "x": 6, "y": 4.8, "h": 1.25},
+ {"matrix": [4,7], "x": 7, "y": 5, "h": 1.25},
+
+ {"matrix": [9,0], "x": 9.5, "y": 5, "h": 1.25},
+ {"matrix": [9,1], "x": 10.5, "y": 4.8, "h": 1.25},
+ {"matrix": [9,2], "x": 11.5, "y": 4.3, "w": 1.25},
+ {"matrix": [9,4], "x": 12.75, "y": 4.2, "w": 1.25},
+ {"matrix": [9,5], "x": 14, "y": 4.2, "w": 1.25},
+ {"matrix": [9,6], "x": 15.25, "y": 4.75},
+ {"matrix": [9,7], "x": 16.25, "y": 4.75, "w": 1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/pmk/recore/v3/keymaps/default/keymap.c b/keyboards/pmk/recore/v3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a48ed4c82d
--- /dev/null
+++ b/keyboards/pmk/recore/v3/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+// Copyright 2024 Javier Oliver (@joliverMI)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum my_layers {
+ _QWERTY,
+ _NAV,
+ _SYMB,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,MO(_SYMB),MO(_NAV),MO(_NAV),MO(_SYMB),KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,KC_MPLY, KC_PAUS ,KC_RBRC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
+ KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_PGUP ,KC_PGDN , KC_HOME ,KC_END , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LGUI ,KC_PMNS ,MO(_NAV) ,KC_LALT ,KC_LCTL ,KC_BSPC ,KC_DEL , KC_ENT, KC_SPC ,MO(_NAV),KC_RALT ,KC_RCTL ,KC_LEFT ,KC_RGHT
+//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
+ ),
+ [_SYMB] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
+ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ ,_______, _______ ,_______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ ,_______, _______ ,KC_RCBR ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
+ _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV , KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,KC_P0 ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_ENT ,_______ ,_______ ,_______ ,KC_PDOT ,KC_PENT ,_______
+//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
+ ),
+ [_NAV] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
+ _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,QK_BOOT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
+ _______ ,KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT , KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT ,XXXXXXX ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,_______ ,_______ ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX ,EE_CLR
+//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
+ )
+};
diff --git a/keyboards/pmk/recore/v3/keymaps/via/keymap.c b/keyboards/pmk/recore/v3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a48ed4c82d
--- /dev/null
+++ b/keyboards/pmk/recore/v3/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+// Copyright 2024 Javier Oliver (@joliverMI)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum my_layers {
+ _QWERTY,
+ _NAV,
+ _SYMB,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,MO(_SYMB),MO(_NAV),MO(_NAV),MO(_SYMB),KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,KC_MPLY, KC_PAUS ,KC_RBRC , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
+ KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_PGUP ,KC_PGDN , KC_HOME ,KC_END , KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LGUI ,KC_PMNS ,MO(_NAV) ,KC_LALT ,KC_LCTL ,KC_BSPC ,KC_DEL , KC_ENT, KC_SPC ,MO(_NAV),KC_RALT ,KC_RCTL ,KC_LEFT ,KC_RGHT
+//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
+ ),
+ [_SYMB] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
+ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ ,_______, _______ ,_______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ ,_______, _______ ,KC_RCBR ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
+ _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV , KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,KC_P0 ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,_______ ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , KC_ENT ,_______ ,_______ ,_______ ,KC_PDOT ,KC_PENT ,_______
+//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
+ ),
+ [_NAV] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┬── L1 ──┬── X1 ──┐┌── X1 ──┬── L1 ──┬────────┬────────┬────────┬────────┬────────┬────────┐
+ _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,QK_BOOT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼── X2 ──┼── X3 ──┤├── X3 ──┼── X2 ──┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_UP ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┴────────┴────────┤
+ _______ ,KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT , KC_LEFT ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_RGHT ,XXXXXXX ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┐┌────────┬────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,XXXXXXX ,KC_DOWN ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┘└────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,XXXXXXX ,XXXXXXX ,_______ ,_______ ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX ,EE_CLR
+//└────────┴────────┴── T1 ──┴── T2 ──┴── T3 ──┴── T4 ──┴── T5 ──┘ └── T5 ──┴── T4 ──┴── T3 ──┴── T2 ──┴── T1 ──┴────────┴────────┘
+ )
+};
diff --git a/keyboards/pmk/recore/v3/keymaps/via/rules.mk b/keyboards/pmk/recore/v3/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/pmk/recore/v3/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/pmk/recore/v3/readme.md b/keyboards/pmk/recore/v3/readme.md
new file mode 100644
index 0000000000..2e346263f8
--- /dev/null
+++ b/keyboards/pmk/recore/v3/readme.md
@@ -0,0 +1,27 @@
+# recorev3
+
+![recorev3](https://i.imgur.com/28fVsP3.jpeg)
+
+The Posey Recore keyboard is an ortholinear keyboard designed from the gournd up for gaming. By pushing the left half of your split keyboard out of the way, you'll be able to game with better posture and increase mouse movement. The thumb cluster arc can be remapped to control and shift for use in gaming.
+
+* Keyboard Maintainer: [Javier Oliver](https://github.com/joliverMI)
+* Hardware Supported: recore_v3 and logic_module_v1
+* Hardware Availability: [poseysmechanicalkeyboards.com](https://poseysmechanicalkeyboards.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make pmk/recore/v3:default
+
+Flashing example for this keyboard:
+
+ make pmk/recore/v3:default:flash
+
+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).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key Escape and plug in the keyboard
+* **Physical reset button**: Hold the button on the bottom of the keyboard while you plug in the USB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/pmk/recore/v3/rules.mk b/keyboards/pmk/recore/v3/rules.mk
new file mode 100644
index 0000000000..161ec22b16
--- /dev/null
+++ b/keyboards/pmk/recore/v3/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = vendor