Discipline
coseyfannitutti·discipline
About the Discipline PCB
Discipline is an open source AVR/Arduino PCB design by coseyfannitutti, published on GitHub under the CC-BY-NC-4.0 license. It is a 2-layer board measuring 304.9 × 122.8 mm, with 170 components from 25 distinct parts.
Its main chip is the ATmega32A-PU, from the AVR/Arduino family. By type, the board carries 78 switches, 71 diodes, 7 resistors, 5 capacitors, 1 IC and 1 crystal.
It belongs with the keyboards designs in this gallery.
From the project
65% keyboard assembled with only through hole components, including usb type-c
65% keyboard assembled with only through hole components, including usb type-c
Discipline V2 is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License.
This PCB design may be freely reproduced, modified, and manufactured for PERSONAL USE ONLY and may not be reproduced in physical form for public sale outside of CFTKB.com.
If you have built upon this work and have changed the design in a significant way, the non-commercial clause can be waived. If you have developed your own design using files in this repository and would like to sell it, please contact me…

Main components on the Discipline
Discipline bill of materials (BOM)
170 components, 25 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ATmega32A-PU | DIP-40_W15.24mm | U1 |
| 1 | Crystal | Crystal_HC49-4H_Vertical | Y1 |
| 1 | AVR-ISP-6 | AVR_ICSP_3x2 | J1 |
| 1 | BOOT | SW_PUSH_6mm | BOOT1 |
| 1 | 500mA | polyfuse_5.1mm | F1 |
| 1 | RESET | SW_PUSH_6mm | RESET1 |
| 1 | 7U | MX-7U-Stabilizer | ST72 |
| 59 | KEYSW | SW_Cherry_MX1A_1.00u_PCB-NOSCREEN | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8 +51 |
| 1 | KEYSW | SW_Cherry_MX1A_2.00u_PCBNOSCREEN | SW14 |
| 6 | KEYSW | SW_Cherry_MX1A_1.50u_PCBNOSCREEN | SW16, SW29, SW70, SW71, SW73, SW74 |
| 2 | KEYSW | SW_Cherry_MX1A_1.75u_PCBNOSCREEN | SW31, SW56 |
| 2 | KEYSW | SW_Cherry_MX1A_2.25u_PCBNOSCREEN | SW43, SW45 |
| 7 | KEYSW | SW_Cherry_MX1A_1.25u_PCBNOSCREEN | SW59, SW60, SW61, SW63, SW64, SW69, SW78 |
| 1 | KEYSW | SW_Cherry_MX1A_ISOEnter_PCB_ReversedStabilizer | SW76 |
| 1 | USB_C_GCT_USB4085 | USB_C_GCT_USB4085 | USB1 |
| 1 | POWER | LED_D3.0mm | LED1 |
| 69 | — | D_DO-35_SOD27_P5.08mm_Horizontal | D1, D2, D3, D4, D5, D6, D7, D8 +61 |
| 2 | 3.6V | D_DO-35_SOD27_P5.08mm_Horizontal | D69, D70 |
| 2 | 22p | C_Disc_D3.0mm_W1.6mm_P2.50mm | C1, C2 |
| 1 | 4.7u | CP_Radial_D4.0mm_P1.50mm | C3 |
Show 5 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | 0.1u | C_Disc_D4.3mm_W1.9mm_P5.00mm | C4, C5 |
| 2 | 5.1k | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R1, R2 |
| 2 | 75R | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R3, R4 |
| 2 | 1.5k | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R5, R6 |
| 1 | 10k | R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R7 |
Discipline design files
The KiCad project lives in the coseyfannitutti/discipline repository on GitHub; these links point at the commit this page was built from.
- Layoutdiscipline-pcb.kicad_pcb
Discipline: common questions
What microcontroller does the Discipline use?
The Discipline is built around the ATmega32A-PU, from the AVR/Arduino family.
How big is the Discipline PCB?
The Discipline measures 304.9 × 122.8 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Discipline?
170 components, from 25 distinct parts. The full bill of materials is listed on this page.
Where can I download the Discipline design files?
From the coseyfannitutti/discipline repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the Discipline design in my own project?
It is published under CC-BY-NC-4.0, which limits how it may be reused; read the license before building on it.
Can I test firmware for the Discipline 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
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/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
Megadesk
gcormier
41.7 × 32.2 mm23 parts2LGPL-3.0818AVR/Arduino
Easyduino Atmega Nano
Hanqaqa
43.4 × 18 mm30 parts4LCERN-OHL-P-2.0746AVR/Arduino
Easyduino Atmega
Hanqaqa
68.8 × 53.6 mm35 parts4LCERN-OHL-P-2.0746