Skip to the content
PCBKitNew board
2 layers30 × 65 mmKeyboard mcu, the printed circuit board in 3D

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

1

README

README.md

The Lagrange keyboard

The 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
QtyValueFootprintReferences
4100nFCapacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolderC4, C6, C7, C8
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
222 5%Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR1, R2
222pCapacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolderC2, C3
2Conn_01x08Connector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ2, J3
110KResistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR3
110uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1
11kResistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR4
11uF 10%Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolderC5
16P6CCustom:RJ25_TE_5520425J4
1ATmega32U4-AUCustom:TQFP-44_10x10mm_P0.8mm_CountouredU1
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6
1Conn_01x06Connector_JST:JST_PH_B6B-PH-K_1x06_P2.00mm_VerticalJ5
1Conn_02x03_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ7
1Crystal_GND24Custom:Crystal_SMD_Abracon_ABM3B-4Pin_5.0x3.2mm_HandSolderingY1
1SW_PushButton_Switch_SMD:SW_SPST_TL3305BSW1
1USB_BCustom:USB_B_TE_5787834_VerticalJ1

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 mm3W6, the printed circuit board in 3D

    3W6

    weteor/3W6

    a small compact 3x5+3 split ortho keyboard

    113 parts488
  • 2 layers228.4 × 85 mmLeChiffre, the printed circuit board in 3D

    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 mmSchwann Rev0.5b, the printed circuit board in 3D

    Schwann Rev0.5b

    The-Royal/The_Royal_Open-Source-Projects

    A Master Repository For All things Royal Made

    127 parts159MIT
  • 2 layers88.4 × 80 mmLHS Controller PCB, the printed circuit board in 3D

    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 mmSteno, the printed circuit board in 3D

    Steno

    crides/steno

    Embedded steno firmware + custom steno PCBs

    61 parts75MIT
  • 2 layers99.1 × 99.1 mmPower supply panelized, the printed circuit board in 3D

    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 mmUnSplit, the printed circuit board in 3D

    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 mmStandalone Mini PC BMS - Rev 1.1, the printed circuit board in 3D

    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