日本語配列の60%キーボードの「TH60JP」のビルドガイド

TH60JPの販売を開始しましたので、そのビルドガイドとなります。初めに、検索で引っかかってしまった方のために販売ページを掲載しておきます。

-TH60JP 販売ページ-
https://thun.booth.pm/items/4392485

特徴については紹介ページにまとめておりますので、そちらをご覧ください。

それではここからが組み立て方法の紹介になります。

目次

必要なもの

TH60JPを購入するにあたって本体以外に最低限必要なものはこちらです。

部品個数
Cherry MX互換スイッチ最大70個
スクリューイン(ねじ式)スタビライザー最大6個
キーキャップ1セット
汎用60%キーボード用ケース(GH60/Poker2互換)1個
はんだごて、はんだ各1個
プラスドライバー1個
必要なもの

MX互換スイッチはこんなやつです。真ん中が十字のメカニカルキーボード用のスイッチであれば大丈夫だと思ってください。

Cherry MX互換スイッチの例

スクリューインタイプのスタビライザーは。ねじ止め式のことです。後述の単色バックライトを実装する場合はワッシャー付きの物を用意してください(写真だと赤色のパーツのこと)。一般的にキーボードのスタビライザーを買おうと思うと、このタイプのことが多いです。

スタビライザー分解図

キーキャップはこのキーボードの特徴に合わせると、日本語配列のものを1セット分用意してください。FILCOのMajestouch用CORSAIR PBT DOUBLE-SHOT PROのどちらかなら大丈夫です。ただし、FILCO Majestouch用は純正と同様の配列にしようと思うと、ネジ穴と干渉する場合があります。その場合は、そこをねじ止めをしないか、少し配列を変える必要が出てきます。

ケースはいわゆる汎用の60%キーボード用のケースであれば大丈夫です。一部ケースでは干渉する場合もありますが、全てのケースで確認は不可能なので個別に回答を差し上げることはできません。確認している範囲だと、プラケースYMDKのメタルケースでは問題ないことを確認しています。

YMDKのメタルケースの例

あとははんだごてやドライバー類です。正直なんでも良いですが、はんだごては30W程度のものが良いと思います。ドライバーはできるだけ細い1番のプラスドライバーが良いです。

上記は最低限必要なものですが、機能を追加するには必要となる物があります。まず、RGBアンダーグローを実装する場合は以下の部品を追加で用意する必要があります。
(追記)現在販売中のロットははWS2812Bのみで大丈夫です。初期ロットの場合はワイヤーが必要です。

アンダーグローに必要なもの個数
WS2812B16
初期ロットのみ:適当なワイヤー:2cm(ホッチキスの針でも代用可)1
アンダーグローに必要なもの

RGBアンダーグローとは何かというと、キーボードの背面で光るライトのことです。

裏側で光るライト。写真は青のみですがRGBの様々なパターンやアニメーションで光らすことが可能です。

また、キーごとの単色のLEDバックライトを実装する場合は以下の部品が必要になります。
(追記)現在のロットはLEDのみが必要です。初期ロットのみ他のコンポーネントが必要になります。

LEDバックライトに必要なもの個数
初期ロットのみ:FMMT493TA1
初期ロットのみ:0603(1608)470Ω抵抗1
初期ロットのみ:0603(1608)560Ω抵抗71
Cherry MXに合うLED最大71
バックライトに必要なもの

単色バックライトとはキーごとの下に入っているライトのことです。

単色バックライトの例(既製品のキーボードより)

追加の部品を実装する場合は小さい部品の実装が必要となるので、追加でフラックスの用意をおすすめします(なくてもできるが玄人向け)。

内容物の確認

はじめに同梱物が全て入っているかを確認してください。まずはTH60JPの基盤本体とねじ類です。ねじ類はM2のねじとスペーサーが各6本入っています。

TH60JPの本体
袋に一式入ったねじ類

また、CORSAIR PBT DOUBLE-SHOT PRO用の4.25Uワイヤー、FILCO Majestouch日本語用4.5Uワイヤーがあるか確認してください。

4.5U用ワイヤー、4.25U用ワイヤー

次に建前上「おまけ」として入っているアルミ製トッププレート2枚です。

トッププレート2種類

