aboutsummaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/dygma/raise/rules.mk2
-rw-r--r--keyboards/handwired/franky36/keyboard.json4
-rw-r--r--keyboards/handwired/hen_des/epssp75/keyboard.json2
-rw-r--r--keyboards/handwired/lumawing/keyboard.json2
-rw-r--r--keyboards/handwired/onekey/at_start_f415/halconf.h1
-rw-r--r--keyboards/handwired/onekey/kb2040/halconf.h1
-rw-r--r--keyboards/handwired/onekey/rp2040/halconf.h1
-rw-r--r--keyboards/handwired/onekey/weact_g0b1cb/config.h28
-rw-r--r--keyboards/handwired/onekey/weact_g0b1cb/halconf.h11
-rw-r--r--keyboards/handwired/onekey/weact_g0b1cb/keyboard.json20
-rw-r--r--keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h18
-rw-r--r--keyboards/handwired/onekey/weact_g0b1cb/readme.md5
-rw-r--r--keyboards/handwired/riblee_split/keyboard.json4
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/rules.mk1
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h2
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h5
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h2
-rw-r--r--keyboards/handwired/wwa/soyuz/keyboard.json10
-rw-r--r--keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c10
-rw-r--r--keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/wwa/soyuz/readme.md2
-rw-r--r--keyboards/handwired/yodadistro/macro/keyboard.json33
-rw-r--r--keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json11
-rw-r--r--keyboards/handwired/yodadistro/macro/readme.md25
-rw-r--r--keyboards/handwired/zeropad/keyboard.json38
-rw-r--r--keyboards/handwired/zeropad/keymaps/default/keymap.c13
-rw-r--r--keyboards/handwired/zeropad/readme.md27
27 files changed, 253 insertions, 26 deletions
diff --git a/keyboards/handwired/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk
index cd02f80200..195edabcae 100644
--- a/keyboards/handwired/dygma/raise/rules.mk
+++ b/keyboards/handwired/dygma/raise/rules.mk
@@ -7,5 +7,3 @@ CUSTOM_MATRIX = lite
I2C_DRIVER_REQUIRED = yes
SRC += matrix.c
-
-DEFAULT_FOLDER = handwired/dygma/raise/ansi
diff --git a/keyboards/handwired/franky36/keyboard.json b/keyboards/handwired/franky36/keyboard.json
index 038fc1eb67..871e6abf9d 100644
--- a/keyboards/handwired/franky36/keyboard.json
+++ b/keyboards/handwired/franky36/keyboard.json
@@ -23,8 +23,8 @@
"url": "https://github.com/avdyushin/franky36",
"usb": {
"device_version": "0.2.0",
- "pid": "0x0001",
- "vid": "0xFEED"
+ "pid": "0x3336",
+ "vid": "0x1209"
},
"community_layouts": ["split_3x5_3"],
"layouts": {
diff --git a/keyboards/handwired/hen_des/epssp75/keyboard.json b/keyboards/handwired/hen_des/epssp75/keyboard.json
index 4d0739b800..1917fd87cc 100644
--- a/keyboards/handwired/hen_des/epssp75/keyboard.json
+++ b/keyboards/handwired/hen_des/epssp75/keyboard.json
@@ -6,8 +6,6 @@
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
- "command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/lumawing/keyboard.json b/keyboards/handwired/lumawing/keyboard.json
index a99d6d2a2e..8af89134aa 100644
--- a/keyboards/handwired/lumawing/keyboard.json
+++ b/keyboards/handwired/lumawing/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LuMaWing",
"manufacturer": "Lucas Mateijsen",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBB80",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/onekey/at_start_f415/halconf.h b/keyboards/handwired/onekey/at_start_f415/halconf.h
index 1fc1b548a2..3c3ba3812a 100644
--- a/keyboards/handwired/onekey/at_start_f415/halconf.h
+++ b/keyboards/handwired/onekey/at_start_f415/halconf.h
@@ -11,6 +11,5 @@
#define HAL_USE_PWM TRUE
#define HAL_USE_SPI TRUE
-#define SPI_USE_WAIT TRUE
#include_next <halconf.h>
diff --git a/keyboards/handwired/onekey/kb2040/halconf.h b/keyboards/handwired/onekey/kb2040/halconf.h
index ce781aa374..96d14ae85c 100644
--- a/keyboards/handwired/onekey/kb2040/halconf.h
+++ b/keyboards/handwired/onekey/kb2040/halconf.h
@@ -17,6 +17,5 @@
#pragma once
#define HAL_USE_SPI TRUE
-#define SPI_USE_WAIT TRUE
#include_next <halconf.h>
diff --git a/keyboards/handwired/onekey/rp2040/halconf.h b/keyboards/handwired/onekey/rp2040/halconf.h
index da4a49b5c1..6310808d9a 100644
--- a/keyboards/handwired/onekey/rp2040/halconf.h
+++ b/keyboards/handwired/onekey/rp2040/halconf.h
@@ -10,6 +10,5 @@
#define HAL_USE_ADC TRUE
#define HAL_USE_SPI TRUE
-#define SPI_USE_WAIT TRUE
#include_next <halconf.h>
diff --git a/keyboards/handwired/onekey/weact_g0b1cb/config.h b/keyboards/handwired/onekey/weact_g0b1cb/config.h
new file mode 100644
index 0000000000..b4550b15f4
--- /dev/null
+++ b/keyboards/handwired/onekey/weact_g0b1cb/config.h
@@ -0,0 +1,28 @@
+// Copyright 2025 Stefan Kerkmann (@karlk90)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define ADC_PIN A0
+
+#define BACKLIGHT_PAL_MODE 1
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PWM_DRIVER PWMD3
+
+#define I2C1_SCL_PAL_MODE 6
+#define I2C1_SDA_PAL_MODE 6
+
+#define LCD_RST_PIN B12
+#define LCD_DC_PIN B11
+#define LCD_CS_PIN B10
+
+#define SPI_MOSI_PAL_MODE 0
+#define SPI_MISO_PAL_MODE 0
+#define SPI_SCK_PAL_MODE 0
+
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_DMA_CHANNEL 2
+#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2
+#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM3_UP
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_PAL_MODE 1
diff --git a/keyboards/handwired/onekey/weact_g0b1cb/halconf.h b/keyboards/handwired/onekey/weact_g0b1cb/halconf.h
new file mode 100644
index 0000000000..2d6f87eba2
--- /dev/null
+++ b/keyboards/handwired/onekey/weact_g0b1cb/halconf.h
@@ -0,0 +1,11 @@
+// Copyright 2025 Stefan Kerkmann (@karlk90)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+#define HAL_USE_I2C TRUE
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/onekey/weact_g0b1cb/keyboard.json b/keyboards/handwired/onekey/weact_g0b1cb/keyboard.json
new file mode 100644
index 0000000000..bb1ce7d5ca
--- /dev/null
+++ b/keyboards/handwired/onekey/weact_g0b1cb/keyboard.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "Onekey WeAct G0B1CB",
+ "processor": "STM32G0B1",
+ "bootloader": "stm32-dfu",
+ "matrix_pins": {
+ "cols": ["B4"],
+ "rows": ["B5"]
+ },
+ "backlight": {
+ "pin": "C6"
+ },
+ "ws2812": {
+ "driver": "pwm",
+ "pin": "B0"
+ },
+ "apa102": {
+ "data_pin": "B15",
+ "clock_pin": "B13"
+ }
+}
diff --git a/keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h b/keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h
new file mode 100644
index 0000000000..50f2bcf627
--- /dev/null
+++ b/keyboards/handwired/onekey/weact_g0b1cb/mcuconf.h
@@ -0,0 +1,18 @@
+// Copyright 2025 Stefan Kerkmann (@karlk90)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 TRUE
diff --git a/keyboards/handwired/onekey/weact_g0b1cb/readme.md b/keyboards/handwired/onekey/weact_g0b1cb/readme.md
new file mode 100644
index 0000000000..4119ffa2ed
--- /dev/null
+++ b/keyboards/handwired/onekey/weact_g0b1cb/readme.md
@@ -0,0 +1,5 @@
+# WeAct Studio STM32G0B1CB onekey
+
+Supported Hardware: <https://github.com/WeActStudio/WeActStudio.STM32G0B1CoreBoard>
+
+To trigger keypress, short together pins *B4* and *B5*.
diff --git a/keyboards/handwired/riblee_split/keyboard.json b/keyboards/handwired/riblee_split/keyboard.json
index 6006f0e4c3..2bf78f96f1 100644
--- a/keyboards/handwired/riblee_split/keyboard.json
+++ b/keyboards/handwired/riblee_split/keyboard.json
@@ -29,7 +29,9 @@
"driver": "usart"
},
"transport": {
- "sync_matrix_state": true
+ "sync": {
+ "matrix_state": true
+ }
}
},
"community_layouts": ["ortho_5x12"],
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
index 0f3d0657aa..fab9162dc6 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
@@ -1,2 +1 @@
POINTING_DEVICE_DRIVER = pmw3360
-MOUSE_SHARED_EP = yes
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h
index 62f56e4d2b..b06f52b7df 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h
@@ -21,7 +21,5 @@
#define HAL_USE_SPI TRUE
#define HAL_USE_GPT TRUE
#define HAL_USE_DAC TRUE
-#define SPI_USE_WAIT TRUE
-#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
#include_next <halconf.h>
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h
index 23f8e5c934..3cf07b9be0 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f405/halconf.h
@@ -22,11 +22,6 @@
# define HAL_USE_PWM TRUE
#endif // defined(WS2812_PWM) || defined(BACKLIGHT_PWM)
-#if HAL_USE_SPI == TRUE
-# define SPI_USE_WAIT TRUE
-# define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
-#endif
-
#ifdef AUDIO_DRIVER_DAC
# define HAL_USE_GPT TRUE
# define HAL_USE_DAC TRUE
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h
index bc07c10527..296119b080 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h
@@ -19,7 +19,5 @@
#define HAL_USE_SERIAL TRUE
#define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE
-#define SPI_USE_WAIT TRUE
-#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
#include_next <halconf.h>
diff --git a/keyboards/handwired/wwa/soyuz/keyboard.json b/keyboards/handwired/wwa/soyuz/keyboard.json
index 4b3a015a35..b922af10a2 100644
--- a/keyboards/handwired/wwa/soyuz/keyboard.json
+++ b/keyboards/handwired/wwa/soyuz/keyboard.json
@@ -8,7 +8,8 @@
"bootmagic": true,
"extrakey": true,
"mousekey": true,
- "nkro": true
+ "nkro": true,
+ "encoder" : true
},
"matrix_pins": {
"cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6"],
@@ -20,6 +21,13 @@
"pid": "0x0004",
"vid": "0x5757"
},
+ "encoder": {
+ "rotary": [
+ {"pin_a": "GP16", "pin_b": "GP17"},
+ {"pin_a": "GP18", "pin_b": "GP19"},
+ {"pin_a": "GP20", "pin_b": "GP21"}
+ ]
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c b/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c
index af0eb592dc..c1d75ffc54 100644
--- a/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c
+++ b/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c
@@ -3,11 +3,17 @@
#include QMK_KEYBOARD_H
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17,
KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24
)
-}; \ No newline at end of file
+};
+
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+};
+#endif
diff --git a/keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk b/keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/handwired/wwa/soyuz/readme.md b/keyboards/handwired/wwa/soyuz/readme.md
index 69f8ef9d76..01a3b60dfe 100644
--- a/keyboards/handwired/wwa/soyuz/readme.md
+++ b/keyboards/handwired/wwa/soyuz/readme.md
@@ -2,7 +2,7 @@
![soyuz](https://i.imgur.com/KwwORGSh.jpeg)
-21 Key and 3 MIDI Potentiometers Macro Keyboard
+21 Key, 3 Encoder
* Keyboard Maintainer: [spacehangover](https://github.com/spacehangover)
* Hardware Supported: RP2040 Handwired
diff --git a/keyboards/handwired/yodadistro/macro/keyboard.json b/keyboards/handwired/yodadistro/macro/keyboard.json
new file mode 100644
index 0000000000..f0a03453b4
--- /dev/null
+++ b/keyboards/handwired/yodadistro/macro/keyboard.json
@@ -0,0 +1,33 @@
+{
+ "manufacturer": "Raspberry Pi",
+ "keyboard_name": "KBP 8-Key Macro Pad",
+ "maintainer": "yodadistro",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "direct": [
+ ["GP3", "GP5", "GP7", "GP9"],
+ ["GP2", "GP4", "GP6", "GP8"]
+ ]
+ },
+ "processor": "RP2040",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x2044",
+ "vid": "0x1209"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json b/keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json
new file mode 100644
index 0000000000..5f5ccb88b0
--- /dev/null
+++ b/keyboards/handwired/yodadistro/macro/keymaps/default/keymap.json
@@ -0,0 +1,11 @@
+{
+ "keyboard": "handwired/yodadistro/macro",
+ "keymap": "default",
+ "layout": "LAYOUT",
+ "layers": [
+ [
+ "KC_A", "KC_B", "KC_C", "KC_D",
+ "KC_E", "KC_F", "KC_G", "KC_H"
+ ]
+ ]
+}
diff --git a/keyboards/handwired/yodadistro/macro/readme.md b/keyboards/handwired/yodadistro/macro/readme.md
new file mode 100644
index 0000000000..ceda19acba
--- /dev/null
+++ b/keyboards/handwired/yodadistro/macro/readme.md
@@ -0,0 +1,25 @@
+# Yoda Distro
+
+![YodaDistro](https://i.imgur.com/W2xnKjF.jpeg)
+
+Scratch made direct wire pin 8-Key (4x2) Macro Pad using a Raspberry Pi Pico (2040).
+
+* Keyboard Maintainer: [YodaDistro](https://github.com/YodaDistro)
+* Hardware Supported: Raspberry Pi Pico (2040)
+* Hardware Availability: 3D Printed Design (https://github.com/YodaDistro/MacroPad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/yodadistro/macro:default
+
+Flashing example for this keyboard:
+
+ make handwired/yodadistro/macro: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
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/handwired/zeropad/keyboard.json b/keyboards/handwired/zeropad/keyboard.json
new file mode 100644
index 0000000000..40bf6c8c2a
--- /dev/null
+++ b/keyboards/handwired/zeropad/keyboard.json
@@ -0,0 +1,38 @@
+{
+ "manufacturer": "Leon Sieber",
+ "keyboard_name": "ZeroPad",
+ "maintainer": "diffrentGuesser",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["D1", "D0", "D4"],
+ "rows": ["C6", "D7", "E6"],
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0x5A50"
+ },
+ "community_layouts": [ "ortho_3x3" ],
+ "layouts": {
+ "LAYOUT_ortho_3x3": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/zeropad/keymaps/default/keymap.c b/keyboards/handwired/zeropad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..aa674bcbda
--- /dev/null
+++ b/keyboards/handwired/zeropad/keymaps/default/keymap.c
@@ -0,0 +1,13 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ortho_3x3(
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_7, KC_8, KC_9
+ )
+};
diff --git a/keyboards/handwired/zeropad/readme.md b/keyboards/handwired/zeropad/readme.md
new file mode 100644
index 0000000000..c021d7dc05
--- /dev/null
+++ b/keyboards/handwired/zeropad/readme.md
@@ -0,0 +1,27 @@
+# ZeroPad
+
+![ZeroPad](https://i.imgur.com/KBkI4q1.jpeg)
+
+This keyboard is inspired by the scotto9 from Joe Scotto. This keyboard is compatible with via and has 4 layers of keybinds (24 keybinds - 4x8 + 1 per layer for changing the layer).
+
+* Keyboard Maintainer: [Leon Sieber](https://github.com/diffrentGuesser)
+* Hardware Supported: Pro Micro, 3 pin switches
+* Hardware Availability: [Pro Micro](https://de.aliexpress.com/item/32846843498.html?spm=a2g0o.cart.0.0.146d4ae4kCjqDY&mp=1&gatewayAdapt=glo2deu), [switches](https://de.aliexpress.com/item/1005007135709029.html?spm=a2g0o.cart.0.0.146d4ae4kCjqDY&mp=1&gatewayAdapt=glo2deu)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/zeropad:default
+
+Flashing example for this keyboard:
+
+ make handwired/zeropad: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 at (0,0) in the matrix (the top left key) and plug in the keyboard
+* **Physical reset**: Short the GND and the RST pins on the Pro Micro.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available