Slide 1

Slide 1 text

Designing Keyboards 101 @nasa9084

Slide 2

Slide 2 text

$ whoami • @nasa9084 • LINE corp. • Go / Kubernetes

Slide 3

Slide 3 text

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Slide 6

Slide 6 text

What are you using?

Slide 7

Slide 7 text

FILCO Majestouch Convertible 2 (Cherry MX Blue) 2016.04 - 2018.10

Slide 8

Slide 8 text

Ergodox EZ (Cherry MX Blue) 2018.10 -

Slide 9

Slide 9 text

Ergodash (Kailh BOX white) 2019.02 -

Slide 10

Slide 10 text

Self-madeʁ

Slide 11

Slide 11 text

Self-made Keyboards • Buy keyboard kit, build by your hands • Shop • https://yushakobo.jp • About 25,000 yen ~

Slide 12

Slide 12 text

Mint60 By eucalyn_

Slide 13

Slide 13 text

Corne Cherry By foostan

Slide 14

Slide 14 text

Nomu30 By recompile keys

Slide 15

Slide 15 text

Keyboard Related Addiction • Keyboard Buying Addiction • Keyboard Making Addiction • Key-switch Acquisition Syndrome • Key-cap Acquisition Syndrome • Cable Making Addiction • Keyboard Designing Addiction

Slide 16

Slide 16 text

Designing Keyboards 101 @nasa9084

Slide 17

Slide 17 text

Components • Key-switches (Cherry MX compatible) • Key-caps • PCB • Diode (1N4148/1N4148W) • Controller (ProMicro) • Cable, Reset switch, Jack, LEDs, and so on…

Slide 18

Slide 18 text

Cherry MX (compatible) switches 40 yen / key ~

Slide 19

Slide 19 text

ProMicro Arduino compatible micro controllers by sparkfun 2,492yen

Slide 20

Slide 20 text

ProMicro compatible controllers Arduino compatible controller compatible controller… 300 yen~

Slide 21

Slide 21 text

QMK Firmware • Open source keyboard firmware for ProMicro • https://github.com/qmk/qmk_firmware • Support 6 keyboards and community keyboards $ git clone github.com/qmk/qmk_firmware $ cd qmk_firmware $ make $KEYBOARD:$KEYMAP:avrdude # if your keyboard is Mint60 $ make mint60:default:avrdude

Slide 22

Slide 22 text

Designing

Slide 23

Slide 23 text

First step to the Endgame https://booth.pm/ja/items/1044084

Slide 24

Slide 24 text

How to Design a Keyboard 1. Design key layout 2. Design schematic 3. Map schematic and footprint 4. Arrange parts layout 5. Wiring 6. Order your PCB

Slide 25

Slide 25 text

Design Key Layout • Design with Keyboard Layout Editor • http://www.keyboard-layout-editor.com

Slide 26

Slide 26 text

http://www.keyboard-leyout-editor.com

Slide 27

Slide 27 text

Keyboard Layout Preset • Begin from famous keyboards • Add new keys you want • Remove keys you don’t use http://www.keyboard-layout-editor.com

Slide 28

Slide 28 text

Design Schematic • Use KiCad • is a CAD for creating PCB • http://kicad-pcb.org •  • Current stable is 5.1.2

Slide 29

Slide 29 text

Key Matrix • 14 pins are avail for key input • Layout keys in a matrix to use many keys • Detect a key by 2 pins

Slide 30

Slide 30 text

Other Components • Connect all components to ProMicro • Connect left and right by TRRS cable • Reset switch to reset ProMicro • (Optional) LED

Slide 31

Slide 31 text

TRRS Cable • 3.5mm - 4 contacts phone connector cable • Tip-Ring-Ring-Slave cable • Hard to find to buy • Connect right hand and left hand

Slide 32

Slide 32 text

Map Footprints Schematics → Parts

Slide 33

Slide 33 text

Arrange Parts Layout • Can use raw data from keyboard- layout-editor • Can use Python script © By foostan

Slide 34

Slide 34 text

Wiring Components • with 0.25mm wire • 0.5mm for power • Very hard… © By foostan

Slide 35

Slide 35 text

Order PCB • Output Garber format file • Confirm with KiCad GarbView • Measure size • Rename files • Order from https://www.elecrow.com

Slide 36

Slide 36 text

Q?