ここでも書いておきますが、これらを「おまけ」としているのは品質・コストの都合です。

トッププレートには細かな傷や塗装むら、端でははがれている可能性などがあったりするのですが、品質を追求するとコストが跳ね上がってしまうため、保証をしない代わりにコストを落しています。ただし、開口部は設計寸法通りにはできているので、スイッチをはめるという本来の役割には問題はありませんのでご安心ください。

一番下側の塗装剥がれの例
(正しくは金属とレジストの両方が剥離しているのでボロボロはがれることはない)

各スタビライザー用のワイヤーですがスタビライザーにはめて動作確認もしていますが、ハンドメイド品なので、ものによっては微妙に合わない可能性や、品質が安定しないという理由で保証しないというスタンスにしています。品質にこだわりたい場合は、1.6mmか1.5mmのアルミや真鍮丸棒を曲げることで自作もできますので、ご自身で満足いただけるものを作製するのが良いと思います。
(追記)現在のロットは工場で生産してもらった分になります。補修部品としてワイヤーのみも販売していますので、必要な方はどうぞ。

初期動作確認

(お知らせ:2023/03/31)以前にVIAでの設定ファイルの読み込みにエラーが出る問題がありましたが、VIA側の仕様変更と判断し、全てのファイルを変更しました。それに合わせて、以前の告知内容は全て削除しました。(お知らせここまで)

次に組み立て以外に不良がないかを確認します。出荷前にも必ず確認していますが、念のため確認をお願いします。

VIAを用いて動作確認をします。以下のページにアクセスします。ここでは解説しませんが、オンラインが難しい場合はローカルにインストールして使用できるバージョンもあります。

VIA
https://usevia.app/#/

上の選択部分で「SETTING」->「Show Design tab」と選択して、DESIGNを選択し、「USE V2 definitions」をオンにした状態で「Load」より以下のリンクのjsonファイルを読み込みます。jsonファイルは事前にローカルに保存してご使用ください。

-Google Drive- TH60JP_LAYOUT_rev2_fix1.json-(2023/08/19リンクの更新ミスにつき再更新)
https://drive.google.com/file/d/1DHDn4SvR5y0E6TsccNuNE4HEyfNyQFJR/view?usp=sharing

読み込んだら「CONFIGURE」のタブに行き、TH60JPの基盤を接続した状態で「Authorize device +」ボタンを押し、許可を求められると思うので、そこでTH60JPを選択します。

接続を求められる(画像はTH25TKのものなので別物です)

正しく読み込めたら「KEY TESTER」タブに移動して、「Test Matrix」をオンにします。その状態で、スイッチ部分をピンセットなどで短絡(端子をピンセットで挟む)します。挟むのはスイッチをはめたときに対になる穴です。

スイッチを取り付けるとこんな感じになる。
ピンが出ている部分をピンセットなどで挟む

感電するかも?なんて思うかもしれませんが、スイッチをつなぐ部分だけでは感電することはないので安心してください。不安ならゴム手袋をしたら良いと思いますが、私は素手でやってます(理論的に感電は簡単にはあり得ないので)。

スイッチ部分を短絡すると画面上の対応する位置の色が変化するかと思います。下の列になると同じ部分が反応する部分がありますが、これはマルチレイアウトに対応しているためなので、問題ありません。

テストの様子(TH25TKにて)

全てのキーの動作に問題がなければ組み立てに入ります。

組み立て手順

(必要なら)RGBアンダーグローの実装

RGBアンダーグローを実装する場合はこちらを読んでください。実装しない場合はここを読み飛ばして大丈夫です。
(追記)現在ロットはWS2812Bの実装のみで可能です。ワイヤーでの短絡作業は初期ロット以外は不要です。

RGBアンダーグローの実装は後からでもできるのですが、作業がしにくくなるので実装するなら先にやっておくのをおすすめします。はじめにRGBアンダーグローを有効化するために、ワイヤーかホッチキスの針を使います。

アンダーグローに必要なもの個数
WS2812B16
適当なワイヤー:2cm(ホッチキスの針でも代用可)1
アンダーグローに必要なもの

そのワイヤーを写真のRC9の下とU4の右側の穴部分で接続します。

RC9の下とU4の右の穴
ホッチキスの針での接続例(ICソケットを実装しそこに挿している)

