Skip to the content
PCBKitNew board
2 layers36.7 × 27.7 mmMiniboard, the printed circuit board in 3D

fatar tp 9s keyboard scanner with rp2040

Size
36.7 × 27.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
46
Nets
62
Pads
198
Tracks, vias
505, 62
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
12 Aug 2026
Updated
12 Aug 2026

Overview

Miniboard is an open-source printed circuit board by plinkysynth, from the plinkysynth/miniboard repository on GitHub, published under the CC0-1.0 licence. It is a 2-layer board of 36.7 × 27.7 mm with 46 parts on 62 nets, routed with 505 tracks and 62 vias.

It is built around the RP2040, W25Q16JVUXIQ and XC6206P332MR, with the KT-0603R among its other parts. Its parts include 14 capacitors, 13 resistors, 4 ICs, 4 connectors and 1 diode. It belongs with the RP2040 boards of this library.

Main components

4

README

README.md

miniboard - a super minimal fatar tp9 37 key keybed scanner using an rp2040 mcu by @mmalex.bsky.social

August 2026

miniboard

the keybed wot you need

there's no point looking at this project until you are the proud owner of a fatar 9s keybed. probably the 37 key variant.

I got mine at great expense a few years ago from https://enlo-1.com/products/fatar-tp-9s-keyboard but im not sure if they are meant to sell them to us hobbyists? either way it was expensive for what it is! maybe you can find one cheaper somewhere else. I am not affiliated with them in any way, just documenting my build.

whence came this mess

forked from my earlier 2024 zacboard project, that included an oled, 2 encoders, and a silly set of i2c slider boards that allowed it to sport more sliders than keys.

im not sure if i ever released that one publically (* i did not), but i was curious about making a super minimal 'fatar keybed and nothing else' the other day, so I stripped everything down, speed-designed a PCB, and re-ordered from JLC. the boards just arrived, they work, I am putting this up on github before thinking too much...

software

the software just times make/breaks when scanning the keybed, as one must, and uses that to pick a velocity.

it also feeds the aftertouch resistor to ADC0 and uses that to generate aftertouch events.

it sends MIDI messages out on channel 0 on the TRS port and over usb midi.

the pcb has a 3 pin connector for a raspberry pi debug probe

https://www.raspberrypi.com/products/debug-probe/

which I highly recommend for all rp2040 hacking projects. it gives you quick way to flash new software without messing with reset buttons, clean debugging in vscode, watch, breakpoints, etc.

i set this project to use rtt segger style printf, which is THE ONE TRUE WAY but is surprisingly underdocumented in the pico sdk. If you have a probe connected you can see your printf's in vscode via the TERMINAL tab, and its really cheap, and doesnt tie up the USB port or a serial port, nor use any GPIOs. lovely!

hardware

power is over usb-c obviously

i did this in a yolo rush, so its a bit rough. ordering your own pcbs, its the usual kicad -> jlcpcb -> yay! I even left the production files checked in, so you could even just upload those straight to JLC. it worked for me, but see the section below on improvements you might want to make before spending money.

all the parts should be readily available via their assembly service.

I accept no responsibility for anything that may come from building this stuff! you're on your own.

mounting

the open scad file is for a simple plank to screw onto the keybed and mount the circuit board.

a plank of wood or other material would be nicer.

i screwed it into the keybed with 8 wood screws i found in a cupboard :) M3 or M4 I think they were. the pcb has two m3 holes in it, which I used 2 M3 machine screws and nuts for. the stl/openscad file has holes for these.

keybed connector

i HATE HATE HATE the minimatch connector that fatar uses, but here we are. you need some 20 way ribbon cable to clamp it onto, which requires FORCE which often breaks the fragile plastic. I got the connectors from digikey:

usequantitydigikey partmanufacturermanufacturer partdescription
for the cable...2xA99456CT-NDTE CONNECTIVITY AMP (VA)9-215083-0CONN PLUG 20POS IDC 28AWG TIN
for the pcb...1xA99465CT-NDTE CONNECTIVITY AMP (VA)9-215079-0CONN RCPT 20POS 0.1 TIN PCB

and standard 28AWG 20 way ribbon cable.

