Skip to the content
PCBKitNew board
2 layers222.5 × 97.5 mmMORPH.00, the printed circuit board in 3D

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.md

MORPH.00


alt text alt text

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

alt text alt text

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

alt text alt text alt text

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.

  1. Soldering Components
    1. This step assumes you have bought everything in the BOM.
    2. The first step is to solder all the components on to the PCB.
      1. Use the various KiCad files as reference to know where to put components if you are confused.
  2. 3D Printing Case
    1. 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).
    2. This is pretty self-explanatory as you need to obtain all 3D printed objects in cad/print.
  3. Assembling the Body of the Macropad
    1. Use M3 screws and nylocks to fasten the OLED on to the PCB plate.
    2. Put the top plate on the board.
    3. It should click into place thanks to the Cherry MX switches.
    4. Slide your usb c cable through the hole on the side of the case. For future use plug that cable into your host computer.
    5. Then take your 3mm Spacer and insert it between the bottom of the PCB and plate
    6. Insert the screw on the bottom of the bottom plate
    7. On the top of the pcb plate place a M3 nylock and fasten.
    8. Repeat for all other 3 corners.
    9. For extra precaution optionally add some type of adhesive between the top plate's side and the bottom plate's edges.
  4. Add Keycaps and Cover for Encoder
    1. Start by putting a keycap on one of the switches. The keycap should slide in and click.
    2. Repeat for the remaining 5 keycaps.
    3. 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

Onshape

Parts

19
QtyValueFootprintReferences
6SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6
4ResistorResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4
2CCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC1, C2
1Rotary Encoder SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW8
1~OLED:TZT_5.5_OLED_SSD1322DS1
1~ScottoKeebs_MCU:Adafruit_KB2040U1

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 mmTcd1304-4v, the printed circuit board in 3D

    Tcd1304-4v

    OpnTec/open-spectrometer-hardware

    Open source VIS spectrometer

    19 parts1.5k
  • 2 layers50 × 60 mmDebate Device, the printed circuit board in 3D

    Debate Device

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    19 parts915
  • 2 layers102.9 × 96.7 mmISA adapter, the printed circuit board in 3D

    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 mmPs2usb, the printed circuit board in 3D

    Ps2usb

    rasteri/HIDman

    Adapting USB devices to work on old computers

    19 parts432
  • 2 layers70.1 × 43.2 mmIaq device, the printed circuit board in 3D

    Iaq device

    nkitanov/iaq_board

    IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality

    19 parts396
  • 2 layers80 × 80 mmGB BRK CPU G1, the printed circuit board in 3D

    GB BRK CPU G1

    Gekkio/gb-hardware

    Game Boy -related custom hardware by gekkio

    19 parts379CC-BY-4.0
  • 2 layers25.4 × 25.4 mmIna169, the printed circuit board in 3D

    Ina169

    Ardumower/ardumower

    Develop an open source robotic lawn mower (HW+SW reference platform)

    19 parts282
  • 2 layers58.4 × 28.6 mmNew rele, the printed circuit board in 3D

    New rele

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    19 parts269