1 Alternative Controller for HHKB
2 ===============================
7 - NKRO on USB(PJRC Tennsy only)
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.
26 2. Edit Makefile for MCU setting and build options.
28 MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, NKRO_ENABLE
30 $ make -f Makefile.pjrc
32 $ make -f Makefile.pjrc program
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)
42 2. Edit Makefile.vusb for MCU setting and build options.
44 MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
46 $ make -f Makefile.vusb
48 $ make -f Makefile.vusb program
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
55 http://www.obdev.at/products/vusb/usbasploader.html
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)
65 2. Edit Makefile.iwrap for MCU setting and build options.
67 MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
69 $ make -f Makefile.iwrap
71 $ make -f Makefile.iwrap program
84 | PB0-2|------->ROW(6-8)
85 | PB3-5|------->COL(9-11)
86 | PB6|------->ENABLE(12)
97 +---+ +---------------+
98 USB GND | | ATmega168 |
100 5V <-------+--------+---|Vcc,AVCC | HHKB
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)
108 GND+-C2--+--|XTAL1 RXD|------->Debug Console
109 X1 | TXD|<-------Debug Console
110 GND+-C3--+--|XTAL2 RST|---SW--+GND
117 X1: Crystal 20MHz(16MHz/12MHz)
118 SW: Push Switch(Optional for bootloader)
123 +---------------+ WT12
124 5V | ATmega168 | 5V/3.3V~~~~
125 +-----+---|Vcc,AVCC PC4|---/--->iWRAP(RxD)
126 USB | C3 | PC5|<--/----iWRAP(TxD)
128 5V <--BATT + GND | | HHKB
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)
136 GND+-C2--+--|XTAL1 RXD|------->Debug Console
137 X1 | TXD|<-------Debug Console
138 GND+-C3--+--|XTAL2 RST|---SW--+GND
147 SW: Push Switch(Optional)
148 BATT: Li-Po Battery, Battery Charger and Voltage Regulator(5V and 3.3V).