Skip to the content
2 layers307 × 85 mmCampus keyboard, the printed circuit board in 3D

Campus keyboard

flurples/campus41

mechanical keyboard conversion for a framework 13

Size
307 × 85 mm
Copper layers
2
Thickness
1.6 mm
Parts
293
Nets
180
Pads
921
Tracks, vias
1,395, 135
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
6 Sep 2026
Updated
7 Sep 2026

Overview

Campus keyboard is an open-source printed circuit board by flurples, from the flurples/campus repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 307 × 85 mm with 293 parts on 180 nets, routed with 1,395 tracks and 135 vias.

It is built around the ATMEGA32U4-MU and SI2302. Its parts include 86 resistors, 80 diodes, 7 capacitors, 1 IC and 1 transistor. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

campus

mechanical keyboard conversion for a framework 13

IMG_3377-adjusted build video: https://youtu.be/kGHAUogFsYY

about

campus is designed to be a drop-in replacement housing for a framework 13 that features a hhkb layout kailh choc mechanical keyboard.

you will need

  • a framework 13 laptop
bottom chassis parts
  • bottom chassis (cnc)
  • bottom-bracket-R, L & M (3d print)
input cover parts
  • input cover (cnc)
  • plate (cnc)
  • 3x knobs (cnc)
  • 1x touchpad-clamp-R & L (3d print)
  • 2x touchpad-clamp-top (3d print)
lid parts
  • lid (cnc)
  • bezel (3d print)
  • lid-corner-cap-R & L (3d print)
other hardware
  • 60x kailh choc switches
  • choc stabilizers (2x 2u, 1x 6.25u)
  • compatible keycaps (be sure to get 6.25u space, 1.75u shift, etc)
  • 3x ec12 low profile encoders
  • m1.6 x 3mm heat set inserts
  • m2 x 4mm heat set inserts
  • m2 x 2.5mm heat set inserts
  • 5x m2 x 20mm flat head hex screws (to screw the chassis together)
  • 3x m2 x 8mm set screws (for the knobs)
  • 4x 1" OD rubber bumpers
  • variety of double sided tapes
  • epoxy

build notes

bottom chassis, input cover, lid, knobs, and plate were cnc'd from aluminum. all 3d printed parts were printed in petg to avoid breaking down over the years. heat set inserts for screw holes to mount factory components are installed into the bottom-brackets, which are then epoxied to the bottom-chassis. due to jlcpcb's minimum thickness requirements, the input and lid do not use heat set inserts. instead, the aluminum is directly tapped.

the keyboard workaround

the usb hub was too complex and I wasn't able to get it working. because the keyboard was originally meant to connect internally through the usb hub, I ended up simply bypassing the usb hub entirely, bypassing it with a unified daughterboard s1. in case anyone wants to attempt to diagnose why, I've uploaded the kicad files as is for reference.

disclaimer

campus is a highly involved project and will require completely tearing down your framework laptop and transplanting all the components into an objectively worse-designed chassis than the factory framework chassis. some features will be lost, for example, the privacy switches built into the webcam module, or the little buttons that lock the expansion cards in place. I am not a professional electronics designer, so expect to perform some janky workarounds to get the laptop functioning as it should. I am not responsible for any issues you may encounter with the build, so please use the files with caution.

I do not sell any products, and I am not affiliated with any vendors who claim to sell my designs. if you choose to support these vendors, I am not responsible for any issues you may encounter with them.

gallery

IMG_3318 IMG_3347 IMG_3354 IMG_3349 IMG_3359 IMG_3319 IMG_E3424

Parts

