Skip to the content
PCBKitNew board
2 layers238.1 × 375.5 mmFramework, the printed circuit board in 3D

Ortholinear keyboard with a knob

Size
238.1 × 375.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
183
Nets
98
Pads
759
Tracks, vias
1,819, 113
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
17 Jan 2021
Updated
8 Feb 2023

Overview

Framework is an open-source printed circuit board by stevennguyen, from the stevennguyen/framework repository on GitHub. It is a 2-layer board of 238.1 × 375.5 mm with 183 parts on 98 nets, routed with 1,819 tracks and 113 vias.

It is built around the ATMEGA328P-PU. Its parts include 64 diodes, 63 switches, 11 resistors, 7 capacitors and 3 connectors. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

readme.md

7c8 Framework

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

Info

Discord

https://discord.gg/MpxnD9PygN

License

Framework is licensed under CC BY-NC-SA 4.0. Please modify my design to make a keyboard that fits you!

Revisions

rev0 is an early prototype/proof of concept
rev1 is the current revision and should be used for fabrication or modification

General

The ATmega328P does not come with a USB bootloader from factory. You will need to flash the chip with a bootloader through the ISP header first. You can find a pre-compiled .hex to flash at USBaspLoader/bootloader.hex, or compile your own using the documentation found in the USBaspLoader/ folder. Everything has been preconfigured for use with the Framework.

USBaspLoader is a project maintained by Stephan Baerwolf.

Fuse bytes should be:

  • lfuse = 0xd7
  • hfuse = 0xd0
  • efuse = 0x04

After setting up your QMK environment, flash the Framework firmware:

text
make 7c8/framework:default:flash # default keymap
make 7c8/framework:via:flash     # via-compatible keymap

Alternatively, a precompiled .hex with bootloader and Framework QMK firmware with VIA support can be found at firmware/bl_framework_via.hex. Flashing/fusing with avrdude looks like this:

text
avrdude -c <programmer> -p atmega328p -U flash:w:bl_framework_via.hex:i -U lfuse:w:0xd7:m -U hfuse:w:0xd0:m -U efuse:w:0x04:m

Layout

Framework supports MIT, grid, and 2x2u spacebar layouts. Refer to framework.h. Layout options are also configurable in VIA.

Physical construction

Please see this separate note on physical construction.

Build guide

Please see the build guide for more information.

Parts

183
QtyValueFootprintReferences
60Dframework:D_DO-35_SOD27_P7.62mm_HorizontalD10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +44
60SW_Push_45degframework:Kailh_socket_MXSW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24, SW25 +44
10VAL**panelization:mouse-bite-2mm-slotmouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot
40u1framework:C_Axial_L3.8mm_D2.6mm_P7.50mm_HorizontalC2, C3, C6, C7
43v6framework:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D63, D64
45k1framework:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR5, R6, R10, R11
475framework:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR2, R3, R7, R8
21k5framework:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4, R9
222pframework:C_Axial_L3.8mm_D2.6mm_P7.50mm_HorizontalC4, C5
2SW_Pushframework:SW_PUSH_6mm_H4.3mmSW1, SW2
2USB_C_Receptacle_USB2.0framework:USB_C_Receptacle_GCT_USB4085J2, J3
110kframework:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR1
116Mframework:Resonator-2Pin_W10.0mm_H5.0mmY1
14u7framework:CP_Radial_D4.0mm_P1.50mmC1
1ATmega328P-PUframework:DIP-28_W7.62mmU1
1AVR-ISP-6framework:PinHeader_2x03_P1.27mm_VerticalJ1
1LOGOgraphics:keyswitchG***
1LOGOgraphics:frameworkG***
1Rotary_Encoder_Switchframework:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW63

The 162 most common of 183 parts.

Questions

How big is the Framework PCB?

It measures 238.1 × 375.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Framework use?

183 parts, built around the ATMEGA328P-PU. 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 Framework KiCad files?

From the stevennguyen/framework repository on GitHub, at the commit this page was made from: the board is rev0/framework.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Framework design in my own project?

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

More from stevennguyen/framework

1
  • 2 layers238.1 × 375.5 mmFramework, the printed circuit board in 3D

    Framework

    stevennguyen/framework

    Ortholinear keyboard with a knob

    197 parts131

Similar boards

  • 2 layers68.8 × 53.6 mmZArduino, the printed circuit board in 3D

    ZArduino

    zmaker/arduino_cookbook

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

    46 parts269
  • 2 layers76.3 × 122.8 mmDiscipad pcb, the printed circuit board in 3D

    Discipad pcb

    coseyfannitutti/discipad

    17-key numpad assembled with only through hole components, including usb type-c

    63 parts221GPL-3.0
  • 2 layers111.3 × 106.4 mmSuper Sixteen v1, the printed circuit board in 3D

    Super Sixteen v1

    matthewcieplak/super-sixteen

    Code and schematics for the Super Sixteen Eurorack sequencer

    141 parts171
  • 2 layers247.6 × 99.2 mmRomeo pcb, the printed circuit board in 3D

    Romeo pcb

    coseyfannitutti/romeo

    Staggered 40% keyboard pcb that can be assembled with only through hole components, including USB Type-C

    138 parts148GPL-3.0
  • 2 layers90 × 140 mmDrumkid, the printed circuit board in 3D

    Drumkid

    mattybrad/drumkid

    Version 4 was the first successful working design, with full code, schematics, Gerbers, etc available on GitHub.

    70 parts137
  • 2 layersLM80C R6, the printed circuit board in 3D

    LM80C R6

    leomil72/LM80C

    A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

    153 parts123GPL-3.0
  • 2 layers145.3 × 44.5 mmScout, the printed circuit board in 3D

    Scout

    oskitone/scout

    3D-printed, Arduino-compatible, 17-key mono synth. Squeeeee!

    48 parts114
  • 2 layersGba bt hid, the printed circuit board in 3D

    Gba bt hid

    Shyri/gba-bt-hid

    Turn your Game Boy Advance into a Bluetooth Gamepad.

    13 parts98GPL-3.0