151 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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
 |