Framework
stevennguyen·framework·rev0/framework.kicad_pcb
About the Framework PCB
Framework is an open source AVR/Arduino PCB design by stevennguyen, published on GitHub. It is a 2-layer board measuring 238.1 × 375.5 mm, with 151 components from 17 distinct parts.
Its main chip is the ATmega328P-PU, from the AVR/Arduino family. By type, the board carries 64 diodes, 63 switches, 11 resistors, 7 capacitors, 3 connectors and 1 IC.
It belongs with the keyboards designs in this gallery.
From the project
Ortholinear keyboard with a knob
Framework is a 5x12 ortholinear keyboard featuring:
All through-hole components (except Kailh hotswap sockets) QMK firmware with VIA support Rotary encoder Hotswappable switches FR-4 and acrylic sandwich construction USB Type-C * MIT (one 2u), grid (two 1u), and two 2u, bottom row configuration
Framework is licensed under CC BY-NC-SA 4.0. Please modify my design to make a keyboard that fits you!

Main components on the Framework
Framework bill of materials (BOM)
151 components, 17 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ATmega328P-PU | DIP-28_W7.62mm | U1 |
| 1 | 16M | Resonator-2Pin_W10.0mm_H5.0mm | Y1 |
| 1 | AVR-ISP-6 | PinHeader_2x03_P1.27mm_Vertical | J1 |
| 2 | USB_C_Receptacle_USB2.0 | USB_C_Receptacle_GCT_USB4085 | J2, J3 |
| 2 | SW_Push | SW_PUSH_6mm_H4.3mm | SW1, SW2 |
| 60 | SW_Push_45deg | Kailh_socket_MX | SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10 +52 |
| 1 | Rotary_Encoder_Switch | RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW63 |
| 1 | VAL** | mouse-bite-2mm-slot | mouse-bite-2mm-slot |
| 4 | 3v6 | D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D63, D64 |
| 60 | D | D_DO-35_SOD27_P7.62mm_Horizontal | D3, D4, D5, D6, D7, D8, D9, D10 +52 |
| 1 | 4u7 | CP_Radial_D4.0mm_P1.50mm | C1 |
| 4 | 0u1 | C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal | C2, C3, C6, C7 |
| 2 | 22p | C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal | C4, C5 |
| 1 | 10k | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R1 |
| 4 | 75 | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R2, R3, R7, R8 |
| 2 | 1k5 | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4, R9 |
| 4 | 5k1 | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R5, R6, R10, R11 |
Framework design files
The KiCad project lives in the stevennguyen/framework repository on GitHub; these links point at the commit this page was built from.
- Layoutrev0/framework.kicad_pcb
- BOMrev0/bom.csv
Framework: common questions
What microcontroller does the Framework use?
The Framework is built around the ATmega328P-PU, from the AVR/Arduino family.
How big is the Framework PCB?
The Framework measures 238.1 × 375.5 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Framework?
151 components, from 17 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Framework design files?
From the stevennguyen/framework repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the Framework design in my own project?
The repository has no license, so all rights stay with stevennguyen. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Framework without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
Similar boards
AVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Easyduino Atmega
Hanqaqa
68.8 × 53.6 mm35 parts4LCERN-OHL-P-2.0746AVR/Arduino
Easyduino Atmega Nano
Hanqaqa
43.4 × 18 mm30 parts4LCERN-OHL-P-2.0746AVR/Arduino
UsbGpib
xyphro
54 × 15 mm21 parts2LMIT683AVR/Arduino
Lumberjack
peej
284.7 × 94.2 mm149 parts2LMIT402