このようにこの穴同士を繋ぐことで信号線がつながりRGBアンダーグローを有効化できます。

あとは本体であるWS2812Bを空きランドに実装していきます。実装ランドは下の写真のようになっています。

RGBアンダーグローのパターン

右下の印になっている部分にWS2812Bの三角のマークを合わせて実装します。例は次の難しいものと一緒に示します。実装が特に難しいのが下の段の部分です。

難しい部分

この部分も右下に印があるのでこのように実装します。

三角のマークと印刷されたパターンを揃える

これを16か所のランドで実装すればRGBアンダーグローの実装完了です。

青く光っている場所がアンダーグローの実装場所

(必要なら)LED単色ライトの実装①

(追記)現在のロットはこの項目での作業が不要です。最後の方に出てくる実装②の作業のみが必要になります。
LED単色ライトの実装をする場合はこちらを読んでください。実装しない場合は読み飛ばしてください。後からでも実装できますが、作業性が下がるので実装するなら先にやるのをおすすめします。

用意した部品のうち1個ずつ用意しているFMMT493TAと470Ωの抵抗を所定の場所に実装します。

LEDバックライトに必要なもの個数
FMMT493TA1
0603(1608)470Ω抵抗1
0603(1608)560Ω抵抗71
Cherry MXに合うLED最大71
必要なもの
Q1とRC1は近い

Q1にFMMT493TAを実装します。左上にあるRC1に470Ωの実装を行います。

次に各キーの下側にあるR(数字)の部分に560Ωの抵抗を実装します。これを全てのRで行うので合計71個のはんだ付けが必要です。

R20の例

抵抗の素子には向きの指定はないのでとりあえずはんだ付けしていけば大丈夫です。

私は行っていないのですが、LED用のソケットを実装する場合はその場合はこの段階で実装しておきます。丸いランドが+5Vライン、四角の方がGND側(厳密には470Ωを挟んでトランジスタで電流を制御している)です。

配列を考える

はじめにどの配列で組み立てるかを考えます。

対応する配列

この配列の中で、キーボードの4段目に相当する部分を、どの配列にするかで使うトッププレートを変更します。2U LEFT SHIFTと書かれている配列は、写真の下側のものを、そうでない場合は上側の物を使います。判別は上から4段目の一番右の四角が長いものが2.25U、短いものが2U用の左シフトレイアウト用です。

トッププレートの写真

また、画像のオレンジ色の配列がFILCOのキーキャップを使った際の純正の並びですが、下の写真のようにケース取付穴と干渉します。

取り付け穴に干渉する

そのため、スペースキーの右側を1Ux6個の配列に変更して回避するか、この部分だけねじ止めをしないという形をとる必要があるので、配列を決める際には気を付けてください。

スタビライザーの取り付け

配列を決めたら、先に基板にスタビライザーを取り付けます。向きはねじを付けるのが部品が実装されている側、ワイヤーが見える側はTH60JPのロゴがある側です。

スタビライザーは長いキー、基本的に2U(正方形のキーキャップが2個の長さのこと)以上の部分に使いますが、好みによって使わない人もいたりしますので、好みに合わせて取り付けしてください。ちなみに、スイッチをはんだ付けすると外すのは面倒なので、後悔のないように設置してください。スタビライザーにはルブをするという方もいるので気になる方は調べてみてください。

2U用スタビライザー取り付けの例(別の自作キーボードより)

日本語配列の代表的なところで言うと、「Enter」、「スペース」、「左シフトキー」には取り付けます。使うキーキャップの裏側の真ん中以外に取り付ける部分があればスタビライザーを使う想定のキーです。

スタビライザーを使うキーキャップの例

日本語配列として使う場合で、FILCOのMajestouch用かCORSAIR-PBT-DOUBLE SHOT PROのスペースキーを使う場合は、同梱しているスタビライザー用のワイヤーを使う必要があります。長い方がFILCO用、短い方がCORSAIR用です。

長い方がCORSAIR用、短い方がFILCO用

ワイヤー部分だけ差し替えることができると思うので、分解してワイヤー部分を差し替えてください。

分解してワイヤー部分を差し替える

後は所定の位置にスタビライザーを付けるだけですが、FILCOのMajestouch用だけ少しややこしい位置にあるので説明しておきます。

