From a24e8c63b0e1331497d5535faef245f4ebc1b597 Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Sat, 7 Jun 2025 19:04:32 +0100 Subject: [PATCH] [Keyboard] Add nomis/rpi_pico_25x1 macropad --- keyboards/nomis/rpi_pico_25x1/keyboard.json | 63 +++++++++++++++++++ .../rpi_pico_25x1/keymaps/default/keymap.c | 34 ++++++++++ keyboards/nomis/rpi_pico_25x1/readme.md | 28 +++++++++ 3 files changed, 125 insertions(+) create mode 100644 keyboards/nomis/rpi_pico_25x1/keyboard.json create mode 100644 keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c create mode 100644 keyboards/nomis/rpi_pico_25x1/readme.md diff --git a/keyboards/nomis/rpi_pico_25x1/keyboard.json b/keyboards/nomis/rpi_pico_25x1/keyboard.json new file mode 100644 index 00000000000..d2d13724157 --- /dev/null +++ b/keyboards/nomis/rpi_pico_25x1/keyboard.json @@ -0,0 +1,63 @@ +{ + "manufacturer": "uuid.uk", + "keyboard_name": "rpi pico 25x1 keyboard", + "maintainer": "nomis", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "extrakey": true, + "joystick": true, + "nkro": true + }, + "joystick": { + "axes": {}, + "button_count": 25, + "driver": "digital" + }, + "matrix_pins": { + "direct": [ + ["GP0", "GP1", "GP2", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP15", "GP14", "GP13", "GP12", "GP19", "GP18", "GP17", "GP16", "GP20", "GP21", "GP22", "GP26", "GP27"] + ] + }, + "processor": "RP2040", + "url": "https://github.com/nomis/keyboard-pcb-rpi-pico-25x1", + "usb": { + "device_version": "1.0.0", + "pid": "0x5A19", + "vid": "0xFEED" + }, + "ws2812": { + "pin": "GP28" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 1}, + {"matrix": [0, 2], "x": 0, "y": 2}, + {"matrix": [0, 3], "x": 0, "y": 3}, + {"matrix": [0, 4], "x": 0, "y": 4}, + {"matrix": [0, 5], "x": 0, "y": 5.2667}, + {"matrix": [0, 6], "x": 0, "y": 6.2667}, + {"matrix": [0, 7], "x": 0, "y": 7.2667}, + {"matrix": [0, 8], "x": 0, "y": 8.2667}, + {"matrix": [0, 9], "x": 0, "y": 9.2667}, + {"matrix": [0, 10], "x": 0, "y": 10.5333}, + {"matrix": [0, 11], "x": 0, "y": 11.5333}, + {"matrix": [0, 12], "x": 0, "y": 12.5333}, + {"matrix": [0, 13], "x": 0, "y": 13.5333}, + {"matrix": [0, 14], "x": 0, "y": 14.5333}, + {"matrix": [0, 15], "x": 0, "y": 15.8}, + {"matrix": [0, 16], "x": 0, "y": 16.8}, + {"matrix": [0, 17], "x": 0, "y": 17.8}, + {"matrix": [0, 18], "x": 0, "y": 18.8}, + {"matrix": [0, 19], "x": 0, "y": 19.8}, + {"matrix": [0, 20], "x": 0, "y": 21.0667}, + {"matrix": [0, 21], "x": 0, "y": 22.0667}, + {"matrix": [0, 22], "x": 0, "y": 23.0667}, + {"matrix": [0, 23], "x": 0, "y": 24.0667}, + {"matrix": [0, 24], "x": 0, "y": 25.0667} + ] + } + } +} diff --git a/keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c b/keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c new file mode 100644 index 00000000000..4ff6b48cc36 --- /dev/null +++ b/keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2025 Simon Arlott +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + JS_0, + JS_1, + JS_2, + JS_3, + JS_4, + JS_5, + JS_6, + JS_7, + JS_8, + JS_9, + JS_10, + JS_11, + JS_12, + JS_13, + JS_14, + JS_15, + JS_16, + JS_17, + JS_18, + JS_19, + JS_20, + JS_21, + JS_22, + JS_23, + JS_24 + ) +}; diff --git a/keyboards/nomis/rpi_pico_25x1/readme.md b/keyboards/nomis/rpi_pico_25x1/readme.md new file mode 100644 index 00000000000..ce89f052c3f --- /dev/null +++ b/keyboards/nomis/rpi_pico_25x1/readme.md @@ -0,0 +1,28 @@ +# rpi pico 25x1 + +![rpi-pico-25x1 PCB](https://raw.githubusercontent.com/nomis/keyboard-pcb-rpi-pico-25x1/refs/heads/main/keyboard-pcb-rpi-pico-25x1.svg) + +Macropad keyboard with 25 keys in a single row/column powered by a Raspberry Pi +Pico. The default keymap is a 25 button joystick. + +* Keyboard Maintainer: [Simon Arlott](https://github.com/nomis) +* Hardware Supported: Raspberry Pi Pico +* Hardware Availability: Order/manufacture the [open source PCB](https://github.com/nomis/keyboard-pcb-rpi-pico-25x1) + +Make example for this keyboard (after setting up your build environment): + + make nomis/rpi_pico_25x1:default + +Flashing example for this keyboard: + + make nomis/rpi_pico_25x1: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 top key and plug in the keyboard +* **Physical reset button**: Hold the BOOTSEL button on the Raspberry Pi Pico and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available