This controller board replaces stock controller and makes your HHKB full programmable. This board is fully assembled and you can install it into your HHKB only with screw driver.HHKB Pro1(PD-KB300), HHKB Pro2(PD-KB400) and HHKB ProJP(PD-KB420) including Type-S are supported.
Note that HHKB ProBT(PD-KB600/620) is not supported.
Bluetooth and USB controllers installed inside of case.
Note: In current revision pcb color is green.
Post here if you have any question or suggestion.
For more technical information see also this thread. https://geekhack.org/index.php?topic=12047.0UPDATE:
2014/05/01 GB was closed and moved to artisan service.
2015/08/22 components for next batch were ordered, it will take a few weeks to be delivered.
2015/09/10 waiting for PCB 7-10days
2015/10/07 All components are stocked for all variants now.
2015/11/09 Keymap editor was updated
2016/01/11 Updated keymap editor
2016/04/16 Revised price of USB controller
2016/08/31 New keymap editor: also finally available for JP
2016/10/01 out of stock
2016/10/07 back in stockSTATUS & STOCK: USB:
5+(Pro2) / 5+(JP) / 3(Pro1) BT:
5+(Pro2) / Ask(JP)Lead time:
Can be shipped in a few bussiness days. (2017/02/03)ORDER(RULE & CONDITION)0.
Read this post carefully and ask me if you have a question before placing an order.1.
Email me to give which variant of controller
you need and your emai
l which I'll send invoice via Paypal.
My email is: email@example.com.
I'll reply to it and send invoice mail via Paypal in a few days.3.
Make a payment within three days
. If not the order will be canceled.4.
You will receive an email with tracking number from Japan Post in a few days after shipping. Let me know if you don't get tracking number in three bussiness days after payment.
You can trace it here or your country's postal service like USPS. https://trackings.post.japanpost.jp/services/srv/search/input?locale=en
(Japan Post) https://tools.usps.com/go/TrackConfirmAction_input
$40 + $8(shipping) = $48USD
in total [for USB
$75 + $10(shipping) = $85USD
in total [for Bluetooth
Paypal Invoice will be sent to your email. You'll be able to make a payment with credit card on Palpal even if you don't have Paypal account.Shipping:
World wide shipping at same rate. Registered Small Packet with tracking and insurance.AFTER RECEIVING THE CONTROLLER TEST IT BEFORE PROGRAMMING YOUR OWN FIRMWARE.
(For BT board user, you can check both USB and BT function safely even without battery.)WARN: Some batteries in the market has reverse polarity at connector and it will fry and break battery charger chip. PLEASE MAKE SURE ITS POLARITY BEFORE CONNECTING.
With the broken charger chip you cannot charge battery fully anymore or controller may stop working completely. I can offer free repair service for faulty charger chip but you have to pay postage for both ways.
No RMA service is provided for this, sorry.Positive(+) side or red wire should be on left as the pic shows.
See "Bluetooth Battery" section below for more info. Get battery from reliable srouces like sparkfun or adafruit if you are not sure.CONTROLLER VARIANTS:USB Controller for Pro2(PD-KB400)
(Type-S is also supported.)USB Controller for JP(PD-KB420)
(Type-S is also supported.)USB Controller for Pro1(PD-KB300)Bluetooth Controller for Pro2(PD-KB400)
(Type-S is also supported.)Bluetooth Controller for JP(PD-KB420)
(Type-S is also supported.) - read
To install it you have to overcome its case problem.Bluetooth controller has all functions of USB controller, no compromise as USB controller.
See this photo, black one is JP model while white is Pro2. As you can see JP bottom case has no hole for switch and LEDs. To install the controller into JP 1) you need to drill bottom case to make holes or 2) you can use Pro2 bottom half with JP top half as the photo indicates.http://i.imgur.com/c6Rcxff.jpgJapanese specific keys cannot be sent via Bluetooth.
You can remap them to other normal keys. This won't be critical to other language users. See also LIMITATION section below.
NOTE: This controller doesn't support "HHKB Professional BT"(PD-KB600/620).KEYMAP EDITOR:
You can remap keys and download firmwre using TMK keymap editor on web browser. Please use Chrome if you have any problem on other browser. See 'MANUAL' section below for how to flash firmware onto controller.Pro/Pro2 USB
| Pro2 Bluetooth
| JP USB
| JP BluetoothCAPABILITY
- Fully Prorammable keyboard functions(USB and Bluetooth)
TMK firmware offers various features including key mapping, mouse keys and USB NKRO.
- Switching between USB and Bluetooth(Bluetooth)
You can switch the two connections with slide switch or key combination.
- RN42 config mode(Bluetooth)
You can change power/connection configuration of the module if needed.
- Low battery alert(Bluetooth)
Red LED turns on when low voltage.
- RN42 status indicator(Bluetooth)
LED indicates status of Bluetooth connection.
The module stores up to 8 connections.
- Auto connect(Bluetooth)
The module connects the last connected device automatically.
- iOS support(USB and Bluetooth)
works as keyboard with iPhone5. No tested completely. Note that iOS doesn't accept mouse device.
- Android support(USB and Bluetooth)
works as keyboard and mouse with Nexus5. No tested completely.
- Battery charging(Bluetooth)
You can charge from USB port or power adapter which has USB outlet.LIMITATION & CAVEAT
- Class 2 Bluetooth 2.1 + EDR(BT)
Bluetooth module which BT controller uses is RN42 of Mcirochip: http://www.microchip.com/wwwproducts/Devices.aspx?product=RN42
- Bluetooth module RN42 limitations(BT)
See this for detail. https://github.com/tmk/tmk_keyboard/issues/322#issuecomment-204133554
= Japanese and Korean specific keys are not supported
Bluetooth module RN42 cannot send HID keyboard usage more than 0x65. This won't affect most of latin language users. USB controller can send all usage.
= Mouse button 4,5(BTN4, BTN5) and horizontal wheel not supported
Mouse button1,2,3(left, right, middle) and vertical wheel are supported. https://github.com/tmk/tmk_keyboard/issues/322
= NKRO does not work on Bluetooth
Bluetooth is 6KRO like normal keyboards. https://github.com/tmk/tmk_keyboard/issues/169
= System control is not supported
It can't send Power, Wake and Sleep keys.
- No USB Hub(BT and USB)
Controller has no USB Hub fucntion, you lose two USB downstream ports and they turn into just two empty holes on HHKB Pro2.
- Short battery life(BT) Around 12 hours with 850mAh.
BT Controller needs to use battery power to scan HHKB key matrix and get minimum latency on Bluetooth. If you don't mind slow scan rate and latency you can make battery life a little longer but not so much, HHKB and the module is power hog in the end.
- Lipo Battery is not included(BT)
Lipo battery is not included. And it cannot be shipped from Japan due to regulations.
You have to purchase battery for BT controller, see Bluetooth Battery
section below for the detail.
- LIPO BATTERY IS VERY DANGEROUS(BT) TAKE EXTRA CARE OF YOUR SAFETY AND PROPERTY.
You can learn here
- Karabiner doen't recognize Bluetooth inputs on Mac(BT)
Key strokes from Bluetooth are ignored by default. To make Karabiner recognize them enable option 'Allow devices which Vendor ID and Product ID are zero.'.
See this issue. https://github.com/tmk/tmk_keyboard/issues/213#issuecomment-102579416DISCLAIMER:
USE AT YOUR OWN RISK. I can not be liable for any damage.
NO FRIENDLY CUSTOMER SUPPORT. You are required to teach yourself first.
NOT PROFESSIONAL JOB. I'm not a professional.
NOT LEAD FREE. I use leaded solder to assemble.NOTE:
This does not fits for HHKB Pro1. https://geekhack.org/index.php?topic=56494.msg1277498#msg1277498 Pro1 controller is available now.
- No USB Hub function. https://geekhack.org/index.php?topic=56494.msg1542413#msg1542413
- No plan for USB-C
C is a bit too large to plug in USB-mini hole.
ALL REVISIONS HAS NO ERRATA FOR USB CONTROLLERRESOURCES:
Rev.D: 2014/10 Fix for Bluetooth https://geekhack.org/index.php?topic=56494.msg1541485#msg1541485
Rev.E: 2014/11 Fix for Bluetooth https://geekhack.org/index.php?topic=56494.msg1556749#msg1556749NO ERRATA found for following revisions
Rev.G: 2015/03 https://geekhack.org/index.php?topic=56494.msg1675635#msg1675635
Rev.H: 2015/07 Fix thermal releif spokes for reset/program button
Rev.I: 2015/12 Changed USB mini-B connector SMT to TH
Rev.J 2016/01 Removed C13 and added logo on silk layer
TMK firmware supports the controller and provides various features for the keyboard. You can use the features fully by building your own firmware from source codes. See following links for the detail.
Design files, source codes and the detail of the controller are available.
Old GB thread: https://geekhack.org/index.php?topic=56494.0
USB Type-C: https://geekhack.org/index.php?topic=12047.msg1876688#msg1876688
Cover for USB Hub hole by alienman82: https://geekhack.org/index.php?topic=12047.msg1752328#msg1752328
Cover for USB Hub hole and Qi charger by manisteinn: https://geekhack.org/index.php?topic=12047.msg1558708#msg1558708
Cover by RavenIl: https://geekhack.org/index.php?topic=12047.msg2165570#msg2165570MANUAL:Firmware/Keymap
Keymap EditorFlash Firmware
You can try HHKB keymap editor first. You can download pre-build firmware after editing your keymap. It use a bit old and not full functional firmware but it will work.http://www.tmk-kbd.com/tmk_keyboard/editor/index.htmlBuild firmware
To edit your keymap and build firmware check these documents. To use some functions and tweak keymap thoroughly you need to build yourself.https://github.com/tmk/tmk_keyboardhttps://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.mdhttps://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/build.mdhttps://github.com/tmk/tmk_keyboard/wiki/FAQ
$ cd keyboard/hhkb
make -f Makefile
$ make -f Makefile.rn42
You can use dfu-programmer
or Atmel FLIP
to program microcontroller on the board. To get controller into bootloader(program) mode you can push red button on back or press key combo "LShift+RShift+Fn+P" with default keymap. Microcontroller of board is Atmel ATMega32u4
Also see this.https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/build.md#download-and-install
There is good instruciton video. Thank you Tech Intake!
1. Unscrew three bolts on bottom and open case carefully not to damage cables.
2. Unscrew bolt at top right on board first and then unmate connector to remove original board.Note that you don't need any tool to unmate. See this.
3. Mate with connector of Alt board firmly and screw.For Bluetooth
: Also connect Lipo battery to board. Battery should be fixed with double sided adhesive tape or something but too strong stickyness may deform and damage battery
when you remove it.
4. Close case and scew bolts.
Make sure ferrite core on cables are placed right position like pic above beore screwing, otherwise It won't close decently.
BT SwitchBluetooth Battery
This turn on Bluetooth function of controller and switch keyboard into BT mode. When this switch is off keyboard works in USB mode.BT LED
It lights red
when Bluetooth is connected to host, blinks red
(once per second) when waiting for connection and blinks red
(10 times per second) when Bluetooth module is config mode.Power LED
When keyboard are powered with USB it lights green
if battery is fully charged or ligths red
if charging. And it also lights red
to alarm when not powered and battery is low.Charging with USB
Lipo battery can be charged when keyboard is powered with USB cable. You can power it with USB port on PC and 5V USB power adapter. Charging battery with low voltage takes long time or can't charge full. Note that cheap or unpowered USB hub may not be able to supply enough power. Paring
You can connect keyboard with OS specific method during red BT LED is blinking. You can make up to eight pairing with different hosts, according to manual of RN42.http://en.wikipedia.org/wiki/Bluetooth#Pairing_and_bonding
You cannot pair with new host during keyboard is connected to a host. To pair with new host you have to disconnect by turning off the host's BT radio, removing pairing info from the host, keeping away enough to make its radio unreachable or use magic command 'p' to remove pairing info from keyboard.Auto Connect
Keyboard is automatically connected to host once pairing process is done. Keyboard is always connected host to which keyboard connected last time.
This means you can't connect keyboad to other hosts when the last host are in reachable range. In this case you will have to make keyboard into paring mode forcibly using magic command 'p' and redo pairing process.Magic commands
Prefix of magic command are LShift + RShift
displays Bluetooth information on hid_listen
displays battery voltage on console.
enter/exits Bluetoot module RN42 config mode
on console. See RN42 manual.
- Scroll Lock initialize
module with TMK default configuration.
put keyboard into paring mode focibly. Note that this removes all pairing infos.
switches between USB and Bluetooth mode.RN42 initialize
You can initialize module when you are in trouble. But you should tarke care to prevent module from being cofigured incompletely or wrongly. Take the following steps.
0. Turn BT swich off and unplug USB cable.
1. open hid_listen
. You can do without it but I recommend.
2. Plug USB cable and wait for keyboard to startup.
3. Press key combo LShift+RShift+ScrollLock(Fn+O).
4. Turn BT switch on. You will see output below on hid_listen.
5. Do not touch keyobard until the command completes or for twenty seconds.
Now module is configured with default setting and in pairing mode. You may need extra power cycle for pairing, try BT switch off and on.
Output on hid_listen from initialize command.
Entering config mode ...RN42 config mode
Ver 6.15 04/26/2013
(c) Roving Networks
Exiting config mode ...
You need hid_listen
to access this mode. You can change configuration of Bluetooth module with this. Don't change baud rate! Never!
Firmware will lose access to the modlue and you need to communicate to the module with 3.3V UART adapter hardware to fix this problem.This may brick your BT module. Read all documents of RN42 before do this. DO NOT USE IF YOU ARE NOT SURE.
See this for configuration commands.http://ww1.microchip.com/downloads/en/DeviceDoc/bluetooth_cr_UG-v1.0r.pdf
And for other documents.http://www.microchip.com/wwwproducts/Devices.aspx?product=RN42RN42 Factory Reset
When you make a mess of the module configuration you can do Factory Reset. This resets the module factory default settings.
Quote from manual.
To reset the module to the factory defaults, GPIO4 should be high on
power-up and then toggle low, high, low, high with a 1 second wait between the transitions.
You can toggle GPIO4 with two pads labeled as "F.RST" in pic below. You can turn it high(ON) by closing the pads with tweezer, paper clip, or screwdriver and low(OFF) by keeping open.http://i.imgur.com/4FxeD1H.jpghttps://geekhack.org/index.php?topic=71517.msg2131887#msg2131887
After reset you have to initialize the module to use it as Bluetooth keyboard.