

MORPH.00
6 button + a Knob macropad with a screen panel above it. Its entire function changes depending on the app opened.
- Size
- 222.5 × 97.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 19
- Nets
- 28
- Pads
- 90
- Tracks, vias
- 210, 10
- Pours
- 49
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 28 Mar 2026
- Updated
- 4 May 2026
Overview
MORPH.00 is an open-source printed circuit board by nirvaankohli, from the nirvaankohli/MORPH.00 repository on GitHub. It is a 2-layer board of 222.5 × 97.5 mm with 19 parts on 28 nets, routed with 210 tracks and 10 vias.
Its parts include 7 switches, 4 resistors, 2 capacitors and 1 IC. It belongs with the keyboards and input boards of this library.
README
readme.mdMORPH.00

MORPH.00 is a keyboard with 6 key switches and a rotary encoder that can change(morph their function). It also has an OLED to display each key or encoder's function at any given time. It is powered by the RP2040!
Why choose this project?
When I initially found about fallout, I knew it was an one in a lifetime opportunity. I also knew that I did not know anything about hardware. So I looked online and on youtube and decided that a macropad was perfect for me. After a few days of brainstorming, I decided to settle for the best balance between challenging and easy(this project). Also it was pretty cool, cus like who would not want a keyboard that can change functions based on the app you are on to make work less repetitive. The use for this is legitimate because I can think of so many times in a day I press the same 6 button when in app. This would be really useful for myself, and that's why I chose to build it. Also a keyboard with a screen is rlly cool.
Looking back, this project was filled with a lot of firsts. I also had so much fun. Like who knew how relaxing some parts could be and how enraging others could be. Anyways, I learned my first real CAD software, onshape. I will definitely be using it in VEX Robotics as most of our team's CAD team seniored out. It took me some time to get comfortable but it is pretty cool. It was also my first time with KiCad. Making the schematic was interesting, pcb routing was so relaxing, but the errors sadly was not.
A Little Summary
The keyboard is powered by a RP2040 on a KB2040 Microcontroller running CircuitPython with many adafruit libraries. This is stuffed on the bottom-right side of the pcb board/keyboard and is the reason for it's goofy shape and proportions.
The six switches are Cherry MXs, the rotary encoder an EC11 Rotary Encoder, and the OLED a 5.5 Inch 256x64 display. There is also a part of this project on the host computer that sends info like key, encoder, or OLED changes to the keyboard.
CAD Renderings

CAD was a very infuriating experience if I may add.
PCB + Schematic
This is my final schematic

This schematic went through multiple, multiple changes. Like when I had to add power symbols, make a denouncer circuit, custom design the OLED symbol like 2 times, and change the GPIO pins for my OLED. I liked this portion a lot actually.
Final PCB

I added a lot of stuff bc the Internet said so :). So hopefully that was not a mistake. I was also just informed no 90 or acute angles so maybe not so final pcb :(.
How to Use It?
This is relatively easy to use assuming it is all put together and well. All you need to do is drag firmware/software files into the KB2040 and let the host computer code run as a background process.
The computer process will be listening on a port. From there you can read the documentation available in code/keyboard/ on how to automate the OLED, switches, and encoder functions.
From there, it is just using the macropad as a macropad.
How to construct it?
Since I have not had the pleasure of constructing this, I can't tell you for sure but below is how to build it if everything goes as planned.
- Soldering Components
- This step assumes you have bought everything in the BOM.
- The first step is to solder all the components on to the PCB.
- Use the various KiCad files as reference to know where to put components if you are confused.
- 3D Printing Case
- This again assumes you have a 3D printer or some way to get your hands on a physical version of the case(files in /cad).
- This is pretty self-explanatory as you need to obtain all 3D printed objects in cad/print.
- Assembling the Body of the Macropad
- Use M3 screws and nylocks to fasten the OLED on to the PCB plate.
- Put the top plate on the board.
- It should click into place thanks to the Cherry MX switches.
- Slide your usb c cable through the hole on the side of the case. For future use plug that cable into your host computer.
- Then take your 3mm Spacer and insert it between the bottom of the PCB and plate
- Insert the screw on the bottom of the bottom plate
- On the top of the pcb plate place a M3 nylock and fasten.
- Repeat for all other 3 corners.
- For extra precaution optionally add some type of adhesive between the top plate's side and the bottom plate's edges.
- Add Keycaps and Cover for Encoder
- Start by putting a keycap on one of the switches. The keycap should slide in and click.
- Repeat for the remaining 5 keycaps.
- For the Rotary Encoder, simply press down the rotary encoder cover on the Rotary Encoder, and with some force it should slide in.
Congrats! You have know constructed MORPH.00. Hopefully it should work.
BOM
Check bom.csv!
Onshape Link
Parts
19| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6 |
| 4 | Resistor | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2, R3, R4 |
| 2 | C | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C1, C2 |
| 1 | Rotary Encoder Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW8 |
| 1 | ~ | OLED:TZT_5.5_OLED_SSD1322 | DS1 |
| 1 | ~ | ScottoKeebs_MCU:Adafruit_KB2040 | U1 |
The 15 most common of 19 parts.
Questions
How big is the MORPH.00 PCB?
It measures 222.5 × 97.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the MORPH.00 use?
19 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 MORPH.00 KiCad files?
From the nirvaankohli/MORPH.00 repository on GitHub, at the commit this page was made from: the board is hardware/kicad_files/morph00/morph00.kicad_pcb and its schematic hardware/kicad_files/morph00/morph00.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the MORPH.00 design in my own project?
Its repository states no licence, so its author keeps all rights: ask nirvaankohli before reusing the design.
Similar boards
- 2 layers43.9 × 27.7 mm

- 2 layers50 × 60 mm

Debate Device
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
19 parts915 - 2 layers102.9 × 96.7 mm

ISA adapter
polpo/picogus
Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support
19 parts805 - 2 layers60 × 39 mm

- 2 layers70.1 × 43.2 mm

Iaq device
nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality
19 parts396 - 2 layers80 × 80 mm

- 2 layers25.4 × 25.4 mm

Ina169
Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)
19 parts282 - 2 layers58.4 × 28.6 mm

New rele
zmaker/arduino_cookbook
gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube
19 parts269