

Keyboard mcu
A configurable, handwired, ergonomic keyboard
- Size
- 30 × 65 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 26
- Nets
- 41
- Pads
- 124
- Tracks, vias
- 317, 12
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 21 Dec 2020
- Updated
- 2 Nov 2021
Overview
Keyboard mcu is an open-source printed circuit board by dpapavas, from the dpapavas/lagrange-keyboard repository on GitHub, published under the AGPL-3.0 licence. It is a 2-layer board of 30 × 65 mm with 26 parts on 41 nets, routed with 317 tracks and 12 vias.
It is built around the ATMEGA32U4-AU. Its parts include 8 capacitors, 7 connectors, 4 resistors, 1 IC and 1 switch. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.
Main components
1README
README.mdThe Lagrange keyboard

The Lagrange is a configurable, split, handwired keyboard, designed for ergonomics. This is meant in the sense that as many keys as possible should be accessible with the minimum possible effort, although some less reachable keys are also incorporated in the design as they can still be useful. Features that attempt to improve ergonomics include concave main sections, convex thumb sections, a tenting stand, palm keys and specially designed keycap shapes. To get a better idea of what all this looks like, see the 3D model of the final assembly and the photos of my build in the doc/ directory.
The Lagrange is of course inspired by the designs that preceded it, most notably the Dactyl and the Dactyl-ManuForm. Differences with these designs and additional contributions to the art include:
- A new thumb section layout, based on the spherical workspace of the thumb (and with the added bonus of a cross-shaped set of keys, useful for "directional" functions).
- Palm keys, meant to be pressed with the edge of the palm, without needing to leave the home row.
- An integrated, configurable tenting stand.
- Non-standard keycap designs for thumb and palm keys.
- Code features aiding exploration of different configurations, such as "interference test builds", allowing design validation prior to printing and "partial test builds", allowing quick prints of arbitrary subsections of the keyboard. (These features can be instrumental to ergonomics optimization, as they allow both deeper exploration of possible configurations and minimizing the key distances within a given configuration, while still avoiding interference between switches, keycaps and the case.)
A further goal of the design was to comprise parts, both mechanical and electrical, that fit together and that can be easily assembled to result in something that can withstand the wear and tear of daily use.
Building a Lagrange
If you want to build your own Lagrange, you can find detailed instructions in BUILD.md.
License
Copyright © 2020 Dimitris Papavasiliou
This program (which includes everything except the things/, kicad/ and doc/ directories, is distributed under the GNU Affero General Public License Version 3. The controller PCB design residing in kicad/, is distributed under the GNU General Public License Version 3. Finally, the generated models residing in things/, as well as the material in doc/, are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Parts
26| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100nF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C4, C6, C7, C8 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 2 | 22 5% | Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder | R1, R2 |
| 2 | 22p | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C2, C3 |
| 2 | Conn_01x08 | Connector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_Vertical | J2, J3 |
| 1 | 10K | Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder | R3 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C1 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder | R4 |
| 1 | 1uF 10% | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C5 |
| 1 | 6P6C | Custom:RJ25_TE_5520425 | J4 |
| 1 | ATmega32U4-AU | Custom:TQFP-44_10x10mm_P0.8mm_Countoured | U1 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | Conn_01x06 | Connector_JST:JST_PH_B6B-PH-K_1x06_P2.00mm_Vertical | J5 |
| 1 | Conn_02x03_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J7 |
| 1 | Crystal_GND24 | Custom:Crystal_SMD_Abracon_ABM3B-4Pin_5.0x3.2mm_HandSoldering | Y1 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_TL3305B | SW1 |
| 1 | USB_B | Custom:USB_B_TE_5787834_Vertical | J1 |
Questions
How big is the Keyboard mcu PCB?
It measures 30 × 65 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Keyboard mcu use?
26 parts, built around the ATMEGA32U4-AU. 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 Keyboard mcu KiCad files?
From the dpapavas/lagrange-keyboard repository on GitHub, at the commit this page was made from: the board is kicad/keyboard_mcu.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Keyboard mcu design in my own project?
Its repository publishes it under the AGPL-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).
Similar boards
- 2 layers243.2 × 106 mm

- 2 layers228.4 × 85 mm

LeChiffre
tominabox1/Le-Chiffre-Keyboard
Great thanks goes to Jake at P3D for really making the case amazing and open sourcing his work. Check him out at P3Dstore.com
105 parts183GPL-3.0 - 2 layers228.6 × 76.8 mm

Schwann Rev0.5b
The-Royal/The_Royal_Open-Source-Projects
A Master Repository For All things Royal Made
127 parts159MIT - 2 layers88.4 × 80 mm

LHS Controller PCB
dmcke5/ZenDeck
This is the second revision of my Mini PC based handheld Gaming PC! It is designed for a Beelink SER 5 Mini PC but could be adapted to other systems by changing the mounting brackets and outlet plate.
76 parts133CERN-OHL-S-2.0 - 2 layers259.5 × 89.1 mm

- 2 layers99.1 × 99.1 mm

Power supply panelized
thebiguno/microcontroller-projects
A home for a bunch of microcontroller projects which don't warrant their own repos.
223 parts75 - 2 layers323.9 × 95.1 mm

UnSplit
swiftrax/UnSplit
Ergo 40% mechanical keyboard with all components on the top with diodes arranged in an array
110 parts68GPL-2.0 - 4 layers55 × 35 mm

Standalone Mini PC BMS - Rev 1.1
dmcke5/MiniPC_BMS
An all in one power managment solution for powering mini pc's with batteries!
113 parts60CERN-OHL-S-2.0