一番下の段を見るとスイッチ取り付け部の上下に穴があると思います。それがスタビライザー取付用の穴です。基本的にはスタビライザー取付穴が独立して綺麗に並んでいると思うのですが、そのなかで綺麗になっていないところがあると思います。これがFILCO用の穴ですが2個重なってしているためこのようになっています。

FILCO用の穴①表側
FILCO用の穴②表側

この穴は2個重なるためにこうなっていると書きましたが、このように取り付けます。

このように取り付ける(裏側)
RGB14と書いてい有るパターンの下が目印です。

綺麗に並ばない位置に取り付けると言ったら良いでしょうか、スイッチの位置で位置決めすると、それっぽい位置の穴が二つ重なっていると思うので、その重なった穴の外側同士がFILCO用の穴です。ひとまず写真のように片側を取り付けて、もう片方はそれに合わせて取り付けると良いと思います。変な位置に取り付けると、スタビライザーが正しく動かないですし、キーキャップがはまらないのですぐ気づくと思います。

トッププレートにスイッチを取り付け

Cherry MXの互換スイッチ(以下、スイッチ)をはめていきます。基板の穴の位置にピンが合うように向きに気を付けてはめます。また、最初にはめる位置は正方形になっている部分のみにします。

スイッチがしっかり固定できる位置のみ先にはめます。
画像はアクリルの試作品を使っています。

この状態で一度基板に合うか確認しますが、ピンが曲がっているものが無いかを確認します。

ピンの曲がりを確認する。

曲がっている場合は修正してください。手で簡単に曲げ戻せます。全てのピンで曲がりがないことを確認したら、基板と合わせてみます。

基板に合わせる

この状態でピンが全て出ているかを確認します。出ていなければ曲がっていると思うので、その部分を修正して再度確認します。

全てのピンが入っていることを確認したら、その状態で残りの部分にスイッチをはめていきます。特に一番下の部分は細くなっているため、プレートを曲げないように気を付けます。穴が多くどの部分にはめるのが良いかわからないと思うので、ここで一番下の部分だけキーキャップを用意して並べながらやるとミスを減らせます。また、位置を決めたら仮で取り付けしてみて本当に間違いがないかを確認します。

一番下の列は穴が多いのでキーキャップを並べたり仮取付しながら確認する

このとき、スタビライザーが正しい位置に取り付けられているかも合わせて確認しましょう。間違っていたら修正します。

はんだ付けと動作確認

すべてのスイッチが正しくはまっており、スタビライザーが正しい位置に固定できていることを確認したら、いよいよはんだ付けです。

はんだ付け前

スイッチ自体は結構丈夫な部品なので下の写真のように多少焦げたりしても問題なかったりします。落ち着いて作業を心がけましょう。

スイッチが焦げたの悪い例だが問題ない

全てのスイッチのはんだ付けが終わったら、初期動作確認と同様のことをします。その際ピンセットではなく、スイッチを押して実際に反応するかを確認します。

もし反応しない場合は、その部分をもう一度はんだごてで温めて少しはんだを足してあげてください。それでも治らない場合はスイッチの初期不良の可能性があります。

ずっと反応しているキーがある場合は、そのスイッチ周辺ではんだが他の部分とくっついていないかを確認してください(俗に言う「はんだブリッジ」の確認)。ブリッジしていた場合は、はんだ吸い取り線を持っている場合はその部分を吸い取り、無い場合ははんだでその部分を温めてブリッジしないようにします。また、稀にはんだ内に含まれるフラックスが同じことを発生させる場合もあるので、はんだブリッジが確認できない場合はアルコールやパーツクリーナーのようなものでフラックスをふき取ったり流してあげると解決する場合があります。

全てのキーが正しく反応することを確認したら、ケースに取り付けていきます。

(必要なら)LED単色バックライトの実装②

LED単色バックライトを実装する場合はこのスイッチをはんだ付けした段階で単色LEDライトを各キーに実装します。実装しない場合は読み飛ばしてください。

丸いランドが+側、四角のパターンが-側なのでそのように実装してください。実装したら、キーキャップを取り付けてみて動作に問題ないかを1個ずつ確認してください。取り付けたLEDが出っ張っていて干渉する場合もあるようです。