The keybed also has a little flat flex variable resistor. connect two wires to it and solder them to the outer two pins of the 4 pin connector on the pcb. voila, after touch.

PCB design mistakes chapter:

  • i should have connected the last 2 pins to GPIOs. I didn't. as a result you can't scan larger keyboards. If i was ordering from JLCPCB again, I'd hook up those two not connected pins to GPIOs.

  • the TRS jack for midi is too close to the USB-C. it works, but its close.

  • obviously it could sprout more connections, encoders, buttons, etc.... but that wasnt the point of this minimalist project.

  • it would make sense to expose more of the free GPIOs as testpads or connectors or whatnot.

  • the routing is fine, honest.

license

released into as liberal a license as I can: CC0...

  • alex 'mmalex' evans august 2026

Parts

46
QtyValueFootprintReferences
8100nCapacitor_SMD:C_0402_1005MetricC2, C4, C7, C8, C10, C13, C14, C15
51kResistor_SMD:R_0402_1005MetricR4, R5, R7, R8, R9
41ufCapacitor_SMD:C_0402_1005MetricC1, C3, C9, C11
433Resistor_SMD:R_0402_1005MetricR1, R2, R11, R12
4TestPointTestPoint:TestPoint_Pad_1.5x1.5mmTP1, TP2, TP3, TP4
210kResistor_SMD:R_0402_1005MetricR10, R13
218pfCapacitor_SMD:C_0402_1005MetricC5, C6
25.1kResistor_SMD:R_0402_1005MetricR3, R6
2LOGOLOGOG***, G***
2MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2
1ATConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ3
1Black_headphone_jackeasyeda2kicad:AUDIO-TH_PJ-3200U4
1CSP-USC16-TRpicoplinky_global:VALCON_CSP-USC16-TRJ1
1Conn_01x03_PinConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ2
1Crystal_GND24Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mmY1
1KT-0603Reasyeda2kicad:LED0603-RDLED1
1Keyboardminibed:TE_9-215079-0J4
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU3
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP1
1W25Q16JVUXIQeasyeda2kicad:USON-8_L3.0-W2.0-P0.50-BL-EPU2
1XC6206P332MReasyeda2kicad:SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BRU1

Questions

How big is the Miniboard PCB?

It measures 36.7 × 27.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Miniboard use?

46 parts, built around the RP2040, W25Q16JVUXIQ, XC6206P332MR and KT-0603R. 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.

Where can I download the Miniboard KiCad files?

From the plinkysynth/miniboard repository on GitHub, at the commit this page was made from: the board is hw/miniboard.kicad_pcb and its schematic hw/miniboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Miniboard design in my own project?

Its repository publishes it under the CC0-1.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers21 × 51 mmEasyduino RP2040, the printed circuit board in 3D

    Easyduino RP2040

    Hanqaqa/Easyduino

    Easily dive into different PCB KiCad designs of the most popular microcontroller devboards

    65 parts755CERN-OHL-P-2.0
  • 2 layers32.2 × 59.4 mmFlipper mce, the printed circuit board in 3D

    Flipper mce

    FlipperMCE/pcb

    FlipperMCE PCB

    70 parts21MIT
  • 2 layers285.1 × 94.6 mmYM60JIS PCB, the printed circuit board in 3D

    YM60JIS PCB

    ymkn/YM60JIS

    A JIS layout 60% hot swappable custom mechanical keyboard PCB powered by RP2040.

    173 parts10MIT
  • 2 layers285.1 × 94.6 mmYuTofu PCB, the printed circuit board in 3D

    YuTofu PCB

    ymkn/YuTofu

    YuTofu is an unofficial compatible PCB for the well-known custom keyboard Tofu60 2.0.

    169 parts5MIT
  • 2 layers285.1 × 94.6 mmYM60A PCB, the printed circuit board in 3D

    YM60A PCB

    ymkn/YM60A

    An ANSI layout 60% keyboard PCB for Japanese

    172 parts3MIT
  • 2 layers21 × 51.5 mmPicoCAN, the printed circuit board in 3D

    PicoCAN

    AdrianR3/PicoCAN

    RP2040 based dev board w/built-in CAN controller and transceiver

    52 parts