This is a QMK-compatible replacement controller for the HHKB Lite 2, identified by model numbers PD-KB200W/U or PD-KB200B/U.
This Lite version of the HHKB is a membrane keyboard and not exactly popular compared to more expensive Professional versions that use Topre switches. But the wiring is simple and is a good first project for modding commercial keyboards.
This replacement uses a Teensy 2.0, which is cheap, has plenty of pins, and works well with the QMK firmware. The entire controller board is replaced, so you will lose the built-in USB hub. You will gain all the benefits of the powerful QMK and similar Teensy-supported firmware.
The fabrication-ready files are in
plots/. Just send them to your preferred fab. It is a pretty standard 1.6mm PCB with conservative via and track parameters that just about any shop can handle.
You can also order the PCBs through PCBway. With their new user discount, you would only have to pay shipping.
The USB cable you get should have plastic plugs, because you will have to shave them down later.
The keyboard is held together by a few screws. Don't forget the screw hiding under the label. When the shell is open, there are also further one screw holding down the metal backplate and one screw each for the PCBa.
The USB cable can be removed from the shell but does not need to be detached from the PCB. We will be using another USB cable instead.
The flex cables can be eased out gently. There is no latching mechanism.
The Mini-USB plug that goes to the Teensy needs to be shaved down to save about 1mm of thickness.
My recommended order is:
The Molex connectors are oriented in opposite directions, with pin 1 (the edge with a little notch) of each connector facing each other. This is important because the flex cables and connectors are single sided.
Note that the Teensy should be mounted upside down, on the same side as the connectors. This is to save a couple of millimeters of space from the stacked height of the connectors. You may have to trim down the header pins after you've soldered on the Teensy. The USB cable should still be able to fit.
Connect the flex cables to the PCB. Note the orientation.
The metal backplate should be insulated, at least around the area of the PCB, to minimize the risk of it shorting the board. I use a few strips of electrical insulation tape here.
Plug in the USB cable to your computer and flash the firmware. There's a copy of the firmware with the default layout at
Programming is done using Teensy Loader. Since the Teensy is mounted upside down and the reset button no longer exposed, you can short the
GND pins instead.
After a successful initial flash, you can use the
reset key to enter flashing mode instead of having to open the keyboard. On my default configuration, the
reset key is
After flashing, you should be able to type something. It's easiest to just put the silicone membrane over the traces and try typing something.
The PCB here only uses one of the original PCB mounting screws. Route the USB cable around the internal strain relief. Don't forget the screw for the backplate.
This is a KiCad project, but you can find the generated fabrication files in
plots/. Just send them to your preferred PCB factory.
The schematics are fairly straightforward, with 8 row pins and 14 column pins:
The PCB layout is likewise simple:
The configuration in
firmware/ can be uploaded to Keyboard Firmware Builder to generate firmware for the standard US QWERTY layout.
There will be a warning "Not every key has a unique position in the wiring matrix". This can be ignored and it is due to both
Fn keys being wired exactly the same. You should take note of this when designing your own layouts: it is not possible to assign different keycodes to each
Fn key as they are electrically indistinguishable.
The wiring matrix is a bit of a mess, as is typical of membrane keyboards that do not have diodes to prevent ghosting: the matrix is designed to minimize ghosting from common key combinations but will never completely eliminate it.
The pin assignments are:
创建于: 2022-05-09 03:05:19
Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架，快来试试它！_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统！ - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011