ケースに取付

ここまで来たら作業も終わりに近いです。今回は干渉するケースの代表としてプラケースを使って解説します。干渉しないケースの場合は、ケースに付属のねじを使って所定の穴に取り付けるだけで大丈夫です。以下は干渉するケースでの話になります。

プラケースとTH60JP

プラケースの場合、何も工夫をしないとスタビライザーの一部がケースと干渉してしまいます(そのままでも使えないことは無いですが…)。

なのでこの干渉を防ぐために、同梱しているスペーサーを使用します。それをケースの6ヶ所のねじ穴に取り付けます。ゆるゆるだと流石に良くないので軽くペンチ等で締めると良いでしょう(思いっきり締めるとスペーサやケースを破損する可能性があります)。

スペーサーをねじ穴に取り付ける

この状態で、ケースのねじではなく、同梱している短いねじを使って基板を取り付けていきます。作業がしにくい場合はピンセットなどでねじを掴むと作業しやすいかもしれません。

ピンセットで作業をしやすくしている。

すべてのねじを取り付けたら綺麗に収まるかと思います。

上からの写真
USBポートもしっかりと収まる

このようにスペーサーをかませてもUSBポートが問題なく使え、干渉も回避できます。他のケースでも同様に回避できるかもしれませんが、必ず回避できるとは限りません。

最後にキーキャップを取付

キーキャップを取り付けます。

これで完成です。

あとはVIAで好きなキーマップに書き換えてください。

ファームウェアについて

初期のファームウェアとしてVIA対応のものを事前に書き込んではありますが、ご自身でファームウェアをビルドしたいケースもあるかと思いますので、QMKファームウェアのソースコードを置いておきます。

-GitHub-TH60JP
https://github.com/T-H-Un/th60jp

レポジトリはローカルのものなので、特定のqmk_firmwareのレポジトリではビルドできない等が今後起こるかもしれませんが、執筆時点(2023/01/04)時点の最新版では問題なくビルドできることを確認しています。

また、初期ファームウェアはBinariesフォルダ内の「th60jp_rev2_f103_via.bin」となっています。

ブートローダーへの入り方

ファームウェアを書き込む際に必要な、ブートローダーへの入り方についてです。本体には2個のスイッチがあらかじめ実装されています。

あらかじめ実装されているスイッチ

このうち、BOOT1と書かれたスイッチがUSB接続で書き込むブートローダーへ入る際に必要です。

また、本体にはデバッグ用のスルーホールが実装されています。

テスト用スルーホール

NRSTとGNDを短絡させるとリセットできます。また、VIA等でキーマップを書き換えてリセットすることも可能です。ブートローダーに入るにはどちらかの方法でリセットを行う必要があります。

BOOT1ボタンを押しながらリセット動作を行うとUSBで書き込みができるブートローダーに入ることができます。QMK ToolBoxからファームウェアを書き込むことが可能です。システムの割り込みの都合で1回で入れないこともあるので、ブートローダーに入れない場合は何回か試してみてください。

さらに高度にいじりたい場合は、純正のブートローダーを利用することもできます。その場合はBOOT1ではなく、その左側にあるSW1を押しながらPCに接続するか、接続してからSW1を押しがならリセットを行います。これで純正のブートローダーに入れます。純正のブートローダーはUSBに対応していないのでファームウェアの書き込みにはシリアル通信で書き込む必要があります

テスト用スルーホールにはTXとRXのピンを引き出してあるので、そちらを利用してファームウェアなりブートローダーを書き込んでください。

おわりに

ビルドログを細かく書きました。あくまで私は設計者側なので、組み立てる側だとまだわからないことがあるかもしれません。なので、不明な点があればコメントいただければ、コメントで返信ができると思うのでご指摘ください。

