Skip to the content
PCBKitNew board
2 layers447 × 124 mmKeyboard, the printed circuit board in 3D

NomadKeys is a compact mechanical keyboard that I designed for people who need a reliable keyboard while travelling.

Size
447 × 124 mm
Copper layers
2
Thickness
1.6 mm
Parts
203
Nets
148
Pads
774
Tracks, vias
1,220, 264
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Jul 2026
Updated
3 Aug 2026

Overview

Keyboard is an open-source printed circuit board by joshitha-c, from the joshitha-c/keyboard repository on GitHub. It is a 2-layer board of 447 × 124 mm with 203 parts on 148 nets, routed with 1,220 tracks and 264 vias.

Its parts include 103 switches, 98 diodes and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.

README

README.md

Travel keyboard

NomadKeys is a compact mechanical keyboard that I designed for people who need a reliable keyboard while travelling. The idea behind this project was to create something that is small enough to carry in a backpack without giving up the feel of a mechanical keyboard.

The keyboard is built around the Raspberry Pi Pico (RP2040) and uses a standard keyboard matrix with 1N4148 diodes for reliable key scanning. An I²C GPIO expander is used to increase the number of available input pins, and a rotary encoder provides an extra control that can be programmed for different functions.

The hardware was designed in KiCad 8 and can be used with firmware such as QMK or KMK.


Project Goals

The main goals of this project were to:

  • Build a compact keyboard that is easy to carry while travelling.
  • Reduce the number of GPIO pins required by using a keyboard matrix.
  • Prevent ghosting by adding a diode to every switch.
  • Include a rotary encoder for additional controls.
  • Keep the design simple enough to assemble and modify.

Features

  • Raspberry Pi Pico (RP2040)
  • Compact layout for travel
  • Mechanical switches
  • 6 × 20 keyboard matrix
  • 1N4148 diode on every switch
  • I²C GPIO expander
  • Rotary encoder with push button
  • USB connectivity

Components

ComponentQuantity
Raspberry Pi Pico1
I²C GPIO Expander1
Rotary Encoder1
Mechanical SwitchesDepends on layout
1N4148 DiodesOne per switch
Custom PCB1

Future Improvements

There are still a few things I would like to add in future revisions:

  • Bluetooth support
  • Rechargeable battery
  • OLED display
  • VIA/Vial compatibility
  • RGB lighting

Software

  • KiCad
  • Fusion 360

About This Project

This keyboard was developed as a personal hardware project to explore keyboard design using the RP2040. It combines PCB design,cad project into a single project while focusing on creating a compact keyboard that is practical for travelling. schematics: image pcb: image cad file: image [Image blocked: Uploading image.png…]

Parts

203
QtyValueFootprintReferences
981N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +82
98SW_PushPCM_marbastlib-mx:SW_MX_1uSW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW18, SW19, SW20, SW21, SW22, SW23, SW24 +82
3MX_stabPCM_marbastlib-mx:STAB_MX_2uS1, S2, S3
1MCP23008-xMLPackage_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.7x2.7mmU1
1MX_stabPCM_marbastlib-mx:STAB_MX_6uS4
1RaspberryPi_PicoModule:RaspberryPi_Pico_Common_THTA1
1RotaryEncoderRotary_Encoder:RotaryEncoder_Alps_EC11E_Vertical_H20mmSW17

Questions

How big is the Keyboard PCB?

It measures 447 × 124 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keyboard use?

203 parts. 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 Keyboard KiCad files?

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

Can I use the Keyboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask joshitha-c before reusing the design.

Similar boards

  • 2 layersBias controller, the printed circuit board in 3D

    Bias controller

    loxodes/vna

    Under development open hardware microwave vector network analyzer

    203 parts205
  • 2 layers60.3 × 106.5 mmTiNRS - Wobbler SMDLeds, the printed circuit board in 3D

    TiNRS - Wobbler SMDLeds

    ThisIsNotRocketScience/Eurorack-Modules

    This is not Rocket Science presents: Eurorack modular synthesizer modules!

    203 parts87MIT
  • 2 layers128.6 × 81 mmAfterglow, the printed circuit board in 3D

    Afterglow

    bitfieldlabs/afterglow

    Pinball retro afterglow

    203 parts32
  • 2 layers121.5 × 83 mmNeopixel mini - 96 well, the printed circuit board in 3D

    Neopixel mini - 96 well

    pierrebaillargeon/Microplate-Assistive-Pipetting-Light-Emitter

    Microplate Assistive Pipetting Light Emitter (M.A.P.L.E.)

    203 parts17GPL-3.0
  • 2 layers247.6 × 75.6 mmNack, the printed circuit board in 3D

    Nack

    farfalleflickan/nack

    nack keyboard

    203 parts11AGPL-3.0
  • 2 layers284.7 × 94.2 mmKeyboard 60%, the printed circuit board in 3D

    Keyboard 60%

    hw-tinkerers/TR-60

    kicad files of custom 60% keyboard inspired by bakeneko with ble support

    203 parts11MIT
  • 2 layers105.8 × 128.5 mmDemo, the printed circuit board in 3D

    Demo

    Nakazoto/Data620

    203 parts10
  • 2 layers337.2 × 122.6 mmGeulis backup, the printed circuit board in 3D

    Geulis backup

    karnadii/geulis

    a wireless alice layout keyboard with ZMK firmwarae

    203 parts4