
Panel25
sago35/keyboards
This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.
Sg48key2 is an open-source printed circuit board by sago35, from the sago35/keyboards repository on GitHub, published under the MIT licence. It is a 2-layer board of 245.3 × 78.6 mm with 158 parts on 118 nets, routed with 2,449 tracks and 135 vias.
It is built around the RKJXV122400R, RP2040-ZERO and 1N4148W. Its parts include 103 diodes, 46 switches and 3 ICs. It belongs with the RP2040 boards of this library.
This repository was created to manage the circuitry and firmware for the keyboards I designed.
The firmware is created using sago35/tinygo-keyboard.


Mark on PCB item, please select Order Number(Specify Position)

| Name | Pin | Info |
|---|---|---|
| VR_BTN | machine.GPIO0 | InputPullup |
| WS2812 | machine.GPIO1 | Output |
| ROT_BTN1 | machine.GPIO2 | InputPullup |
| ROT_A1 | machine.GPIO3 | InputPullup |
| ROT_B1 | machine.GPIO4 | InputPullup |
| COL1 | machine.GPIO5 | Output |
| COL2 | machine.GPIO6 | Output |
| COL3 | machine.GPIO7 | Output |
| COL4 | machine.GPIO8 | Output |
| ROW1 | machine.GPIO9 | InputPulldown |
| ROW2 | machine.GPIO10 | InputPulldown |
| ROW3 | machine.GPIO11 | InputPulldown |
| SDA0_TX0 | machine.GPIO12 | I2C SDA |
| SCL0_RX0 | machine.GPIO13 | I2C SCL |
| EX01 | machine.GPIO14 | GPIO |
| EX02 | machine.GPIO15 | GPIO |
| EX03 | machine.GPIO26 | GPIO / ADC |
| EX04 | machine.GPIO27 | GPIO / ADC |
| VR_Y | machine.GPIO28 | ADC |
| VR_X | machine.GPIO29 | ADC |
The image below represents the relationship between the COL and ROW of the MATRIX wiring, as well as the order of the LEDs.
It was created by rdon_key.


This is the badge for TinyGo Conference 2025 in JAPAN.

| No | 品名 | 個数 | 備考 |
|---|---|---|---|
| 1 | 基板 | 1 | |
| 2 | XIAO RP2040 | 1 | |
| 3 | ジョイスティック | 1 | |
| 4 | OLED 液晶 | 1 | SSD1306 128x64 |
| 5 | プルアップ抵抗 | 2 | 3.3K (1K – 10K) |
| 6 | キースイッチ | 2 | |
| 7 | キーキャップ | 2 | |
| 8 | キーソケット | 2 | MX socket |
| 9 | ロータリーエンコーダー | 1 | EC11 互換、20mm Plum |
| 10 | RGB LED | 2 | SK6812MINI-E |
| 11 | ブザー | 1 | |
| 12 | エンコーダーノブ | 1 | |
| 13 | ハット | 1 | ジョイスティック用 |
| 14 | スイッチプレート | 1 | |
| 15 | ボトムプレート | 1 | |
| 16 | 木ねじ 2.1×10 | 2 |
This is the badge for Go Conference 2026.

| No | 品名 | 個数 | 備考 |
|---|---|---|---|
| 1 | 基板 | 1 | |
| 2 | RP2040-Zero | 1 | Waveshare |
| 3 | TFT 液晶 | 1 | ST7789 1.54 インチ 240x240 SPI |
| 4 | RGB LED | 16 | SK6812MINI-E、5 個入りなので注意 |
| 5 | タクトスイッチ | 5 | 6mm 角、高さ 5mm |
| 6 | Grove コネクタ | 2 | I2C / UART |
| Name | Pin | Info |
|---|---|---|
| BTN_A | machine.GPIO3 | InputPullup |
| BTN_B | machine.GPIO6 | InputPullup (未搭載) |
| BTN_R | machine.GPIO7 | InputPullup |
| BTN_U | machine.GPIO8 | InputPullup |
| WS2812 | machine.GPIO9 | Output (16 LEDs) |
| LCD SCK | machine.GPIO10 | SPI1 SCK |
| LCD SDO | machine.GPIO11 | SPI1 SDO |
| LCD BL | machine.GPIO12 | Output |
| LCD CS | machine.GPIO13 | Output |
| LCD DC | machine.GPIO14 | Output |
| LCD RST | machine.GPIO15 | Output |
| BTN_L | machine.GPIO28 | InputPullup |
| BTN_D | machine.GPIO29 | InputPullup |
tinygo flash --target waveshare-rp2040-zero --size short --stack-size 8kb ./gocon2026badge/firmware/| Button on badge screen | Screen |
|---|---|
| A | Timetable |
| U | Breakout |
| R | Cyclone game |
| D | 3D demo |
| L | Name tag (D shows the QR code) |
Press A on each screen to go back to the badge screen.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 55 | 1N4148W | foostan/kbd:D3_SMD_v2 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +39 |
| 48 | YS-SK6812MINI-E | foostan/kbd:YS-SK6812MINI-E | LED1, LED2, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18, LED19, LED20, LED21, LED22, LED23 +32 |
| 46 | SW_PUSH | sglib:ChocV1_V2_Hotswap | SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +30 |
| 6 | MountingHole | sglib:Hole-2.5mm | H1, H2, H3, H4, H5, H6 |
| 2 | RKJXV122400R | sglib:FJ08K-S_ChocV1_V2_Hotswap | U2, U3 |
| 1 | rp2040-zero | sglib:rp2040-zero_wide_with_choc_socket | U1 |

sago35/keyboards
This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

sago35/keyboards
This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

sago35/keyboards
This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

sago35/keyboards
This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

sago35/keyboards
This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

DEV-ajthedj/Keyboard
A custom RGB keyboard that features three 1D capacitive touch sliders, two joysticks, an OLED screen, a fingerprint sensor, and plenty of macro keys!


sebastian-stumpf/narfkb
rp2040 powered split keyboard with rotary encoders and 6mm tactile buttons





It measures 245.3 × 78.6 mm and has 2 copper layers, 1.6 mm thick.
158 parts, built around the RKJXV122400R, RP2040-ZERO and 1N4148W. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the sago35/keyboards repository on GitHub, at the commit this page was made from: the board is sg48key2/sg48key2/sg48key2.kicad_pcb and its schematic conf2025badge/conf2025badge/conf2025badge.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).