|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- Alternative Controller for HHKB
- ===============================
-
- Feature
- -------
- - Mouse Keys
- - NKRO on USB(PJRC Tennsy only)
- - Keymap Layers
-
-
- Customize Keymap
- ----------------
- see keymap.c.
-
-
-
- Build
- =====
- PJRC Teensy
- -----------
- 0. Edit matrix.c.
- adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
- 1. Define macros in config_pjrc.h.(Optional)
- VENDOR_ID, PRODUCT_ID and string descriptor.
- IS_COMMAND
- 2. Edit Makefile for MCU setting and build options.
- MCU, F_CPU
- MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, NKRO_ENABLE
- 3. Build hex file.
- $ make -f Makefile.pjrc
- 4. Program MCU.
- $ make -f Makefile.pjrc program
-
-
- V-USB
- -----
- 0. Edit matrix.c and usbconfig.h.
- adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
- define macros for V-USB in usbconfig.h.
- 1. Define macros in config_vusb.h.(Optional)
- IS_COMMAND
- 2. Edit Makefile.vusb for MCU setting and build options.
- MCU, F_CPU
- MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
- 3. Build hex file.
- $ make -f Makefile.vusb
- 4. Program MCU.
- $ make -f Makefile.vusb program
-
- Using a bootloader to program for convenience is recommended.
- Once program this V-USB bootloader at first, you can program MCU without
- extra programmer. You should have reset switch to start up as bootloader
- mode in this case.
- USBaspLoader:
- http://www.obdev.at/products/vusb/usbasploader.html
-
-
- iWRAP
- -----
- 0. Edit matrix.c and usbconfig.h.
- adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
- define macros for V-USB in usbconfig.h.
- 1. Define macros in config_iwrap.h.(Optional)
- IS_COMMAND
- 2. Edit Makefile.iwrap for MCU setting and build options.
- MCU, F_CPU
- MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
- 3. Build hex file.
- $ make -f Makefile.iwrap
- 4. Program MCU.
- $ make -f Makefile.iwrap program
-
-
-
- Hardware
- ========
- PJRC Teensy
- -----------
- +---------------+
- | Teensy++ |
- | |
- | | HHKB
- | | ~~~~
- | PB0-2|------->ROW(6-8)
- | PB3-5|------->COL(9-11)
- | PB6|------->ENABLE(12)
- | PE6|<-------KEY(4)
- | PE7|------->PREV(5)
- | |
- | |
- | |
- +---------------+
-
-
- V-USB
- -----
- +---+ +---------------+
- USB GND | | ATmega168 |
- ~~~ C3 | |
- 5V <-------+--------+---|Vcc,AVCC | HHKB
- R1 | | ~~~~
- D- <----+--+-----R2-----|INT1 PB2-4|------->ROW(6-8)
- D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11)
- Z1 Z2 | PC3|------->ENABLE(12)
- GND<----+---+-----------|GND PB0|<-------KEY(4)
- | PB1|------->PREV(5)
- | |
- GND+-C2--+--|XTAL1 RXD|------->Debug Console
- X1 | TXD|<-------Debug Console
- GND+-C3--+--|XTAL2 RST|---SW--+GND
- +---------------+
- R1: 1.5K Ohm
- R2,R3: 68 Ohm
- Z1,Z2: Zener 3.6V
- C1,C2: 22pF
- C3: 0.1uF
- X1: Crystal 20MHz(16MHz/12MHz)
- SW: Push Switch(Optional for bootloader)
-
-
- iWRAP
- -----
- +---------------+ WT12
- 5V | ATmega168 | 5V/3.3V~~~~
- +-----+---|Vcc,AVCC PC4|---/--->iWRAP(RxD)
- USB | C3 | PC5|<--/----iWRAP(TxD)
- ~~~ | + | |
- 5V <--BATT + GND | | HHKB
- R1 | | ~~~~
- D- <----+-----+--R2-----|INT1 PB2-4|------->ROW(6-8)
- D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11)
- Z1 Z2 | PC3|------->ENABLE(12)
- GND<----+---+-----------|GND PB0|<-------KEY(4)
- | PB1|------->PREV(5)
- | |
- GND+-C2--+--|XTAL1 RXD|------->Debug Console
- X1 | TXD|<-------Debug Console
- GND+-C3--+--|XTAL2 RST|---SW--+GND
- +---------------+
-
- R1: 1.5K Ohm
- R2,R3: 68 Ohm
- Z1,Z2: Zener 3.6V
- C1,C2: 22pF
- C3: 0.1uF
- X1: Crystal 12MHz
- SW: Push Switch(Optional)
- BATT: Li-Po Battery, Battery Charger and Voltage Regulator(5V and 3.3V).
-
-
- EOF
|