You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

README 4.6KB

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