diff --git a/keyboards/callmemero/callmemero.c b/keyboards/callmemero/callmemero.c
new file mode 100644
index 00000000..ae8e4a4e
--- /dev/null
+++ b/keyboards/callmemero/callmemero.c
@@ -0,0 +1,56 @@
+/* Copyright 2022
+ * GEIST @geigeigeist
+ *
+ * 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 "callmemero.h"
+
+
+#ifdef SWAP_HANDS_ENABLE
+
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] =
+ // The LAYOUT macro could work for this, but it was harder to figure out the
+ // identity using it.
+
+ // This is the identity layout.
+/*
+{ \
+ { {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0} }, \
+ { {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1} }, \
+ { {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2} }, \
+ { {0, 3}, {2, 3}, {3, 3}, {4, 3} }, \
+ \
+ { {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4} }, \
+ { {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5} }, \
+ { {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6} }, \
+ { {0, 7}, {1, 7}, {2, 7}, {4, 7}, \
+};
+*/
+
+ // This is the mirror, q <-> p, w <-> o, etc...
+{ \
+ { {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4} }, \
+ { {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5} }, \
+ { {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6} }, \
+ { {4, 7}, {2, 7}, {1, 7}, {0, 7} }, \
+ \
+ { {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0} }, \
+ { {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1} }, \
+ { {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2} }, \
+ { {4, 3}, {3, 3}, {2, 3}, {0, 3} }, \
+};
+
+#endif //SWAP_HANDS_ENABLE
diff --git a/keyboards/callmemero/callmemero.h b/keyboards/callmemero/callmemero.h
new file mode 100644
index 00000000..4724e0fa
--- /dev/null
+++ b/keyboards/callmemero/callmemero.h
@@ -0,0 +1,55 @@
+/* Copyright 2022
+ * GEIST @geigeigeist
+ *
+ * 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"
+
+/* 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.
+ */
+
+// readability
+#define ___ KC_NO
+
+// |SW01|SW02|SW03|SW04|SW05| |SW05|SW04|SW03|SW02|SW01|
+// |SW06|SW07|SW08|SW09|SW10| |SW10|SW09|SW08|SW07|SW06|
+// |SW16|SW11|SW12|SW13|SW14|SW15| |SW15|SW14|SW13|SW12|SW11|SW16|
+// |SW17|SW18|SW19| |SW19|SW18|SW17|
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
+ L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
+ L30, L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, R34,\
+ L32, L33, L34, R30, R31, R32 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { L30, ___, L32, L33, L34 }, \
+ { R04, R03, R02, R01, R00 }, \
+ { R14, R13, R12, R11, R10 }, \
+ { R24, R23, R22, R21, R20 }, \
+ { R34, ___, R32, R31, R30 }, \
+ }
+
+
diff --git a/keyboards/callmemero/config.h b/keyboards/callmemero/config.h
new file mode 100644
index 00000000..33318364
--- /dev/null
+++ b/keyboards/callmemero/config.h
@@ -0,0 +1,50 @@
+/*
+Copyright 2022 GEIST <@geigeigeist>
+
+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
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 5
+
+
+// wiring of each half
+#define MATRIX_ROW_PINS { GP26, GP27, GP28, GP29 }
+#define MATRIX_COL_PINS { GP6, GP7, GP3, GP4, GP2 }
+#define DIODE_DIRECTION COL2ROW
+
+
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#define DEBOUNCE 5
+
+
+/* Serial settings */
+#define USE_SERIAL
+/* serial.c configuration for split keyboard */
+#define SOFT_SERIAL_PIN GP0
+//#define SPLIT_LAYER_STATE_ENABLE
+//#define SPLIT_USB_DETECT
+#define SERIAL_USE_MULTI_TRANSACTION
+/* communication between sides */
+#define SERIAL_PIO_USE_PIO1
+
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
diff --git a/keyboards/callmemero/halconf.h b/keyboards/callmemero/halconf.h
new file mode 100644
index 00000000..58f0849b
--- /dev/null
+++ b/keyboards/callmemero/halconf.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#define HAL_USE_I2C TRUE
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#include_next
diff --git a/keyboards/callmemero/info.json b/keyboards/callmemero/info.json
new file mode 100644
index 00000000..ae264b85
--- /dev/null
+++ b/keyboards/callmemero/info.json
@@ -0,0 +1,168 @@
+{
+ "keyboard_name": "TOTEM",
+ "url": "https://github.com/GEIGEIGEIST/TOTEM",
+ "manufacturer": "GEIST",
+ "usb": {
+ "vid": "0x3A3C",
+ "pid": "0x0002",
+ "device_version": "0.3.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "x": 5,
+ "y": 12.35
+ },
+ {
+ "x": 15,
+ "y": 12.35
+ },
+ {
+ "x": 6,
+ "y": 12.85
+ },
+ {
+ "x": 14,
+ "y": 12.85
+ },
+ {
+ "x": 7,
+ "y": 13.1
+ },
+ {
+ "x": 13,
+ "y": 13.1
+ },
+ {
+ "x": 5,
+ "y": 13.25
+ },
+ {
+ "x": 15,
+ "y": 13.25
+ },
+ {
+ "x": 6,
+ "y": 13.85
+ },
+ {
+ "x": 14,
+ "y": 13.85
+ },
+ {
+ "x": 7,
+ "y": 14.1
+ },
+ {
+ "x": 13,
+ "y": 14.1
+ },
+ {
+ "x": 5,
+ "y": 14.35
+ },
+ {
+ "x": 15,
+ "y": 14.35
+ },
+ {
+ "x": 6,
+ "y": 15.85
+ },
+ {
+ "x": 14,
+ "y": 15.85
+ },
+ {
+ "x": 7,
+ "y": 15.1
+ },
+ {
+ "x": 13,
+ "y": 15.1
+ },
+ {
+ "x": 1.6,
+ "y": 11.5000000000000004
+ },
+ {
+ "x": 1.4,
+ "y": 7.900000000000001
+ },
+ {
+ "x": 1.5,
+ "y": 5.900000000000001
+ },
+ {
+ "x": 1.5,
+ "y": 6.900000000000001
+ },
+ {
+ "x": 1.5,
+ "y": 7.900000000000001
+ },
+ {
+ "x": 1.75,
+ "y": 6.55
+ },
+ {
+ "x": 1.75,
+ "y": 7.55
+ },
+ {
+ "x": 2.75,
+ "y": 20.2500000000000007
+ },
+ {
+ "x": 1.75,
+ "y": 29.6500000000000006
+ },
+ {
+ "x": 1.6,
+ "y": 4.9500000000000005
+ },
+ {
+ "x": 1.6,
+ "y": 4.9500000000000005
+ },
+ {
+ "x": 1.4,
+ "y": 1.350000000000002
+ },
+ {
+ "x": 1.4,
+ "y": 1.350000000000002
+ },
+ {
+ "x": 1.0,
+ "y": 0
+ },
+ {
+ "x": 1.0,
+ "y": 1
+ },
+ {
+ "x": 0,
+ "y": 13.700000000000002
+ },
+ {
+ "x": 1.0,
+ "y": 2
+ },
+ {
+ "x": 1.25,
+ "y": 0
+ },
+ {
+ "x": 1.25,
+ "y": 1
+ },
+ {
+ "x": 1.25,
+ "y": 2
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/callmemero/keyboard-layout.json b/keyboards/callmemero/keyboard-layout.json
new file mode 100644
index 00000000..83eadeec
--- /dev/null
+++ b/keyboards/callmemero/keyboard-layout.json
@@ -0,0 +1,171 @@
+[
+ {
+ "backcolor": "#656565",
+ "css": ".keylabel {\n font-weight: bold;\n}\n\n.keylabel2 {\n color: #dbff00 !important;\n font-size: 10px;\n}\n\n.keylabel5 {\n color: #0700ff !important;\n font-size: 10px;\n}\n\n.keylabel6 {\n color: #9c5b00 !important;\n font-size: 10px;\n}\n\n.keylabel2 {\n color: #009616 !important;\n font-size: 10px;\n}\n\n.keytop {\n background-color: rgb(255 255 255 / 0.1) !important;\n}"
+ },
+ [
+ {
+ "x": 1,
+ "fa": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ]
+ },
+ "Q\nF12\nboot\n\n\n\n\n+",
+ "W\nF7\n\n\n\n\n\n7",
+ "E\nF8\n\n\n\n\n\n8",
+ "R\nF9\n\n\n\n\n\n9",
+ "T\n\n\n\n\n\n\n*",
+ {
+ "x": 0.75
+ },
+ "Y",
+ {
+ "t": "#000000\n\n\n#dbff00",
+ "fa": [
+ 0,
+ 0,
+ 0,
+ 1
+ ]
+ },
+ "U\n\n\nHome",
+ {
+ "f": 3
+ },
+ "I\n\n\n",
+ "O\n\n\nEnd",
+ "P\n\n\nPgUp"
+ ],
+ [
+ {
+ "x": 1,
+ "t": "#000000",
+ "a": 0,
+ "fa": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1
+ ]
+ },
+ "A\nF11\n\n\nCTRL\n\n\n0",
+ "S\nF4\n\n\nALT\n\n\n4",
+ "D\nF5\n\n\nGUI\n\n\n5",
+ "F\nF6\n\n\nSHFT\n\n\n6",
+ {
+ "a": 4
+ },
+ "G\n\n\n\n\n\n\n=",
+ {
+ "x": 0.75
+ },
+ "H",
+ {
+ "t": "#000000\n\n\n#dbff00",
+ "a": 0,
+ "f": 3
+ },
+ "J\n\n\n\nSHFT",
+ {
+ "f": 3
+ },
+ "K\n\n\n\nGUI",
+ {
+ "f": 3
+ },
+ "L\n\n\n\nALT",
+ "\"\n\n\nPgDn\nCTRL\n\n'"
+ ],
+ [
+ {
+ "t": "#000000",
+ "a": 4
+ },
+ "TAB\n\n\n\n\n\n\n(",
+ "Z\nF10\n\n\n\n\n\n-",
+ {
+ "f": 3
+ },
+ "X\nF1\n\n\n\n\n\n1",
+ {
+ "t": "#000000\n\n\n\n\n\n\n#0700ff"
+ },
+ "C\nF2\n\n\n\n\n\n2",
+ {
+ "a": 0
+ },
+ "V\nF3\n\n\nHYPR\n\n\n3",
+ {
+ "a": 4
+ },
+ "B\n\n\n\n\n\n\n/",
+ {
+ "x": 0.75,
+ "t": "#000000"
+ },
+ "N",
+ {
+ "t": "#000000\n\n\n#dbff00",
+ "a": 0
+ },
+ "M\n\n\n~\nHYPR",
+ {
+ "t": "#000000",
+ "a": 4
+ },
+ ";\n\n\n\n\n\n,",
+ {
+ "t": "#000000\n\n\n#dbff00"
+ },
+ ":\n\n\n/\n\n\n.",
+ {
+ "t": "#000000"
+ },
+ "!\n\n\n\n\n\n?",
+ {
+ "t": "#000000\n\n\n\n\n\n\n#0700ff"
+ },
+ "TAB\n\n\n\n\n\n\n)"
+ ],
+ [
+ {
+ "x": 3,
+ "t": "#000000\n\n\n\n#009616",
+ "a": 0
+ },
+ "ESC\n\n\n\nUTIL",
+ {
+ "t": "#000000\n\n\n\n#dbff00"
+ },
+ "Spc\n\n\n\nNAV",
+ {
+ "t": "#000000",
+ "a": 4
+ },
+ "!Shft",
+ {
+ "x": 0.75
+ },
+ "Ent",
+ {
+ "t": "#000000\n\n\n\n#0700ff",
+ "a": 0
+ },
+ "Bsp\n\n\n\nNUM",
+ {
+ "t": "#000000\n\n\n\n#9c5b00"
+ },
+ "Del\n\n\n\nFUN"
+ ]
+]
\ No newline at end of file
diff --git a/keyboards/callmemero/keyboard-layout.png b/keyboards/callmemero/keyboard-layout.png
new file mode 100644
index 00000000..f5fc092a
Binary files /dev/null and b/keyboards/callmemero/keyboard-layout.png differ
diff --git a/keyboards/callmemero/keymap.png b/keyboards/callmemero/keymap.png
new file mode 100644
index 00000000..f481fcae
Binary files /dev/null and b/keyboards/callmemero/keymap.png differ
diff --git a/keyboards/callmemero/keymaps/default/config.h b/keyboards/callmemero/keymaps/default/config.h
new file mode 100644
index 00000000..e851aa23
--- /dev/null
+++ b/keyboards/callmemero/keymaps/default/config.h
@@ -0,0 +1,33 @@
+#pragma once
+
+/* The way how "handedness" is decided (which half is which),
+see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
+for more options.
+*/
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+
+/* QMK */
+#define TAPPING_TERM 200
+
+/* Miryoku, see https://sunaku.github.io/home-row-mods.html*/
+#define BILATERAL_COMBINATIONS_LIMIT_CHORD_TO_N_KEYS 4 /* GUI, Alt, Ctrl, Shift */
+#define BILATERAL_COMBINATIONS_DELAY_MODS_THAT_MATCH MOD_MASK_GUI
+#define BILATERAL_COMBINATIONS_DELAY_MATCHED_MODS_BY 120 /* ms */
+#define BILATERAL_COMBINATIONS_ALLOW_CROSSOVER_AFTER 80 /* ms */
+#define BILATERAL_COMBINATIONS_ALLOW_SAMESIDED_AFTER 3000 /* ms */
+#define BILATERAL_COMBINATIONS_TYPING_STREAK_TIMEOUT 160 /* ms */
+#define BILATERAL_COMBINATIONS_TYPING_STREAK_MODMASK (~MOD_MASK_SHIFT)
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
+#define CAPS_WORD_INVERT_ON_SHIFT
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_TAPPING
+//#define NO_MUSIC_MODE
+
+#define COMBO_COUNT 28
+#define COMBO_MUST_TAP_PER_COMBO
diff --git a/keyboards/callmemero/keymaps/default/keymap.c b/keyboards/callmemero/keymaps/default/keymap.c
new file mode 100644
index 00000000..8a269688
--- /dev/null
+++ b/keyboards/callmemero/keymaps/default/keymap.c
@@ -0,0 +1,377 @@
+/*
+ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀█▀▀
+ ▄▀▀▀▄ ▄ ▄▀▀▀▄ ▄ ▄▀▀▀▄ █ ▄▀▀▀▄
+ █ █ █ █ █ █ █ █ █ █ █
+ ▀▀▀ █ ▀▀▀ █ ▀▀▀ ▀ ▀▀▀
+ █ ▄▄▄█▄▄▄ █ █
+ ▀ █ █ █ █▄█
+ ▀▀▀▀▀ █ █ █ ▀ ┌─┐┌─╴╷┌──┬─
+ ▀ ▀ ▀ │ ┐├─╴│└─┐│
+ └─┘└─╴╵╶─┘╵
+▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
+*/
+
+#include QMK_KEYBOARD_H
+#include
+#include "callmemero.h"
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ D E F I N I T I O N S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e l a y e r s │
+// └─────────────────────────────────────────────────┘
+
+enum totem_layers {
+ _BASE,
+ _NAV,
+ _NUM,
+ _FUN,
+ _UTIL
+};
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e k e y c o d e s │
+// └─────────────────────────────────────────────────┘
+
+enum custom_keycodes {
+ NAV = SAFE_RANGE,
+ NUM,
+ FUN,
+ UTIL
+};
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e m a c r o n a m e s │
+// └─────────────────────────────────────────────────┘
+
+// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐
+
+#define CTL_A MT(MOD_LCTL, KC_A)
+#define ALT_R MT(MOD_LALT, KC_R)
+#define GUI_S MT(MOD_LGUI, KC_S)
+#define SHT_T MT(MOD_LSFT, KC_T)
+#define HYP_D MT(MOD_HYPR, KC_D)
+#define MEH_C MT(MOD_MEH, KC_C)
+
+// RIGHT HAND HOME ROW MODS ├───────────────────────────────────┐
+
+#define SHT_N MT(MOD_RSFT, KC_N)
+#define GUI_E MT(MOD_LGUI, KC_E)
+#define ALT_I MT(MOD_LALT, KC_I)
+#define CTL_O MT(MOD_LCTL, KC_O)
+#define HYP_H MT(MOD_HYPR, KC_H)
+#define MEH_COM MT(MOD_MEH, KC_COMM)
+
+// LAYER TAP KEYS ├───────────────────────────────────┐
+
+#define NAV LT(_NAV, KC_SPACE)
+#define NUM LT(_NUM, KC_BSPC)
+#define FUN LT(_FUN, KC_DEL)
+#define UTIL LT(_UTIL, KC_ESC)
+
+// OTHER KEY DEFINITIONS ├───────────────────────────────────┐
+
+#define OS_SHT OSM(MOD_LSFT)
+#define BACK G(KC_LBRC)
+#define FWD G(KC_RBRC)
+
+#define S_CUT G(KC_X)
+#define S_COPY G(KC_C)
+#define S_PASTE G(KC_V)
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e c o m b o s │
+// └─────────────────────────────────────────────────┘
+
+// Left hand vertical combos
+// Between top and home row
+const uint16_t PROGMEM at_combo[] = {KC_W, ALT_R, COMBO_END};
+const uint16_t PROGMEM hash_combo[] = {KC_F, GUI_S, COMBO_END};
+const uint16_t PROGMEM dollar_combo[] = {KC_P, SHT_T, COMBO_END};
+const uint16_t PROGMEM perc_combo[] = {KC_B, KC_G, COMBO_END};
+
+// Between home and bottom row
+const uint16_t PROGMEM grave_combo[] = {ALT_R, KC_X, COMBO_END};
+const uint16_t PROGMEM bsls_combo[] = {GUI_S, MEH_C, COMBO_END};
+const uint16_t PROGMEM eql_combo[] = {SHT_T, HYP_D, COMBO_END};
+const uint16_t PROGMEM tilde_combo[] = {KC_G, KC_V, COMBO_END};
+
+// horizontal combos
+const uint16_t PROGMEM esc_combo[] = {ALT_R, SHT_T, COMBO_END};
+const uint16_t PROGMEM copy_combo[] = {KC_X, MEH_C, COMBO_END};
+const uint16_t PROGMEM paste_combo[] = {MEH_C, HYP_D, COMBO_END};
+const uint16_t PROGMEM cut_combo[] = {KC_X, HYP_D, COMBO_END};
+
+// Right hand vertical combos
+// Between top and home row
+const uint16_t PROGMEM caret_combo[] = {KC_J, KC_M, COMBO_END};
+const uint16_t PROGMEM plus_combo[] = {KC_L, SHT_N, COMBO_END};
+const uint16_t PROGMEM star_combo[] = {KC_U, GUI_E, COMBO_END};
+const uint16_t PROGMEM amp_combo[] = {KC_Y, ALT_I, COMBO_END};
+
+// Between home and bottow row
+const uint16_t PROGMEM unds_combo[] = {KC_M, KC_K, COMBO_END};
+const uint16_t PROGMEM mins_combo[] = {SHT_N, HYP_H, COMBO_END};
+const uint16_t PROGMEM slsh_combo[] = {GUI_E, MEH_COM, COMBO_END};
+const uint16_t PROGMEM pipe_combo[] = {ALT_I, KC_DOT, COMBO_END};
+
+// Horizontal combos: brackets
+const uint16_t PROGMEM lsqr_combo[] = {KC_L, KC_U, COMBO_END};
+const uint16_t PROGMEM rsqr_combo[] = {KC_U, KC_Y, COMBO_END};
+const uint16_t PROGMEM lpar_combo[] = {SHT_N, GUI_E, COMBO_END};
+const uint16_t PROGMEM rpar_combo[] = {GUI_E, ALT_I, COMBO_END};
+const uint16_t PROGMEM lcbr_combo[] = {HYP_H, MEH_COM, COMBO_END};
+const uint16_t PROGMEM rcbr_combo[] = {MEH_COM, KC_DOT, COMBO_END};
+
+const uint16_t PROGMEM lt_combo[] = {KC_M, SHT_N, COMBO_END};
+const uint16_t PROGMEM gt_combo[] = {ALT_I, CTL_O, COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+ COMBO(at_combo, KC_AT),
+ COMBO(hash_combo, KC_HASH),
+ COMBO(dollar_combo, KC_DLR),
+ COMBO(perc_combo, KC_PERC),
+ COMBO(grave_combo, KC_GRV),
+ COMBO(bsls_combo, KC_BSLS),
+ COMBO(eql_combo, KC_EQL),
+ COMBO(tilde_combo, KC_TILD),
+ COMBO(esc_combo, KC_ESC),
+ COMBO(copy_combo, S_COPY),
+ COMBO(paste_combo, S_PASTE),
+ COMBO(cut_combo, S_CUT),
+ COMBO(caret_combo, KC_CIRC),
+ COMBO(plus_combo, KC_PLUS),
+ COMBO(star_combo, KC_ASTR),
+ COMBO(amp_combo, KC_AMPR),
+ COMBO(unds_combo, KC_UNDS),
+ COMBO(mins_combo, KC_MINS),
+ COMBO(slsh_combo, KC_SLSH),
+ COMBO(pipe_combo, KC_PIPE),
+ COMBO(lsqr_combo, KC_LBRC),
+ COMBO(rsqr_combo, KC_RBRC),
+ COMBO(lpar_combo, KC_LPRN),
+ COMBO(rpar_combo, KC_RPRN),
+ COMBO(lcbr_combo, KC_LCBR),
+ COMBO(rcbr_combo, KC_RCBR),
+ COMBO(lt_combo, KC_LT),
+ COMBO(gt_combo, KC_GT)
+};
+
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e k e y o v e r r i d e s │
+// └─────────────────────────────────────────────────┘
+
+// shift + ? = !
+const key_override_t quexclam_override = ko_make_basic(MOD_MASK_SHIFT, KC_QUES, KC_EXLM);
+
+// Override comma key: no mod = , | shift = ; | ctrl+shift = <
+const key_override_t semicolon_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_SHIFT, // Trigger modifiers: shift
+ MEH_COM, // Trigger key: meh_comma hold tap key
+ KC_SCLN, // Replacement key: ;
+ ~0, // Activate on all layers
+ MOD_MASK_CA, // Do not activate when ctrl, alt or gui is pressed
+ ko_option_no_reregister_trigger);
+const key_override_t lt_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_CS, // Trigger modifiers: ctrl+shift
+ MEH_COM, // Trigger key: meh_comma hold tap key
+ KC_LT, // Replacemeng key: <
+ ~0, // All layers
+ MOD_MASK_AG, // Do not activate when alt or gui is pressed
+ ko_option_no_reregister_trigger);
+
+// Override . key: no mod = . | shift = : | ctrl+shift = >
+const key_override_t colon_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_SHIFT, // Trigger modifiers: shift
+ KC_DOT, // Trigger key: dot key
+ KC_COLN, // Replacement key: :
+ ~0, // Activate on all layers
+ MOD_MASK_CA, // Do not activate when ctrl or alt is pressed
+ ko_option_no_reregister_trigger);
+const key_override_t gt_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_CS, // Trigger modifiers: ctrl+shift
+ KC_DOT, // Trigger key: dot key
+ KC_GT, // Replacemeng key: >
+ ~0, // All layers
+ MOD_MASK_AG, // Do not activate when alt or gui is pressed
+ ko_option_no_reregister_trigger);
+
+// This globally defines all key overrides to be used ├───────────┐
+const key_override_t **key_overrides = (const key_override_t *[]){
+ &quexclam_override,
+ &semicolon_override,
+ <_override,
+ &colon_override,
+ >_override,
+ NULL // Null terminate the array of overrides!
+};
+
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ K E Y M A P S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌─────────────────────────────────────────────────┐
+ │ b a s e │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ ┄┈┈───═╡ Q │ W │ F │ P │ B ││ J │ L │ U │ Y │ ' │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ A │ R │ S │ T │ G ││ M │ N │ E │ I │ O │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ TAB │ Z │ X │ C │ D │ V ││ K │ H │ ,; │ .: │ ?! │ TAB │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ UTIL │ NAV │ SHIFT ││ ENT │ NUM │ FUN │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘*/
+
+ [_BASE] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
+ CTL_A, ALT_R, GUI_S, SHT_T, KC_G, KC_M, SHT_N, GUI_E, ALT_I, CTL_O,
+ KC_TAB, KC_Z, KC_X, MEH_C, HYP_D, KC_V, KC_K, HYP_H, MEH_COM, KC_DOT, KC_QUES, KC_TAB,
+ UTIL, NAV, OS_SHT, KC_ENT, NUM, FUN
+ ),
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ n a v │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ ╌┄┈┈───═╡ │ │ │ │ ││ │ HOME │ UP │ END │ PGUP │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ CTRL │ ALT │ CMD │ SHFT │ ││ │ LEFT │ DOWN │ RIGHT │ PGDN │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ BACK │ │ │ MEH │ HYPR │ ││ │ ~ │ │ / │ │ FWD │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ │ ││ ENT │ BSPC │ DEL │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_NAV] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,
+ BACK, _______, _______, KC_MEH, KC_HYPR, _______, _______, KC_TILD, _______, KC_SLSH, _______, FWD,
+ _______, _______, _______, KC_ENT, KC_BSPC, KC_DEL
+ ),
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ n u m │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ ╌┄┈┈── ─═╡ + │ 7 │ 8 │ 9 │ * ││ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ 0 │ 4 │ 5 │ 6 │ = ││ │ SHFT │ CMD │ ALT │ CTRL │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ ( │ - │ 1 │ 2 │ 3 │ / ││ │ HYPR │ MEH │ │ │ ) │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ . │ : ││ │ │ │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_NUM] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, _______, _______, _______, _______, _______,
+ KC_0, KC_4, KC_5, KC_6, KC_EQL, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
+ KC_LPRN, KC_MINS, KC_1, KC_2, KC_3, KC_SLSH, _______, KC_HYPR, KC_MEH, _______, _______, KC_RPRN,
+ _______, KC_DOT, KC_SCLN, _______, _______, _______
+ ),
+/*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ f u n c t i o n │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ ╌┄┈ ┈───═╡ F12 │ F7 │ F8 │ F9 │ ││ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ F11 │ F4 │ F5 │ F6 │ ││ │ SHFT │ CMD │ ALT │ CTRL │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ │ F10 │ F1 │ F2 │ F3 │ ││ │ HYPR │ MEH │ │ │ │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ │ ││ │ │ │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_FUN] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_F12, KC_F7, KC_F8, KC_F9, _______, _______, _______, _______, _______, _______,
+ KC_F11, KC_F4, KC_F5, KC_F6, _______, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
+ _______, KC_F10, KC_F1, KC_F2, KC_F3, _______, _______, KC_HYPR, KC_MEH, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+/*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ u t i l i t y │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ ╌┄┈ ┈───═╡ BOOT │ │ │ │ ││ │ │ VOL+ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ │ │ │ │ ││ │ │ VOL- │ │ │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ │ │ │ │ │ ││ │ │ │ │ │ │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ │ ││ │ │ MUTE │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_UTIL] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ QK_BOOT, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MCTL,
+ _______, _______, _______, _______, _______, KC_MUTE
+ )
+};
+
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ M A C R O S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+// Make sure combos are always tapped and not held
+bool get_combo_must_tap(uint16_t index, combo_t *combo) {
+ // If you want all combos to be tap-only, just uncomment the next line
+ return true;
+
+}
+
+
+/*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+
+ ██████
+ ██ ▄▄▄▄
+ ██ ██▀▀██
+ ▀▀ ██▄▄██
+ ██████ ▀▀▀▀
+ ██ ▄▄▄▄▄▄
+ ██ ██▀▀▀▀
+ ██ ██████
+ ██▄▄▄▄
+ ▀▀▀▀▀▀
+ ████████
+ ██ ██ ██
+ ██ ██ ██
+ ▀▀ ▀▀ ▀▀
+ ████████
+
+*/
+
+
+
diff --git a/keyboards/callmemero/keymaps/default/rules.mk b/keyboards/callmemero/keymaps/default/rules.mk
new file mode 100644
index 00000000..061e9cff
--- /dev/null
+++ b/keyboards/callmemero/keymaps/default/rules.mk
@@ -0,0 +1,4 @@
+DYNAMIC_MACRO_ENABLE = yes
+COMBO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = yes
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/callmemero/keymaps/totem/config.h b/keyboards/callmemero/keymaps/totem/config.h
new file mode 100644
index 00000000..94fd2869
--- /dev/null
+++ b/keyboards/callmemero/keymaps/totem/config.h
@@ -0,0 +1,33 @@
+#pragma once
+
+/* The way how "handedness" is decided (which half is which),
+see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
+for more options.
+*/
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+
+/* QMK */
+#define TAPPING_TERM 200
+
+/* Miryoku, see https://sunaku.github.io/home-row-mods.html*/
+#define BILATERAL_COMBINATIONS_LIMIT_CHORD_TO_N_KEYS 4 /* GUI, Alt, Ctrl, Shift */
+#define BILATERAL_COMBINATIONS_DELAY_MODS_THAT_MATCH MOD_MASK_GUI
+#define BILATERAL_COMBINATIONS_DELAY_MATCHED_MODS_BY 120 /* ms */
+#define BILATERAL_COMBINATIONS_ALLOW_CROSSOVER_AFTER 80 /* ms */
+#define BILATERAL_COMBINATIONS_ALLOW_SAMESIDED_AFTER 3000 /* ms */
+#define BILATERAL_COMBINATIONS_TYPING_STREAK_TIMEOUT 160 /* ms */
+#define BILATERAL_COMBINATIONS_TYPING_STREAK_MODMASK (~MOD_MASK_SHIFT)
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
+#define CAPS_WORD_INVERT_ON_SHIFT
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_TAPPING
+//#define NO_MUSIC_MODE
+
+#define COMBO_COUNT 31
+#define COMBO_MUST_TAP_PER_COMBO
diff --git a/keyboards/callmemero/keymaps/totem/keymap.c b/keyboards/callmemero/keymaps/totem/keymap.c
new file mode 100644
index 00000000..0d896aa2
--- /dev/null
+++ b/keyboards/callmemero/keymaps/totem/keymap.c
@@ -0,0 +1,387 @@
+/*
+ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀█▀▀
+ ▄▀▀▀▄ ▄ ▄▀▀▀▄ ▄ ▄▀▀▀▄ █ ▄▀▀▀▄
+ █ █ █ █ █ █ █ █ █ █ █
+ ▀▀▀ █ ▀▀▀ █ ▀▀▀ ▀ ▀▀▀
+ █ ▄▄▄█▄▄▄ █ █
+ ▀ █ █ █ █▄█
+ ▀▀▀▀▀ █ █ █ ▀ ┌─┐┌─╴╷┌──┬─
+ ▀ ▀ ▀ │ ┐├─╴│└─┐│
+ └─┘└─╴╵╶─┘╵
+▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
+*/
+
+#include QMK_KEYBOARD_H
+#include
+#include "callmemero.h"
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ D E F I N I T I O N S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e l a y e r s │
+// └─────────────────────────────────────────────────┘
+
+enum totem_layers {
+ _BASE,
+ _NAV,
+ _NUM,
+ _FUN,
+ _UTIL
+};
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e k e y c o d e s │
+// └─────────────────────────────────────────────────┘
+
+enum custom_keycodes {
+ NAV = SAFE_RANGE,
+ NUM,
+ FUN,
+ UTIL
+};
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e m a c r o n a m e s │
+// └─────────────────────────────────────────────────┘
+
+// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐
+
+#define CTL_A MT(MOD_LCTL, KC_A)
+#define ALT_S MT(MOD_LALT, KC_S)
+#define GUI_D MT(MOD_LGUI, KC_D)
+#define SHT_F MT(MOD_LSFT, KC_F)
+#define HYP_V MT(MOD_HYPR, KC_V)
+#define MEH_C MT(MOD_MEH, KC_C)
+
+// RIGHT HAND HOME ROW MODS ├───────────────────────────────────┐
+
+#define SHT_J MT(MOD_RSFT, KC_J)
+#define GUI_K MT(MOD_LGUI, KC_K)
+#define ALT_L MT(MOD_LALT, KC_L)
+#define CTL_QUOT MT(MOD_LCTL, KC_QUOT)
+#define HYP_M MT(MOD_HYPR, KC_M)
+#define MEH_COM MT(MOD_MEH, KC_COMM)
+
+// LAYER TAP KEYS ├───────────────────────────────────┐
+
+#define NAV LT(_NAV, KC_SPACE)
+#define NUM LT(_NUM, KC_BSPC)
+#define FUN LT(_FUN, KC_DEL)
+#define UTIL LT(_UTIL, KC_ESC)
+
+// OTHER KEY DEFINITIONS ├───────────────────────────────────┐
+
+#define OS_SHT OSM(MOD_LSFT)
+#define EURO_SIGN RALT(KC_5)
+
+// TODO, create marco for undo and redo
+// todo, add keybind for capslock
+
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e c o m b o s │
+// └─────────────────────────────────────────────────┘
+
+// Left hand vertical combos
+// Between top and home row
+const uint16_t PROGMEM at_combo[] = {KC_W, ALT_S, COMBO_END};
+const uint16_t PROGMEM hash_combo[] = {KC_E, GUI_D, COMBO_END};
+const uint16_t PROGMEM dollar_combo[] = {KC_R, SHT_F, COMBO_END};
+const uint16_t PROGMEM perc_combo[] = {KC_T, KC_G, COMBO_END};
+
+// Between home and bottom row
+const uint16_t PROGMEM grave_combo[] = {ALT_S, KC_X, COMBO_END};
+const uint16_t PROGMEM bsls_combo[] = {GUI_D, MEH_C, COMBO_END};
+const uint16_t PROGMEM eql_combo[] = {SHT_F, HYP_V, COMBO_END};
+const uint16_t PROGMEM tilde_combo[] = {KC_G, KC_B, COMBO_END};
+
+// horizontal combos
+const uint16_t PROGMEM esc_combo[] = {ALT_S, SHT_F, COMBO_END};
+const uint16_t PROGMEM copy_combo[] = {KC_X, MEH_C, COMBO_END};
+const uint16_t PROGMEM paste_combo[] = {MEH_C, HYP_V, COMBO_END};
+const uint16_t PROGMEM cut_combo[] = {KC_X, HYP_V, COMBO_END};
+
+// Right hand vertical combos
+// Between top and home row
+const uint16_t PROGMEM caret_combo[] = {KC_Y, KC_H, COMBO_END};
+const uint16_t PROGMEM plus_combo[] = {KC_U, SHT_J, COMBO_END};
+const uint16_t PROGMEM star_combo[] = {KC_I, GUI_K, COMBO_END};
+const uint16_t PROGMEM amp_combo[] = {KC_O, ALT_L, COMBO_END};
+
+// Between home and bottow row
+const uint16_t PROGMEM unds_combo[] = {KC_H, KC_N, COMBO_END};
+const uint16_t PROGMEM mins_combo[] = {SHT_J, HYP_M, COMBO_END};
+const uint16_t PROGMEM slsh_combo[] = {GUI_K, MEH_COM, COMBO_END};
+const uint16_t PROGMEM pipe_combo[] = {ALT_L, KC_DOT, COMBO_END};
+
+// Horizontal combos: brackets
+const uint16_t PROGMEM lsqr_combo[] = {KC_U, KC_I, COMBO_END};
+const uint16_t PROGMEM rsqr_combo[] = {KC_I, KC_O, COMBO_END};
+const uint16_t PROGMEM lpar_combo[] = {SHT_J, GUI_K, COMBO_END};
+const uint16_t PROGMEM rpar_combo[] = {GUI_K, ALT_L, COMBO_END};
+const uint16_t PROGMEM lcbr_combo[] = {HYP_M, MEH_COM, COMBO_END};
+const uint16_t PROGMEM rcbr_combo[] = {MEH_COM, KC_DOT, COMBO_END};
+
+// Vertical combos: Umlaute
+const uint16_t PROGMEM ae_combo[] = {KC_R, KC_T, COMBO_END};
+const uint16_t PROGMEM oe_combo[] = {SHT_F, KC_G, COMBO_END};
+const uint16_t PROGMEM ue_combo[] = {HYP_V, KC_B, COMBO_END};
+
+const uint16_t PROGMEM lt_combo[] = {KC_H, SHT_J, COMBO_END};
+const uint16_t PROGMEM gt_combo[] = {ALT_L, CTL_QUOT, COMBO_END};
+
+// todo, create combo for ß
+
+
+combo_t key_combos[COMBO_COUNT] = {
+ COMBO(at_combo, KC_AT),
+ COMBO(hash_combo, KC_HASH),
+ COMBO(dollar_combo, KC_DLR),
+ COMBO(perc_combo, KC_PERC),
+ COMBO(grave_combo, KC_GRV),
+ COMBO(bsls_combo, KC_BSLS),
+ COMBO(eql_combo, KC_EQL),
+ COMBO(tilde_combo, KC_TILD),
+ COMBO(esc_combo, KC_ESC),
+ COMBO(copy_combo, LCTL(KC_C)),
+ COMBO(paste_combo, LCTL(KC_V)),
+ COMBO(cut_combo, LCTL(KC_X)),
+ COMBO(caret_combo, KC_CIRC),
+ COMBO(plus_combo, KC_PLUS),
+ COMBO(star_combo, KC_ASTR),
+ COMBO(amp_combo, KC_AMPR),
+ COMBO(unds_combo, KC_UNDS),
+ COMBO(mins_combo, KC_MINS),
+ COMBO(slsh_combo, KC_SLSH),
+ COMBO(pipe_combo, KC_PIPE),
+ COMBO(lsqr_combo, KC_LBRC),
+ COMBO(rsqr_combo, KC_RBRC),
+ COMBO(lpar_combo, KC_LPRN),
+ COMBO(rpar_combo, KC_RPRN),
+ COMBO(lcbr_combo, KC_LCBR),
+ COMBO(rcbr_combo, KC_RCBR),
+ COMBO(ae_combo, RALT(KC_Q)),
+ COMBO(oe_combo, RALT(KC_P)),
+ COMBO(ue_combo, RALT(KC_Y)),
+ COMBO(lt_combo, KC_LT),
+ COMBO(gt_combo, KC_GT),
+ COMBO(euro_combo, EURO_SIGN)
+};
+
+
+// ┌─────────────────────────────────────────────────┐
+// │ d e f i n e k e y o v e r r i d e s │
+// └─────────────────────────────────────────────────┘
+
+// shift + ? = !
+const key_override_t quexclam_override = ko_make_basic(MOD_MASK_SHIFT, KC_QUES, KC_EXLM);
+
+// Override comma key: no mod = , | shift = ; | ctrl+shift = <
+const key_override_t semicolon_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_SHIFT, // Trigger modifiers: shift
+ MEH_COM, // Trigger key: meh_comma hold tap key
+ KC_SCLN, // Replacement key: ;
+ ~0, // Activate on all layers
+ MOD_MASK_CA, // Do not activate when ctrl, alt or gui is pressed
+ ko_option_no_reregister_trigger);
+const key_override_t lt_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_CS, // Trigger modifiers: ctrl+shift
+ MEH_COM, // Trigger key: meh_comma hold tap key
+ KC_LT, // Replacemeng key: <
+ ~0, // All layers
+ MOD_MASK_AG, // Do not activate when alt or gui is pressed
+ ko_option_no_reregister_trigger);
+
+// Override . key: no mod = . | shift = : | ctrl+shift = >
+const key_override_t colon_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_SHIFT, // Trigger modifiers: shift
+ KC_DOT, // Trigger key: dot key
+ KC_COLN, // Replacement key: :
+ ~0, // Activate on all layers
+ MOD_MASK_CA, // Do not activate when ctrl or alt is pressed
+ ko_option_no_reregister_trigger);
+const key_override_t gt_override =
+ ko_make_with_layers_negmods_and_options(
+ MOD_MASK_CS, // Trigger modifiers: ctrl+shift
+ KC_DOT, // Trigger key: dot key
+ KC_GT, // Replacemeng key: >
+ ~0, // All layers
+ MOD_MASK_AG, // Do not activate when alt or gui is pressed
+ ko_option_no_reregister_trigger);
+
+// This globally defines all key overrides to be used ├───────────┐
+const key_override_t *key_overrides[] = {
+ &quexclam_override,
+ &semicolon_override,
+ <_override,
+ &colon_override,
+ >_override
+};
+
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ K E Y M A P S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌─────────────────────────────────────────────────┐
+ │ b a s e │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ │ Q │ W │ E │ R │ T ││ Y │ U │ I │ O │ P │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ A │ S │ D │ F │ G ││ H │ J │ K │ L │ ' │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ TAB │ Y │ X │ C │ V │ B ││ N │ M │ ,; │ .: │ ?! │ TAB │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ UTIL │ NAV │ SHIFT ││ ENT │ NUM │ FUN │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘*/
+
+ [_BASE] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ CTL_A, ALT_S, GUI_D, SHT_F, KC_G, KC_H, SHT_J, GUI_K, ALT_L, CTL_QUOT,
+ KC_TAB, KC_Z, KC_X, MEH_C, HYP_V, KC_B, KC_N, HYP_M, MEH_COM, KC_DOT, KC_QUES, KC_TAB,
+ UTIL, NAV, OS_SHT, KC_ENT, NUM, FUN
+ ),
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ n a v │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ │ │ │ │ │ ││ │ HOME │ UP │ END │ PGUP │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ CTRL │ ALT │ CMD │ SHFT │ ││ │ LEFT │ DOWN │ RIGHT │ PGDN │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ BACK │ │ │ MEH │ HYPR │ ││ │ ~ │ │ / │ │ FWD │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ │ ││ ENT │ BSPC │ DEL │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_NAV] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,
+ _______, _______, _______, KC_MEH, KC_HYPR, _______, _______, KC_TILD, _______, KC_SLSH, _______, _______,
+ _______, _______, _______, KC_ENT, KC_BSPC, KC_DEL
+ ),
+ /*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ n u m │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ │ + │ 7 │ 8 │ 9 │ * ││ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ 0 │ 4 │ 5 │ 6 │ = ││ │ SHFT │ CMD │ ALT │ CTRL │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ ( │ - │ 1 │ 2 │ 3 │ / ││ │ HYPR │ MEH │ │ │ ) │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ . │ : ││ │ │ │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_NUM] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, _______, _______, _______, _______, _______,
+ KC_0, KC_4, KC_5, KC_6, KC_EQL, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
+ KC_LPRN, KC_MINS, KC_1, KC_2, KC_3, KC_SLSH, _______, KC_HYPR, KC_MEH, _______, _______, KC_RPRN,
+ _______, KC_DOT, KC_SCLN, _______, _______, _______
+ ),
+/*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ f u n c t i o n │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ │ F12 │ F7 │ F8 │ F9 │ ││ │ │ │ │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ F11 │ F4 │ F5 │ F6 │ ││ │ SHFT │ CMD │ ALT │ CTRL │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ │ F10 │ F1 │ F2 │ F3 │ ││ │ HYPR │ MEH │ │ │ │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ │ ││ │ │ │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_FUN] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ KC_F12, KC_F7, KC_F8, KC_F9, _______, _______, _______, _______, _______, _______,
+ KC_F11, KC_F4, KC_F5, KC_F6, _______, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
+ _______, KC_F10, KC_F1, KC_F2, KC_F3, _______, _______, KC_HYPR, KC_MEH, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+/*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+ ┌─────────────────────────────────────────────────┐
+ │ u t i l i t y │ ╭╮╭╮╭╮╭╮
+ └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
+ ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
+ │ BOOT │ │ │ │ ││ € │ <<<<< │ VOL+ │ >>>>> │ │
+ ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
+ │ │ │ │ │ ││ │ │ VOL- │ │ │
+ ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
+ │ │ │ │ │ │ ││ │ │ PL/PA │ │ │ │
+ └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
+ │ │ │ ││ │ │ MUTE │
+ └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
+
+ [_UTIL] = LAYOUT(
+ //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
+ QK_BOOT, _______, _______, _______, _______, EURO_SIGN, KC_MPRV, KC_VOLU, KC_MNXT, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_MUTE
+ )
+};
+
+
+// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
+// │ M A C R O S │
+// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
+// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+// Make sure combos are always tapped and not held
+bool get_combo_must_tap(uint16_t index, combo_t *combo) {
+ // If you want all combos to be tap-only, just uncomment the next line
+ return true;
+
+}
+
+
+/*
+ ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
+
+
+ ██████
+ ██ ▄▄▄▄
+ ██ ██▀▀██
+ ▀▀ ██▄▄██
+ ██████ ▀▀▀▀
+ ██ ▄▄▄▄▄▄
+ ██ ██▀▀▀▀
+ ██ ██████
+ ██▄▄▄▄
+ ▀▀▀▀▀▀
+ ████████
+ ██ ██ ██
+ ██ ██ ██
+ ▀▀ ▀▀ ▀▀
+ ████████
+
+*/
+
+
+
diff --git a/keyboards/callmemero/keymaps/totem/rules.mk b/keyboards/callmemero/keymaps/totem/rules.mk
new file mode 100644
index 00000000..061e9cff
--- /dev/null
+++ b/keyboards/callmemero/keymaps/totem/rules.mk
@@ -0,0 +1,4 @@
+DYNAMIC_MACRO_ENABLE = yes
+COMBO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = yes
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/callmemero/mcuconf.h b/keyboards/callmemero/mcuconf.h
new file mode 100644
index 00000000..c7d2f690
--- /dev/null
+++ b/keyboards/callmemero/mcuconf.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#include_next
+
+#undef RP_PWM_USE_PWM4
+#define RP_PWM_USE_PWM4 TRUE
+
+#undef RP_PWM_USE_TIM1
+#define RP_PWM_USE_TIM1 TRUE
diff --git a/keyboards/callmemero/readme.md b/keyboards/callmemero/readme.md
new file mode 100644
index 00000000..dbcf93cd
--- /dev/null
+++ b/keyboards/callmemero/readme.md
@@ -0,0 +1,26 @@
+```
+ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀█▀▀
+ ▄▀▀▀▄ ▄ ▄▀▀▀▄ ▄ ▄▀▀▀▄ █ ▄▀▀▀▄
+ █ █ █ █ █ █ █ █ █ █ █
+ ▀▀▀ █ ▀▀▀ █ ▀▀▀ ▀ ▀▀▀
+ █ ▄▄▄█▄▄▄ █ █
+ ▀ █ █ █ █▄█
+ ▀▀▀▀▀ █ █ █ ▀
+ ▀ ▀ ▀
+▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
+
+```
+# TOTEM split keyboard
+
+TOTEM is 34 keys column-staggered split keyboard made by @geigeigeist. It uses the Seeed XIAO RP2040.
+
+You can use this command to compile the firmware
+`qmk compile -kb callmemero -km totem`
+
+
+
+
+
+
+
+
diff --git a/keyboards/callmemero/rules.mk b/keyboards/callmemero/rules.mk
new file mode 100644
index 00000000..64aa03b2
--- /dev/null
+++ b/keyboards/callmemero/rules.mk
@@ -0,0 +1,35 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# Ignore some warnings during the build, likely to be fixed before RP2040 PR is merged
+ALLOW_WARNINGS = yes
+
+# For bilateral combinations patch
+DEFERRED_EXEC_ENABLE = yes
+
+# LTO must be disabled for RP2040 builds
+LTO_ENABLE = no
+
+SPLIT_KEYBOARD = yes
+SWAP_HANDS_ENABLE = yes
+
+# PIO serial/WS2812 drivers must be used on RP2040
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
+
+#SPACE SAVING
+EXTRAKEY_ENABLE = yes
+AUDIO_ENABLE = no
+MUSIC_ENABLE = no
+AUTO_SHIFT_ENABLE = no
+LTO_ENABLE = no
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+MOUSEKEY_ENABLE = yes
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
+MAGIC_ENABLE = no
+