293
QtyValueFootprintReferences
81470campus-parts:R_0805_2012Metric-CenterREF__R1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +65
60SOD-123campus-parts:D_SOD-123-CenterREF__D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +44
49MX-LEDmbk:Choc-1u-GWMX1, MX2, MX10, MX11, MX12, MX13, MX14, MX15, MX17, MX18, MX19, MX20, MX21, MX22, MX23, MX24 +33
40, , , , , , , , , , , , , , , +24
202815campus-parts:GW JCLPS2.EMD61, D62, D63, D64, D65, D66, D67, D68, D69, D70, D71, D72, D73, D74, D75, D76 +4
4MX-LEDmbk:Choc-1.25u-GWMX56, MX57, MX59, MX60
30.1uFCapacitor_SMD:C_0805_2012MetricC4, C5, C6
310kcampus-parts:R_0805_2012Metric-CenterREF__R82, R83, R86
3RotaryEncodercampus-parts:SW3_EC12E1220301_ALPSEC1, EC2, EC3
222campus-parts:R_0805_2012Metric-CenterREF__R84, R85
222pFCapacitor_SMD:C_0805_2012MetricC1, C2
2MX-LEDmbk:Choc-1.5u-GWMX16, MX29
2MX-LEDmbk:Choc-2.25u-GWMX42, MX43
2MX-LEDmbk:Choc-1.75u-GWMX30, MX54
110uFCapacitor_SMD:C_0805_2012MetricC7
116MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11uFCapacitor_SMD:C_0805_2012MetricC3
1500mAFuse:Fuse_1206_3216MetricF1
1ATmega32U4-MUPackage_DFN_QFN:QFN-44-1EP_7x7mm_P0.5mm_EP5.2x5.2mmU1
1Conn_01x04Connector_Molex:Molex_Pico-EZmate_78171-0004_1x04-1MP_P1.20mm_VerticalJ1
1LOGOcampus-parts:campus-3mmG***
1MX-LEDmbk:Choc-6.25u-GWMX58
1SI2302Package_TO_SOT_SMD:SOT-23Q1
1SW_Pushrandom-keyboard-parts:SKQG-1155865SW1

The 283 most common of 293 parts.

More from flurples/campus

1
  • 2 layers30 × 122 mmCampus hub, the printed circuit board in 3D

    Campus hub

    flurples/campus

    mechanical keyboard conversion for a framework 13

    66 parts41GPL-3.0

Similar boards

  • 2 layers98.5 × 59.8 mmNeuron, the printed circuit board in 3D

    Neuron

    giant-axon/lu.i-neuron-pcb

    Lu.i is an electronic neuron circuit mimicking and illustrating the basic dynamics of real, biological neurons. The printed circuit board (PCB) features a configurable, fully analog implementation of the leaky…

    90 parts73CERN-OHL-S-2.0
  • 2 layers82 × 134 mmPcb badge, the printed circuit board in 3D

    Pcb badge

    john0312/hitcon-pcb-badge

    execute fw/merge.py to merge STM32CubeIDE generated main.c with user code in main.cc into main.cc.

    258 parts47BSD-3-Clause
  • 2 layers11 × 11 mmRtcbrd, the printed circuit board in 3D

    Rtcbrd

    adlerweb/uPoff

    Small circuit/library to shut down a µC to save power for battery powered applications

    17 parts43BSD-2-Clause
  • 2 layers141.9 × 103.7 mmKissboard, the printed circuit board in 3D

    Kissboard

    fhtagnn/kissboard

    Hardware and Firmware for the Kissboard keyboard

    27 parts29GPL-3.0
  • 2 layers133.4 × 95.4 mmMedusa, the printed circuit board in 3D

    Medusa

    Gtrx0/Medusa

    Ble 5x7 Ortholinear Keyboard

    90 parts27
  • 2 layers133.4 × 111.4 mmAtreus split, the printed circuit board in 3D

    Atreus split

    bezmi/orthrus

    56 key wireless split keyboard running on QMK. Staggered Orthogonal layout

    34 parts26
  • 2 layers144.9 × 59.8 mmMonkeys, the printed circuit board in 3D

    Monkeys

    PacketChat/MonkeyBadge

    This repository contains the hardware design files, badge code, and backend infrastructure code for the HushCon Winter 2023 badge.

    153 parts21
  • 2 layers111.3 × 87.7 mmCorne choc xiao, the printed circuit board in 3D

    Corne choc xiao

    tufourn/corne-choc-xiao

    Corne keyboard with XIAO BLE microcontroller and LIR2032 support

    51 parts21

Questions

How big is the Campus keyboard PCB?

It measures 307 × 85 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Campus keyboard use?

293 parts, built around the ATMEGA32U4-MU and SI2302. 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 Campus keyboard KiCad files?

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

Can I use the Campus keyboard design in my own project?

Its repository publishes it under the GPL-3.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).