Skip to the content
PCBKitNew board
2 layersKeyboard controller, the printed circuit board in 3D

Keyboard controller

TM90/Keyboard3

Have as much as possible open source? Also the tools used to build the keyboard

Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
103
Pads
275
Tracks, vias
292, 16
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
9 Jun 2018
Updated
31 Dec 2021

Overview

Keyboard controller is an open-source printed circuit board by TM90, from the TM90/Keyboard repository on GitHub. It is a 2-layer board with 57 parts on 103 nets, routed with 292 tracks and 16 vias.

It is built around the AT90USB1286-AU and LM1117-3.3. Its parts include 26 resistors, 11 capacitors, 5 transistors, 5 connectors and 4 ICs. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

DIY Mechanical Keyboard

Main Idea:

Have as much as possible open source? Also the tools used to build the keyboard

Tool usage:

  1. KiCAD (schematic, layout) (http://kicad.org/ )
  2. avr-gcc (https://gcc.gnu.org/wiki/avr-gcc )
  3. Export data for alu body from a layer in the KiCAD layout data

Electronic

Own layout and schematic but based on this project to keep compatibility with tmk firmware and qmk firmware:

https://github.com/tmk/HHKB_controller/blob/master/schematic/HHKB_controller_revG.pdf

Datasheets

Power
Bluetooth
Microcontroller

Mechanical

http://builder.swillkb.com/

Sandwich case or alu bend case

Software/Firmware

Other:

http://www.keyboard-layout-editor.com/#/

Prototype for Switches without big PCB and description how to build a small keyboard: https://learn.sparkfun.com/tutorials/cherry-mx-switch-breakout-hookup-guide

Fullsize Keyboard matrix example with atmega32u4: https://easyeda.com/farmakon/GH80_3000-4f3cee521afd4be3858c4b5cc3b76f9e

Manufacturer:

PCB:

Mechanical:

Maybe using a front panel service for the keyboard front, aluminum or acrylic would be possible at beta layout

Parts

57
QtyValueFootprintReferences
1310kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR5, R7, R8, R10, R11, R12, R14, R16, R20, R23, R24, R25, R26
61kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R4, R6, R19, R21, R22
4100nCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1, C2, C6, C7
315kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR13, R15, R17
3LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1, D3, D4
3Q_NMOS_DGSPackage_TO_SOT_SMD:SOT-23Q1, Q2, Q4
210uCapacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC10, C11
222Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR2, R3
222pCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC3, C4
24u7Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC8, C9
2Q_PMOS_DGSPackage_TO_SOT_SMD:SOT-23Q3, Q5
10Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR9
116MHzCrystal:Crystal_HC49-4H_VerticalY1
11uCapacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC5
1AT90USB1286-AUPackage_QFP:TQFP-64_14x14mm_P0.8mmU1
1AVR-ISP-6Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ2
1Conn_01x02_MaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ3
1Conn_01x03_MaleConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ4
1Conn_02x11_Odd_EvenConnector_PinHeader_1.27mm:PinHeader_2x11_P1.27mm_VerticalJ1
1D_SchottkyDiode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolderD2
1LM1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U4
1MCP73832-3-OTPackage_TO_SOT_SMD:SOT-23-5U3
1PROGResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR18
1RN42RF_Module:RN42U2
1SW_DPSTButton_Switch_SMD:SW_DIP_SPSTx02_Slide_6.7x6.64mm_W8.61mm_P2.54mm_LowProfileSW1
1USB_C_Plug_USB2.0Connector_USB:USB_C_Receptacle_Amphenol_12401548E4-2A_CircularHolesP1

Questions

What parts does the Keyboard controller use?

57 parts, built around the AT90USB1286-AU and LM1117-3.3. 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 controller KiCad files?

From the TM90/Keyboard repository on GitHub, at the commit this page was made from: the board is electronics/keyboard_controller/keyboard_controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyboard controller design in my own project?

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

More from TM90/Keyboard

1
  • 2 layers305 × 144.2 mmKeyboard, the printed circuit board in 3D

    Keyboard

    TM90/Keyboard

    Have as much as possible open source? Also the tools used to build the keyboard

    176 parts3

Similar boards

  • 2 layers405.8 × 127.3 mmOOTstag, the printed circuit board in 3D

    OOTstag

    Skycode22/HIDs

    HID projects

    321 parts132
  • 2 layers100 × 100 mmYM2612 MIDI SMD, the printed circuit board in 3D

    YM2612 MIDI SMD

    superjoebob/genny

    YM2612/SN76489 Virtual Instrument

    112 parts96
  • 2 layers118.3 × 38.9 mmController, the printed circuit board in 3D

    Controller

    ashpil/Model-M-Type-C

    A modern yet simple Model M replacement controller

    22 parts94GPL-3.0
  • 2 layers40 × 50 mmWired sculpt, the printed circuit board in 3D

    Wired sculpt

    chadaustin/wired-sculpt-pcb

    KiCad design files for the Wired Sculpt conversion mod

    39 parts35
  • 2 layers74.3 × 99.7 mmLfk17, the printed circuit board in 3D

    Lfk17

    lfkeyboards/lfk17

    148 parts27
  • 2 layers419.1 × 101.2 mmJayK, the printed circuit board in 3D

    JayK

    josuegaleas/JayK

    Full-size mechanical keyboard with USB-C and no lighting.

    207 parts13Apache-2.0
  • 2 layers344.5 × 98.3 mmTGW71, the printed circuit board in 3D

    TGW71

    Gouty/Prism_Keyboard

    A compact mechanical keyboard with an affordable sandwich case,

    300 parts6
  • 2 layers96 × 39.8 mmAt90USB1286 prototype, the printed circuit board in 3D

    At90USB1286 prototype

    MacroLens/custom-keyboard

    A custom mechanical keyboard I am making from scratch. The PCB will have functionality for Bluetooth LE, and USB-C outputs. Based on the AVR micro-controller family.

    47 parts1