]> git.gir.st - tmk_keyboard.git/blob - hhkb/README
65f7dcab5a8c58d41d8af88fa47eb20fffe6f002
[tmk_keyboard.git] / hhkb / README
1 Alternative Controller for HHKB
2 ===============================
3
4 Feature
5 -------
6 - Mouse Keys
7 - NKRO on USB(PJRC Tennsy only)
8 - Keymap Layers
9
10
11 Customize Keymap
12 ----------------
13 see keymap.c.
14
15
16
17 Build
18 =====
19 PJRC Teensy
20 -----------
21 0. Edit matrix.c.
22 adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
23 1. Define macros in config_pjrc.h.(Optional)
24 VENDOR_ID, PRODUCT_ID and string descriptor.
25 IS_COMMAND
26 2. Edit Makefile for MCU setting and build options.
27 MCU, F_CPU
28 MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, NKRO_ENABLE
29 3. Build hex file.
30 $ make -f Makefile.pjrc
31 4. Program MCU.
32 $ make -f Makefile.pjrc program
33
34
35 V-USB
36 -----
37 0. Edit matrix.c and usbconfig.h.
38 adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
39 define macros for V-USB in usbconfig.h.
40 1. Define macros in config_vusb.h.(Optional)
41 IS_COMMAND
42 2. Edit Makefile.vusb for MCU setting and build options.
43 MCU, F_CPU
44 MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
45 3. Build hex file.
46 $ make -f Makefile.vusb
47 4. Program MCU.
48 $ make -f Makefile.vusb program
49
50 Using a bootloader to program for convenience is recommended.
51 Once program this V-USB bootloader at first, you can program MCU without
52 extra programmer. You should have reset switch to start up as bootloader
53 mode in this case.
54 USBaspLoader:
55 http://www.obdev.at/products/vusb/usbasploader.html
56
57
58 iWRAP
59 -----
60 0. Edit matrix.c and usbconfig.h.
61 adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
62 define macros for V-USB in usbconfig.h.
63 1. Define macros in config_iwrap.h.(Optional)
64 IS_COMMAND
65 2. Edit Makefile.iwrap for MCU setting and build options.
66 MCU, F_CPU
67 MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
68 3. Build hex file.
69 $ make -f Makefile.iwrap
70 4. Program MCU.
71 $ make -f Makefile.iwrap program
72
73
74
75 Hardware
76 ========
77 PJRC Teensy
78 -----------
79 +---------------+
80 | Teensy++ |
81 | |
82 | | HHKB
83 | | ~~~~
84 | PB0-2|------->ROW(6-8)
85 | PB3-5|------->COL(9-11)
86 | PB6|------->ENABLE(12)
87 | PE6|<-------KEY(4)
88 | PE7|------->PREV(5)
89 | |
90 | |
91 | |
92 +---------------+
93
94
95 V-USB
96 -----
97 +---+ +---------------+
98 USB GND | | ATmega168 |
99 ~~~ C3 | |
100 5V <-------+--------+---|Vcc,AVCC | HHKB
101 R1 | | ~~~~
102 D- <----+--+-----R2-----|INT1 PB2-4|------->ROW(6-8)
103 D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11)
104 Z1 Z2 | PC3|------->ENABLE(12)
105 GND<----+---+-----------|GND PB0|<-------KEY(4)
106 | PB1|------->PREV(5)
107 | |
108 GND+-C2--+--|XTAL1 RXD|------->Debug Console
109 X1 | TXD|<-------Debug Console
110 GND+-C3--+--|XTAL2 RST|---SW--+GND
111 +---------------+
112 R1: 1.5K Ohm
113 R2,R3: 68 Ohm
114 Z1,Z2: Zener 3.6V
115 C1,C2: 22pF
116 C3: 0.1uF
117 X1: Crystal 20MHz(16MHz/12MHz)
118 SW: Push Switch(Optional for bootloader)
119
120
121 iWRAP
122 -----
123 +---------------+ WT12
124 5V | ATmega168 | 5V/3.3V~~~~
125 +-----+---|Vcc,AVCC PC4|---/--->iWRAP(RxD)
126 USB | C3 | PC5|<--/----iWRAP(TxD)
127 ~~~ | + | |
128 5V <--BATT + GND | | HHKB
129 R1 | | ~~~~
130 D- <----+-----+--R2-----|INT1 PB2-4|------->ROW(6-8)
131 D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11)
132 Z1 Z2 | PC3|------->ENABLE(12)
133 GND<----+---+-----------|GND PB0|<-------KEY(4)
134 | PB1|------->PREV(5)
135 | |
136 GND+-C2--+--|XTAL1 RXD|------->Debug Console
137 X1 | TXD|<-------Debug Console
138 GND+-C3--+--|XTAL2 RST|---SW--+GND
139 +---------------+
140
141 R1: 1.5K Ohm
142 R2,R3: 68 Ohm
143 Z1,Z2: Zener 3.6V
144 C1,C2: 22pF
145 C3: 0.1uF
146 X1: Crystal 12MHz
147 SW: Push Switch(Optional)
148 BATT: Li-Po Battery, Battery Charger and Voltage Regulator(5V and 3.3V).
149
150
151 EOF
Imprint / Impressum