7件のコメント

  1. こんにちは。検索で見つけて大変気になっているのですが、1つ質問があります。

    こちらのキーボードは、Windowsで使用する際のOS側の設定は「日本語配列」にすることを想定しているのでしょうか?

    日本語配列設定のPCにリモートデスクトップ接続して使いたいことがあり、OSレベルでは日本語配列にしておきたいのですが、そうするとVIAでの設定時に記号の不一致等で困らないのか…と懸案しています。

    教えていただけると幸いです。

    1. コメントありがとうございます。

      質問にお答えすると、初期のキーマップは日本語配列を想定して作成していますが、日本語キーキャップとVIA上での見た目の不一致は発生します。

      ご存じかもしれませんが、キーボードはある文字に対して「キーコード」という「数字」を送っています。
      このキーコードの解釈をOSの言語設定によって変えています。
      VIAは内部的にはキーコードを設定するもので、VIAのGUI上では英語配列でのキーの解釈が表示されているので、見た目上は不一致がおこります。
      送信しているキーコードは一緒なので、言語設定が英語か日本語かで異なると入力される文字も変わってきます。これはOSの解釈によって起こる問題です。

      言葉で書くと難しいですが、VIAの表示とは食い違いますが、言語設定を日本語にしキーキャップを日本語のものを使っていれば、そのキーキャップに印字されている文字が出力されると思ったらよいと思います。例えば、言語設定を英語に設定した状態でShiftを押しながら数字の「8」を押すと「*」が出力されますが、日本語に設定すると日本語キーキャップに印字の通り「(」が出力されます。このような動作はキーコードレベルでみるとに英語配列でも日本語配列でも差は小さいため起こります。

      VIA上での記号の不一致が気になるのであれば、QMKでファームウェアをビルドする際にキーコードのオーバーロードを行えば解消できます。しかし、キーコードを送信するという動作上、言語設定が英語の場合は入力される文字が日本語の場合と入れ替わってしまうので、結局は言語設定次第で不一致が起こる環境というのはあります。こういった補正は純正ファームウェアには行っていません。

      というわけで、文字で伝えるのが難しい内容ですが、回答になっているでしょうか。
      まだ不明な点がございましたら、気軽にコメントしてください。

  2. 返信遅くなって申し訳ありません。丁寧なご返信ありがとうございます。

    自作キーボードの経験があるのですが、日本語配列設定だとVIA上での記号キーを英語→日本語と読み替えるのが非常に煩雑で、キーマップの自由度の高さを差し置いても設定が辛いな、と感じておりました。

    そのあたりを日本語配列として製作された自作キーボードがどう乗り越えているのか、気になった次第です。

    ビルド時にキーコードのオーバーロードを行うという方法は初めて知りました。そのような方法でも対応可能なのですね。基本的に日本語設定でしか使わないので、良さそうです。

    購入前向きに検討させていただきます。大変ご丁寧にありがとうございました!

    1. 返信ありがとうございます。

      ひとつだけ私のコメントに間違いがあったので訂正しておくと、オーバーロードではなく、オーバーライドが適切のようです。
      QMK自体はCで書かれているものなので、プログラミング能力が高ければそれだけ求めた機能を実現できるのも自作キーボードの面白いところですね。
      私個人の意見としては、ソースを複雑にするということはファームウェアの容量が大きくなることでもあるので、対応表を作りそれを見ながらVIAで設定するのが良いと思っています。

  3. PCBを購入させていただき、自作を進めているのですが、初期セットアップのVIAのLoadで Error: '0XFEED' is not a valid vendorld. となってしまい進むことができません。
    こちら対処方法があれば伺いたいです。
    よろしくお願いします。

    1. ご購入いただきありがとうございます。お手数をおかけして申し訳ありません。
      ページ内にあるGoogleDriveのものは中身が古いままでエラーが出る状態でした。
      以下のGitHubまたはGoogleDriveにあるもので「USE V2 definitions」をオンにして読み込んでいただいて確認していただいてもよろしいでしょうか。
      https://github.com/T-H-Un/th60jp/blob/master/rev2/f103/keymaps/via/TH60JP_LAYOUT_rev2.json
      https://drive.google.com/file/d/1DHDn4SvR5y0E6TsccNuNE4HEyfNyQFJR/view?usp=drive_link
      記事内の方も更新させていただいております。

      余談となりますが、原因は設定ファイル3行目の"vendorId": "0xFEED"の記述が問題で、"vendorId": "FEED"と変更することで機能します。
      ご確認ほど、よろしくお願いいたします。

  4. githubからダウンロードした TH60JP_LAYOUT_V3def.json の場合はエラー無くLoadできてPCBも認識されているようなのですが、KEY TESTERは反応しない状態です。

thunsuke へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です