YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Helix 4行アクリルプレートを作った #Helix祭り

はじめに

こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。先日Helixの5行ステンレスプレートを作りました。

ymotongpoo.hatenablog.com

この他に、foobarとLet's Splitも作りました。

ymotongpoo.hatenablog.com

ymotongpoo.hatenablog.com

これらは何度か触れている、発掘した積みキーボードの材料から作っているわけですが、進捗を整理すると

  1. Helix 5行のステンレスプレートのフルキットとKailh Low Profile白軸とキーキャップが必要個数分 → 完成
  2. Helix PCB 1セット(予備)→ これから
  3. foobarのPCBと上下プレート 2セット → 1つ完成
  4. MinidoxのPCB 1セット → 手つかず
  5. Let's Splitの作りかけ(はんだ付けミスで動かなくなったまま)→ 2つのうち1つ完成

7個中3個が完成しました。今日はこの2番に取り組みます。今回は以前作ったステンレスプレートのときと違って、自分で調達する必要があったものもあるので、それに関してもメモしておきます。

品名 個数 備考 価格(合計)
PCB 1セット GBで購入 1000円
上下プレート 1セット 遊舎工房で購入 4500円くらい
SMDダイオード 50個 GBで購入 100円
OLED 2個 GBで購入 1000円
スプリングピンヘッダ 2個 GBで購入 360円
ProMicro 2個 GBで購入 900円くらい
Kailh Low Profileスイッチ 50個 赤軸をGBで購入 1750円
Kailh Low Profile用キーキャップ 1セット GBで購入 1500円
LEDチップ (SK6812mini) 70個 予備込でGBで購入 1000円
タクトスイッチ 2個 秋月電子通商で購入 40円
TRRSジャック 2個 秋月電子通商で購入 100円
TRRSケーブル 1本 AliExpressで適当に購入 133円
microUSB-USB-Aケーブル 1本 AliExpressで適当に購入 400円くらい
M2x5mmスペーサー 12個 西川電子部品で購入 250円くらい
M2x4mm ネジ 24個 西川電子部品で購入 250円くらい
ロープロファイルピンソケット 1個 OLED用に秋月電子通商で購入 60円
1x4 ピンヘッダ 2個 家に余ってたものを使った 40円くらい
合計 13500円くらい

ビルドログ

これまでのビルドログと同様に、実装中の写真はこちらのGoogle Photosのアルバムで公開しています。

photos.app.goo.gl

バックライト用LED(SK6812mini)の表面実装以外はHelix 5行ステンレスプレートでやったことと変わらないので、流れは公式ビルドガイド先に作ったHelixのビルドログを参照のこと。

本記事では5行ステンレスプレート版では行わなかったバックライトLEDの表面実装で苦労したことなどを書きます。

SK6812miniのはんだ付けがとにかくきつい

これまで作ってきたキーボードではLEDはアンダーグロー用のテープLED(WS2812B)も含めてLEDの実装は一切行ってませんでした。*1さらにいうと、既製品も含めてLEDがついたキーボードを使ったことがありませんでした。そういう背景もあって今回のHelix 4行でバックライトLEDの実装をするというのはなにげに初めてで、LEDに起因するトラブルもそうですしLEDの制御をQMKで行うのも不慣れだったので少し手間取りました。

以下、起きたトラブルと対応を簡単にメモしておこうと思います。

テスターでの検証

なにはともあれテスターでの検証ができるようになれば不具合の原因が早く判断できるのでテスターの使い方を調べます。HelixではSK6812miniはLEDテープと同様のことが基板上で行われていて、すべてのLEDがつながっています。(下図はこちらのブログより転載)

f:id:ymotongpoo:20200824010006p:plain

よく起こりがちな状況はあるLEDを境にそこから先のLEDが点灯しない、もしくは色や明るさがおかしくなる、という状況なので、その場合はその境になっているLED自体、もしくはその一つ前のLEDのはんだ付けに不備があることが多いです。(SK6812miniのデータシートを参照)

f:id:ymotongpoo:20200824103942p:plain

隣り合うLED同士は前のLEDのDOUTと次のLEDのDINがつながっているので、その導通を確認するとはんだ付け不良が見つけられました。他にもLED自体がはんだ付け中に壊れてしまったりというのはVSSとVDDの抵抗値を見たりして確認できました。壊れてしまったものは粘っても仕方ないのですぐに新しいものに替えて解決しました。

アニメーションで確認すると不良箇所がわかりやすい

QMKでバックライトLEDをオンにしただけでは、デフォルトの赤色しか点灯しないので、LEDテスト用のファームウェアを焼くか、自分でアニメーションの設定(RGBLIGHT_EFFECT_RAINBOW_MOOD とか)をすると、接触不良のLEDがわかりやすかったです。

f:id:ymotongpoo:20200823095653j:plain

上の写真は点灯しないLEDがなくなって喜んでたら、アニメーションを設定した途端にAの位置のLEDの接触不良がわかったときの図です。

ジャンプしたランドが導通しているか確認する

はんだ付けし直してきちんと導通しているかは先のテスターでの確認もそうですし、そのLEDのハンダ付け箇所単体で基板側のランドとLED側のランドにプローブを当てることでも確認できました。

使ってるうちに点かなくなったりする

これが本当にきつくて、一旦はちゃんと点灯することを確認して、いろいろ制御したりして使えていたのに、1日~3日くらいしたら点灯しなくなるみたいなことが作り終わってからもう3回くらいあって、「ハンダのジャンプで部品を固定するのとか冗談としか思えない!」とかブツブツ言いつつ、テスターでデバッグするのがちょっと楽しかったりもしました。

参照したブログにも紹介されていた、ジャンパ線で最後の点灯したLEDのDINと未点灯のDINをつないでみたり、点灯している任意のLEDのDOUTを未点灯になり始めたLEDより向こうのDINにつないでみたりといろいろしてみたのですが、これらは全然反応がなかったので、何回か試してやめました。

テスターで前後のLEDでDINとDOUTをつないでみたり、GNDやVCC同士をつないでみたりして導通確認は取れてるので、もはやLEDが壊れてるとしか思えないものは、時間ももったいないので新しいものに交換しました。

結果これを書いているいまは安定しているので良いのですが、またいつトラブルが起きるかわからないので、やはりチップLEDはYS-SK6812MINI-Eみたいにピンがでているものではんだ付けしたい....

とか書いてたらまた不安定なLEDがいくつか出てきた...

QMK FirmwareでのバックライトLEDの制御

これは別途エントリとしてまとめるので、まとめたらそのリンクを貼ります。

完成

というわけで紆余曲折ありましたが、無事にHelix 4行のアクリルプレート版が完成しました。

f:id:ymotongpoo:20200827111221j:plain

これで家にあったHelixのGB時に買った2セットがともに完成しました。GB時は家と会社用に両方とも5行で使う予定で2セット買って、アクリルプレートは会社の工作室で切ればいいと思い買ってなかったのですが、いまとなっては40%をメインで使っているので5行用のアクリルプレートを買わなくて正解でした。

残る積みキーボードはfoobar 1セット、Minidox 1セット、Helixの作りかけ1セットです。次はまだ作ったことのないMinidoxを作ろうかな。

参照

www.sho-k.co.uk

本記事を書きながらデバッグをする上での調べ物をしていたら、上のブログを見て、そのサムネイルにもある「千住金属工業鉛フリー 低温やに入りはんだ エコソルダーLEO」が欲しくなりました。鉛フリーなのに融点が約140度なので、200度ではんだ付けしても余裕とのこと。ただ値段が一巻きで3700円とかなので、ちょっと腰が引ける...

marksard.github.io

kankodori-blog.com

*1:行うつもりが無いわけではなく、後付が可能なことと、AliExpressの配送時間が長すぎて後回しにしてきた

3年越しにLet's Splitを完成させた #レツプリ #letssplit

はじめに

こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。

ここ最近、キーボードを作りまくってますが、そもそものきっかけはLet's Splitでした。しかも3年前に作ろうとして挫折したもの。

品名 個数 備考 価格(合計)
PCB 1セット MEHKEEで購入 1500円
上下プレート 1セット アクリル板を買って自分でレーザーカットしてあった 1500円くらい
スイッチングダイオード 50個 秋月電子で購入 100円くらい
ProMicro 2個 互換品をAliExpressで適当に購入 900円くらい
Cherry MX互換キースイッチ 50個 Gateron ClearをAliExpresで購入 1700円くらい
キーキャップ 1セット AliExpressで適当に購入 1500円
タクトスイッチ 2個 秋月電子通商で購入 40円
TRRSジャック 2個 マルツで購入 100円
TRRSケーブル 1本 AliExpressで適当に購入 133円
microUSB-USB-Aケーブル 1本 AliExpressで適当に購入 400円くらい
M3x10mmスペーサー 8個 西川電子部品で購入 250円くらい
M3x8mm ネジ 16個 西川電子部品で購入 250円くらい
合計 8400円くらい

2017年末、Let's Splitを作ろうと試みる

2016年ころからErgoDox EZを使い続けていて、快適に使い続けていたのですが、筐体サイズの大きさとあまり頻度の高くないキーの多さに疑問を感じ始め、別の解決策はないかと探し始めたのが2017年頭でした。その頃にLet's Splitの自作の話をちらほらTwitterで見かけるようになり、自分も組んでみたいと思いはじめ、MEHKEEで購入したのでした。*1

そして材料を揃え学生時代の演習以来ぶりにはんだ付けをしました。

ここで「動いたぞ!!」とか書いてますが、動いてません。「動いた!!」と思ったら1列動かない列があったのでした。導通確認もせずに組み立てた結果ですが、その後テスターもろくに使わずに、そこで挫折し、そのまま箱にしまわれ、お蔵入りに...

2020年夏に発掘、再度挑戦

コロナ禍で在宅時間が増え、夜飲みに行くこともめっきりなくなった結果、できた時間で取り組んでみようと、再び封印されていた箱を取り出しました。Let's Splitの制作に挫折はしていたものの、来る日のためにHelixのGBにも参加し、foobarやMinidoxのPCBも用意されていました。これらに取り組む日がくるとは....

発掘する直前で別途購入したGherkinは途中失敗したものの、SMKIJの皆様のサポートもありなんとか復旧し、その経験もあってHelixやfoobarは滞りなく完成しました。2017年当時と違ったのは、家に電子工作用の工具が一通りあることでした。2017年当時は会社の工作室にあるもののみでやろうとしたため、ハンダも健康に配慮し無鉛はんだのみ、ハンダ吸い取り器なども同僚に借りたもの、などいろいろ制約の中でやっていましたが、いまはもう腹をくくって道具を全部そろえたので、道具を買い足すのにもまったく抵抗はありません。そのおかげでGherkinも復旧できました。

Gherkinを復旧したことで自信を取り戻し、やる気が復活したのでいよいよ途中で匙を投げていたLet's Splitに取り組むことにしました。

テスターで確認

f:id:ymotongpoo:20200817213105j:plain

前回と違ってテスターをちゃんと使うようになったのでとにかくテスターで導通確認をしてみます。すると該当するキーが一列、ProMicroのつながっているはずのピンと結線されていません。Gherkinのときと違ってショートしているのではなく、導通していないのではんだ付けが怪しいんですが、ProMicroとピンヘッダは特に問題なさそう。

ProMicroを外して、再確認

f:id:ymotongpoo:20200818140529p:plain

念の為ProMicroを外してから、ピンヘッダだけの状態でも同様になるか確認します。やはり同様の状況で、ProMicroの裏側に隠れていた部分もきちんとキースイッチのピンがきれいに切られていたので、怪しいのは基板上側のピンヘッダを付けてる側のランドのハンダ付け。しかしそれを確認するためにはキースイッチを全部はずす必要があります。

scrapbox.io

ここにあるトラブル例のように、やはり特定の列や行は大元のProMicroと基板の接触が不良とのことで、ますます基板上面が気になります。

キースイッチをすべて外してランドを確認

仕方なくすべてのキースイッチのハンダを取って、基板と上のプレートを外すと、3年ぶりに基板上面と対面しました。早速該当のピンのハンダを吸い取ってみると、ランドが剥げていました。それを見た瞬間に、3年前に作ったときにピンヘッダを基板の逆側につけてしまったので外した記憶が蘇ってきました。あのときにランドを剥いでしまったのか...

f:id:ymotongpoo:20200818163655p:plain

ところで、このハンダ吸い取り器は本当に良かったのでめちゃくちゃオススメです。先日買った「はんだシュッ太郎」はコテ先の熱が高まりすぎるので基板上などには良かったのですが、ピンヘッダだとプラスチックの部分が溶けかけたりしてやばかったので、このハンダ吸い取り器を導入しました。

動画を見たら「やらせだろ?」って思ってましたが、気持ちいいくらいに吸えました。キースイッチ全部外すのもこれと、しつこいものはハンダ吸い取り線を追加で当てたらきれいに取れました。

再び相談

ランドが剥げていたので、代替手段でその先のシルクが結線している場所に通電させてあげればよいはずです。今回の場合は該当のピンは、本来導通が取れているはずのキースイッチのピンの部分のランドまでつながっていました。このピンからビニル線やエナメル線で直接つないであげればよいはず!しかし確証が持てなかったでSMKIJのdiscordで相談しました。

なるほど。もし(今持っている基板がv2と)同じであれば、想定されているように結線してあげれば直ると思います。試すだけなら半田付けせずともピンセットみたいな導体を使えるので、それでよさそうなら適当なワイヤを半田付けしてください。

すでに自分が基板を手に入れたときからLet's Splitの基板のバージョンも進んでいるので、そこから確認という感じだったんですが、@shelaさんにも結線について確認をしてもらって、上の提案をいただいたのでその方向性で修正することにしました。

キースイッチとProMicroのはんだ付け、結線

一度すべて外したキースイッチとProMicroを再度付け直すというのはなかなかにうんざりするものですが、単純作業なのでやっていきます。ProMicroまで付け終わったら、さらにランドが剥げていたピンから基板のシルクがつながっているキーソケットのピンに対してビニル線で結線します。

f:id:ymotongpoo:20200818212237j:plain

この状態で再度テスターで導通確認を行い、今度はすべてのキーが期待通りにつながっていることを確認しました!!高まる期待!

完成

PCに接続し、キー入力してみると見事すべてのキーで入力できました!早速キーキャップを付けて完成です。

f:id:ymotongpoo:20200818234631j:plain

一回諦めた分、こうやって動くようになると嬉しいですね。

おわりに

本記事はLet's Split v2 (Gateron Clear)を使って書かれました。Let's Splitが流行った頃から比べると公開されているキーボードの数はすごく増えて、公開されている情報も増え、新規に制作される基板の実装のしさすさも改善され、いまではダイオードやICのはんだ付けがないものも出てきています。また部品の調達も遊舎工房さんやTALP KEYBOARDさんを始めとする店舗が必要なものをまとめて取り扱ってくれているため、自分で必要な部品を探す手間も減りました。

こうしたすべては自分で部品を時間をかけて調達し、試行錯誤して、失敗して挫折した、という経験があった自分にはより大きく感じます。いまとなってはクラシックな部類に入るであろうLet's Splitですが、初めて取り組んだ自作キーボードで一度諦めかけただけに、三年越しに使えるものになって嬉しい限りです。

しかしここ最近作ったキーボードがすべて重め(Kailh Speed Burnt Orange、Kailh Box Black、Kailh Low Profile White)だったので、Gateron Clear (リニア35g) は軽すぎて逆に疲れますね....

関連記事

ymotongpoo.hatenablog.com

*1:予備として余っていた方からもう1セットPCBを安く譲ってもらいました

foobarを作った

はじめに

こんにちはStackdriverあらためGoogle Cloud Operations担当者です。最近、3年ほど前に一度自作キーボードを始めようと思って材料だけ集めたあと放置されていたパーツを回収したので、作っていなかったり作りかけのものを直したりしはじめています。その中に知人から安く譲ってもらったfoobarのPCBと上下プレートセットが2組でてきたので、とりあえず1組作ってみたのですが、検索しても細かなビルドガイドがなかったので自分の記録用に残しておきます。

ここ2ヶ月くらいでキーボード本当に作り過ぎなんですが、これは積みキーボードなので仕方がないですね...

材料

公式サイトには何を揃えたらいいかなどは書いていないのでメモしておきます。

品名 個数 備考 価格(合計)
PCB & 上下プレート 1セット 知人から購入*1 600円くらい
ProMicro 2個 互換品をAliExpressで適当に購入 900円くらい
Cherry MX互換キースイッチ 30個 Kailh BOX黒を遊舎工房より購入 1260円
Cherry MX用キーキャップ 30個 DSAプロファイルのものをAliExpressで購入 800円くらい
スイッチングダイオード (1N4148) 30個 秋葉原で適当に購入 50円くらい
タクトスイッチ 2個 AliExpressで購入 40円
TRRSジャック 2個 秋月電子通商で購入 100円
TRRSケーブル 1本 AliExpressで適当に購入 133円
microUSB-USB-Aケーブル 1本 AliExpressで適当に購入 400円くらい
M2x15mmスペーサー 8個 西川電子部品で購入 250円くらい
M2x6mm ネジ 16個 西川電子部品で購入 40円くらい
LEDテープ(オプション) WS2812B 60LED/m IP65 5個x2 AliExpressから適当に購入 100円くらい
ビニール線(オプション) 適当 秋月電子通商より購入 20円くらい
合計 4700円くらい

価格はまとめ買いしたり送料がかかったものは1個あたりの単価に戻してからこの表の個数で計算し直しています。たとえばネジは40個まとめ買いとかになるので払ったお金は実際もっと高いです。*2

TRRSジャックに関しては、マルツにドンピシャの商品があるのですが、入荷未定で過去に作られた方々のコメントなどを見ると、1ヶ月くらいかかることがあるらしいので、足の形だけ違うものを秋月電子通商から購入しました。

LEDとビニール線はアンダーグローをしない場合には必要ありません。

ビルドログ

写真はこちらからも確認できます。

photos.app.goo.gl

材料の確認

これを作るのに並行してGherkinを作っていたのだけれども、特定のキーがショートしていたのを知り本当に反省したので、今回はかなり慎重めに作業を進めました。まずダイオードの導通確認から。

f:id:ymotongpoo:20200807215759j:plain

テスターでダイオード30本の導通を確認。問題なく導通していることが確認できた。片手でテスター反応させながら、もう片手で撮影するの難しい。foobarは左右共通の基板を片側を裏返して使うので、混乱しないようにマスキングテープで左右と裏表の印を書いておきます。

f:id:ymotongpoo:20200807215415j:plain

ファームウェアの書き込み

ProMicroのはんだ付け後すぐにテストができるようにあらかじめファームウェアを書き込んでおきます。公式は tmk_keyboard のほうを参照しています。しかし qmk_firmwareがそれも内包してビルドを便利にしてくれている上に、自作の他のキーボードでも利用しているので、foobarでもこちらを利用します。

f:id:ymotongpoo:20200807220809j:plain

とりあえずテスト用なのでデフォルトのキーマップをそのまま書き込みます。書き込みはDocker環境が設定済みのUbuntu 20.04で行いました。

$ cd /path/to/qmk_firmware
$ ./util/docker_build.sh 40percentclub/foobar:default:avrdude

GNDとRSTをピンセットでショートさせてリセットさせ、無事に書き込み完了。

ダイオードのはんだ付け

他のキーボードと同じようにランドが四角い方にカソード側(黒い帯があるほう)を半田付けします。 

f:id:ymotongpoo:20200808221731j:plain

リードベンダで曲げておいてから裏面から差し込みます。foobarの場合は裏表どっちにつけても大丈夫ですが、表面はキースイッチなので少しでも邪魔にならないように裏面に配置。はんだ付けまで裏面でやれば表面がきれいになってよかったんですが、家にツールクリップが無いため、楽をするために半田は表面側で行いました。

f:id:ymotongpoo:20200808222258j:plain

雑にこういう感じでマスキングテープでダイオードを固定してひっくり返してはんだ付けしました。左右両方ともはんだ付けが終わったら、ProMicroを載せる位置の各スルーホールと各キースイッチ間で導電確認をしておしまい。

TRRSジャックのはんだ付け

マルツで売っているSparkFun PRT-12639を使う場合にはまったく必要のない工程ですが、脚が折れていないTRRSジャックを使う場合には、ラジオペンチなどで折り曲げたあとに、基板のランドの位置に合うように少しだけニッパで先端を切っておきます。

f:id:ymotongpoo:20200808225735j:plain

左が切ったもの、右が切ってないものです。切りすぎるとはんだ付けが難しくなるので気をつけました。

TRRSジャックは表面実装になるため先に盛り半田をしておいてから、上からジャックを乗せて、ジャックの脚をコテ先で暖めながらジャック全体を上から押し込むとうまくいきました。

f:id:ymotongpoo:20200808231017j:plain

ピンヘッダのはんだ付け

次にProMicroを載せるピンヘッダをはんだ付けします。ピンヘッダを基板に挿しProMicroを載せた上でマスキングテープで基板に固定します。(ダイオードのとき同じ要領)裏返してピンヘッダをはんだ付けします。

f:id:ymotongpoo:20200808235354j:plain

タクトスイッチのはんだ付け

これも脚が折れていて長さが基板に合ったタクトスイッチを使う分には必要ない工程ですが、自分が買った安いタクトスイッチは穴にはめ込むように作られているものだったので、脚を伸ばしたり曲げたり切ったりして調整してからはんだ付けしました。

f:id:ymotongpoo:20200809000211j:plain

これも表面実装で地味に面倒でした。

キースイッチの取り付け

上下プレートがあったので、まずキーを上プレートにはめ込みます。意外と硬かったのでPCBを割らないように気をつけながら片側15個、両側で計30個をはめ込みます。

そのあと基板のキースイッチ用の穴にハマるように乗せてあげて、ズレがないか確認し、確認ができたらはんだ付けします。はんだ付けが終わった後はProMicroが載る位置のキー2つのピンをしっかり切り落とします。上からProMicroをかぶせてみて下からキースイッチのピンが当たっていないかを確認します。

f:id:ymotongpoo:20200809005737j:plain

ProMicroのはんだ付け

はんだ付けの最後としてProMicroをピンヘッダにつけます。

f:id:ymotongpoo:20200809011731j:plain

左右でProMicroの載せ方が表裏逆向きになっていることに注意してはんだ付けします。はんだ付けが終わったら、片側ずつPCに接続してみてそれぞれ片手だけで反応しているか確認をしたあと、両手をTRRSケーブルで繋いで全体としてキーボードとして機能しているか確認します。

下プレートのネジ止め

アンダーグローを実装しない場合はこれで必要な機能は実装されているので、下プレートをスペーサーを使って上プレートに取り付けします。M2のスペーサーとネジで固定。西川電子部品にはM2のスペーサーが10mmより長いものだと15mmしかなかったので妥協。12mmのものをAliExpressで買ったので届くのを待っています。

f:id:ymotongpoo:20200816231600j:plain

AliExpressからWS2812BのLEDテープがまだ届かないので、あとではんだ付けするということにして一旦ここで完成。

f:id:ymotongpoo:20200818094226j:plain

追記

LEDテープが届いたのでアンダーグロー化しました。

ymotongpoo.hatenablog.com

おわりに

Gherkinでの失敗があったので、今回は一つ一つゆっくり確認して作ったので、安心して制作できました。今後もゆっくり着実に作りたいものです。

参照

他にもビルドの報告は見かけましたが、本当に完成したことの報告だけだったりしたので、ここでは材料やビルドの際にこれらの写真や記録があったおかげで組み立てられた、というものを並べておきます。

*1:知人はJLCPCBですべて注文した模様

*2:勝手な思い込みで家にあるM3のスペーサーとネジが使えると思っていたら、実際はM2だったことに後で気が付きました。他の秋葉原に行ったときに西川電子部品に寄れば良かったのに忘れたので2度秋葉原に行くことになりました。

Gherkinを作った #Gherkin

はじめに

こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。Caravelle BLE、Claw44、Helixと立て続けにキーボードを作っていますが、Helixのキットをサルベージする前に30%キーボードを作ってみたいと思いGherkinを発注していたのでした。Helixのほうが公開が先になっているので先に取り組んでいたと見せかけて、実はGherkinのほうが先に取り組んでいたのですが、トラブルがあり順番が前後してしまいました。

用意したもの

品名 個数 備考 価格(合計)
Gherkinキーボードキット 1セット TALP KEYBOARDから購入 6300円
ProMicro 1個 互換品をAliExpressで適当に購入 430円くらい
Cherry MX互換キースイッチ 30個 Kailh BOX黒を遊舎工房より購入 1260円
Cherry MX用キーキャップ 30個 DSAプロファイルのものをAliExpressで購入 800円くらい
microUSB-USB-Aケーブル 1本 AliExpressで適当に購入 400円くらい
合計 9200円くらい

キットなので細かい部品のことを考えなくて済むのが楽ですね。コロナ禍に入る前は会社のメイカースペースを使ってアクリル板とかを切れたので、これくらいのキーボードであればPCBだけの注文にしていたのですが、いまはアクリル板を切るのすらいちいち発注しないといけないのでキットで買えるものはそうしています。

ビルドログ

TALP KEYBOARDの商品紹介ページにリンクしてあるこちらのビルドガイドを参考にしながら組み立てました。ここに書いてある工程は基本そのまま行ったと思ってください。ここに載っている写真は主に補足的なものです。

blog.bomberowl.org

また工程の写真はこちらのアルバムに残しています。

photos.app.goo.gl

ダイオードのはんだ付け

まずスイッチングダイオードを基板に取り付けます。リードベンダで予めリードを曲げておいてから基板の上側からダイオード用の穴に通します。カソード側(黒い帯がある方)が四角いランドになるように確認しながら挿し込みます。ダイオードを穴に通したら、マスキングテープで固定して、基板の下側からはんだ付けします。

f:id:ymotongpoo:20200805211203j:plain

基板の導通確認

上のビルドガイドにあるようにダイオードのはんだ付けが終わった時点で導通確認をします。ProMicroを載せる部分のピンにテスターの黒いプローブ、キースイッチに赤いプローブを当て、正しくピンが導通しているかを確認します。

(上のビルドガイドより転載) f:id:ymotongpoo:20200814002736p:plain f:id:ymotongpoo:20200814002748p:plain

ProMicroのピンヘッダをはんだ付け

写真は残してないですが、ProMicro付属のピンヘッダの脚が短い方を基板に挿した上でProMicroを載せ、その状態でProMicro含めピンヘッダをマスキングテープなどで基板に固定します。その状態で基板を裏返し、ピンヘッダをはんだ付けします。この基板はスプリングピンヘッダ非対応のようなので使えませんでしたが、使える基板であれば万が一失敗したときのことを考えると確実にスプリングピンヘッダが良いなと思いました。他の方法としては次点としてProMicroのソケット化などがあると思います。

yushakobo.jp

何かあってもProMicroをピンヘッダから引き抜くためにハンダを頑張って吸い取る、というような手間が発生しないのは本当に素晴らしいですし、事故があってProMicroを引き抜く際にProMicroを破損することを考えたら絶対に安いので保険だと思ってこちらを使うことをおすすめします!(実際に事故ったので悲痛な気持ちでコメント)

キースイッチの取り付け

アクリルプレートにキースイッチを挿し込んだあと、ひっくり返してピンが天井を向く状態にしてから、基板を載せます。ProMicroが載る側(下側)が見える状態にして載せます。

f:id:ymotongpoo:20200806164259j:plain

買ったキースイッチだと真ん中の突起があまり出ていないため穴の奥まで刺さらず、そのためそのままだと固定が難しいので、マスキングテープで上プレートと基板を固定します。その状態でキースイッチをはんだ付けします。

ProMicroのはんだ付け

キースイッチのはんだ付けが終わったらProMicroをはんだ付けします。

f:id:ymotongpoo:20200806222109j:plain

はんだ付けする前に、ProMicroと基板の間に隠れてしまうキースイッチやダイオードのピンはできる限り切り取っておきます。さらに、その上からカプトンテープで仮絶縁したあとに、プラ板や紙テープなどで確実に絶縁します。これを怠ったがために、あとでものすごい手間の手戻りが発生しました。

ファームウェアの書き込み

ここまで来たらキーボードとして動作するか確認します。QMK Toolboxやqmk_firmwareを使ってProMicroにファームウェアを書き込みます。とりあえずテストなので、QMK Configuratorを使ってデフォルトキーマップのファームウェアを落としてきて、QMK Toolboxで書き込みました。試してみると、W、I、F、Space、Escが反応しない。よくよく調べてみるとどうもそれらのキーが押されっぱなしの状態になっているような印象。そこでそれらのキーを数字の1、2、3、4、5に割り当てたファームウェアを焼き直し、ふたたびPCに接続してみると、

$ 12345555555555555555555555555555555555555555555555555

と押し続けられる様子が確認できました。(ビルドログのアルバムにある動画でその様子が確認できます)はんだ付けを一通り確認してみるも、見えているものに関して言えば問題はなさそう。困った...自分では原因が思いつかないのでSelf-Made Keyboard in Japanの皆さんに相談してみました。

問診中

これまでのビルドログや写真を見てもらって、様々な懸念点を指摘してもらいました。

  • 「ケーブルを接続しただけで入力されてしまうということは、基本的には半田付け箇所かピンの足がどこかとくっついてしまっていると考えられます。そのあたりに注意して見ると良さそうです。」
  • 「このタイプの実装方法だとメイン基板から出ているキースイッチの足でPro Microの内部配線が短絡してる、とかいう可能性もあるかもしれない」
  • 「写真から分かる範囲のProMicroの半田付けは綺麗なように見えますね」「ええ、写真から見える範囲は問題なさそうなので、あとは裏側か実はレジストがずれてて運悪く入力される方にショートを起こしてるか…ですね」「外すの大変だと思うので、とりあえずショートしてないかテスタで確認してみるとか?」

とりあえずショートした箇所がないか、テスターで確認したところ、ProMicroのRST側とGNDと、押しっぱなしの症状がでているキーがいずれもショートしていました。はんだ付け箇所は特に怪しい部分もなさそうだし、やはりいちばん怪しいのはProMicroで隠れている部分。仕方がないので、ProMicroを取り外すことを決意しました。

ProMicroの取り外し

ProMicroの取り外しには「はんだシュッ太郎」とハンダ吸い取りリボンを使いました。

シュッ太郎のコテ先は温度調整ができないうえに結構高温になるため、あまり押し付けすぎるとピンヘッダのプラスチック部分まで若干溶け出してなかなか加減が難しかったです。またハンダ吸い取り機能に関しても、真空にできるわけではないので吸い込みも思うようにはいかず。1時間半ほど格闘してようやくProMicroを引っこ抜けたのですが、ProMicro側のスルーホールが完全に剥がれました...

f:id:ymotongpoo:20200814140057p:plain

無残なProMicroさん...

f:id:ymotongpoo:20200814141727p:plain

仕方がないですね。ProMicroは替えれば済む話ですが、ここにある基板は一枚しか無い!というわけでProMicroを外した状態を見てみると、隠れていたピンが明らかに怪しい。きれいに出っ張ったピンを切って低くした上で、絶縁のためにカプトンテープを貼ります。

f:id:ymotongpoo:20200814141935p:plain

この状態で再度各ピンヘッダと対応するキースイッチの導通確認をして、かつショートしていたGNDと各ピンがこの状態ではショートしていないことを確認しました。ProMicroを抜いた状態でショートが起きていたということはやはりProMicroと基板が接触していたせいとしか考えられないため、今回のようにカプトンテープで絶縁した状態なら再発しないであろうという自信の元に再度ProMicroをはんだ付けします。(キットに付いてきたProMicroはご覧の通りピンがだめになってしまったので、家に予備として置いてあった代替品を載せます)

f:id:ymotongpoo:20200814143236p:plain

はんだ付けしてしまったあとでコメントを頂いて「確かにそのとおり....!!!」とおもったのは

カプトンテープを過信すると同じことになりそうなので厚みが大丈夫そうなら紙か適当なプラのシートをいれたい

TALP KEYBOARDさんにはお手間だと思いますが、ぜひプラシートも同梱していただき私と同じような事故に遭う人を減らしてほしいです!さてこれで再度ファームウェアを焼いてPCにつなぎ入力テストをしてみると....

無事に正常に入力できました!!!多くの皆様からの助言を頂いたおかげでめげずに復旧できたので、SMKIJの皆様には感謝です。

最終組立

無事入力できることがわかったので、ケースをネジ止めして、キーキャップを取り付けて完成です。

f:id:ymotongpoo:20200814143709p:plain

f:id:ymotongpoo:20200814143812p:plain

リセット用のタクトスイッチをつけるか迷いましたが、ケースを付けてみると基板裏側につけてしまった場合結局ケースを外さなければならなくなるため、ファームウェア側に RESET のキーコードを入れる方向で対応することにしました。

反省点

今回の反省点と学びは以下のとおりです。

  • ピンはちゃんと切る
  • 絶縁はちゃんとする
  • テスターはとても便利
  • 可能な限りProMicroはスプリングピンヘッダを使うかソケット化して載せる

書くと当たり前のことばかりなのですが、やはり身にしみて実感できると理解度が全然違いますね。ここでの反省があったので、Helixを作ったときは非常に慎重になり、結果として早く作ることができました。

ymotongpoo.hatenablog.com

キーマップ

30キーしかないということは、アルファベット26文字+4キーしかないということで、かつ普段アルファベットと同じか、下手するとそれ以上に入力しているSpaceやEnterも入れると、もう2キーくらいしか遊びがありません。それだけでShiftやCtrl以外も入れようとしても無理なので、レイヤーを多用することになります。

GherkinのデフォルトのキーマップはQWERTY風にしていつつ、最下段がbが右側に来ていたり、レイヤー遷移に多少の無理が見られるので、このあたりをチューニングしていくのはかなりの試行錯誤が要るなと感じます。foobarも今後組み立てていくことですし、気長にやっていきます。

おわりに

はじめての30%キーボードとしてGherkinをなかば洒落で作ってみたわけですが、意図せずに多くの学びを得ることができる作業となり、今後も自作キーボードを楽しんで作っていくための良い苦労となりました。次は積みキーボードとなっている、同じく30%キーボードのfoobarを作ろうと思います。

また今回はSMKIJの多くの皆様の助言に支えられました。この場を借りて改めて感謝いたします。

本記事はGherkinを使って書かれました、と書きたかったところですが、全然うまく入力ができず、まだキーマップを考えているところなので、取り急ぎ本記事の大半はHelixを使って書きました。キーマップのところだけ意地でGherkinで書きました。

Helix 5行ステンレスプレートを作った #Helix祭り

はじめに

こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。一部の人はご存知のとおり、最近は家でキーボードを作るのにはまってます。

ymotongpoo.hatenablog.com

ymotongpoo.hatenablog.com

しばらくこれらの40%キーボードを使っていて快適に過ごしていて、実際に普段もこれらをメインとして使っているのですが、紆余曲折あって積みキーボードとなっていた各種キーボードキットがサルベージされました。

  1. Helix 5行のステンレスプレートのフルキットとKailh Low Profile白軸とキーキャップが必要個数分
  2. Helix PCB 1セット(予備)
  3. foobarのPCBと上下プレート 2セット
  4. MinidoxのPCB 1セット
  5. Let's Splitの作りかけ(はんだ付けミスで動かなくなったまま)

これらを動作させようと思い、まずはフルキット揃っているHelixを組み立てることにしました。このHelixのフルキット、なんと2年半前のHelixの共同購入(GB)の際のもので、自作キーボード界隈で「#Helix祭り」として盛り上がっていたものですが、そこからずっと眠らせていたと思うと申し訳なくて仕方がない....!!!

品名 個数 備考 価格(合計)
PCB+ステンレスプレートセット 1セット GBで購入 8900円
SMDダイオード 70個 GBで購入 150円
OLED 2個 GBで購入 1000円
スプリングピンヘッダ 2個 GBで購入 360円
ProMicro 2個 GBで購入 900円くらい
Kailh Low Profileスイッチ 70個 白軸をGBで購入 2450円
Kailh Low Profile用キーキャップ 1セット GBで購入 1050円
TRRSケーブル 1本 AliExpressで適当に購入 133円
microUSB-USB-Aケーブル 1本 AliExpressで適当に購入 400円くらい
合計 15500円くらい

というわけで早速組み立てていきます。

ビルドログ

photos.app.goo.gl

Helixには素晴らしいビルドガイドがあるのでそれを見れば手順はわかるのですが、自分が心配したのはこの2年半の間に遊舎工房実店舗が開店し、Helixの販売も定常的にされるようになったので、改善が多数行われビルドガイドが古くなってしまっているのではないか、という点です。

github.com

ありがたいことにHelixのビルドガイドはGitHubで公開されているので履歴が分かります。見てみると多少の改善があるものの2年半前からほぼ変わっていない!とりあえずこれを読み進めれば良さそうということで一安心です。

構成の選択

まず最初のセクションである構成の選択です。Helixは行数とバックライトのLEDの種類で手順や基板の形が変わるので、そこを再確認。

  • 行数: 5 (すでに5行用のステンレスプレートを買ってしまっている)
  • LED: アンダーグロー

LEDに関してはステンレスプレートなのでバックライトはちょっともったいないかなと思ったのと、アンダーグローであれば基板下面にあとから追加可能なこともあってこの選択にしました。アンダーグロー用のLEDテープはAliExpressで購入してまだ手元に到着していないのですが、その到着を待たずに使えるという利点もあります。GBの際に買ったSMDのLEDは予備用のPCBをアクリルプレートで作る際に使おうと思います。

ダイオード

ステンレスプレートなので内側は見えないからリードダイオードでも良かったんですが、どうも自分がGBしたときにSMTにしたかったらしくチップダイオードがたくさんあったのでSMTすることにしました。が、やはりSMTが本当に苦手なので、最初は大変苦労しました。

f:id:ymotongpoo:20200811003527j:plain

慣れてきたらスッスッとつけられるようになりましたが、部品がある一定上の小ささになると厳しいです。ハンダゴテのコテ先は2Cを使っているのですが、どうもランドを温めるのがやりづらい、というのが感想です。一通り実装できたのでよかったのですが、@mteiさんがS9のコテ先がつけやすいと動画をアップされてるのを見かけたので、ちょっと気になっています。

白光 こて先/S9型 T18-S9

白光 こて先/S9型 T18-S9

  • メディア: Tools & Hardware

SMTの際は片側のランドにフラックスを塗った後に、コテ先にハンダを盛っておいて、ペタペタと判子を押すようにランドを触っていったらうまく盛りハンダができました。

基板上での導通確認

導通確認をしないで失敗したことが何度かありSelf-Made Keyboards in Japan (SMKIJ)のdiscordで皆さんに助言をいただきながらテスターで確認をすることの大事さを痛感しているので、都度チェックです。ダイオードのはんだ付けがきちんとできているか確認します。

f:id:ymotongpoo:20200813181355p:plain

ProMicroが載る部分のオレンジの丸の部分にテスターの黒いプローブ、キースイッチのオレンジの丸の部分に赤いプローブを当てて導通ができてるかを確認し、上の段ではProMicroで1つ上のピン、その上の段ではProMicroでもう一つ上のピン、という具合に一段ずつ調べていき、すべての段で導通の確認を取りました。

TRRSジャックとOLEDソケットとタクトスイッチ

TRRSジャックとOLEDソケットとタクトスイッチは基板にマスキングテープで固定して普通にはんだ付け。

f:id:ymotongpoo:20200811222520j:plain

OLEDピンヘッダも、OLEDにマスキングテープで固定してからはんだ付け。

f:id:ymotongpoo:20200811223500j:plain

ProMicroのコンスルーへのはんだ付けとファームウェア焼き

これはコンスルーを基板に甘挿しした上でProMicroをコンスルーに載せてはんだ付けをすると楽でした。

f:id:ymotongpoo:20200811221928j:plain

ありがたいことにHelixではデフォルトキーマップでのビルド済みファームウェアをビルドガイドと同じレポジトリ内に公開してくれているので、QMK Toolboxを使ってサクッと書き込み。

ProMicroを搭載した上で入力テスト

ダイオードをはんだ付けした状態での導通確認ができているので、ProMicroのコンスルーへのはんだ付けとTRRSジャックの はんだ付け、コンスルーと基板の接触がすべてきちんと行われていれば、キースイッチの足の部分をショートさせるだけでキー入力ができるはずなのでその確認をします。

f:id:ymotongpoo:20200811233459j:plain

まず片手だけの状態でパソコンにつないで入力確認を行い、確認が取れたので、次は両手をTRRSケーブルでつないだ上で確認します。この状態ですべてのキーでの入力が確認とれたので、あとはキースイッチだけきちんとはんだ付けすれば完成です。

ステンレスプレートの絶縁

ステンレスプレートのキットには絶縁シートがついていたはずなのですが、どこを見ても見つからないので、無くしてしまったか手違いで入っていなかったか、もう2年半前なのでわかりません。いずれにせよ上のプレートが基板に触ってショートしなければいいので、絶縁をします。

念の為同じ絶縁シートがあればそれを購入しようと思いSMKIJで聞いてみたのですが特定には至らず、カプトンテープで絶縁するのが良さそうという話で、自分も代案がなければそうするのがいいだろうと思っていたので素直に地道にテープを貼っていきました。

f:id:ymotongpoo:20200812223241j:plain

とりあえず全部金属部分が隠れるようにテープを貼った後にデザインカッターで穴の部分を切り取っていくという作業はSMTと同じくらい面倒でした。地味に時間を食った作業です。

キースイッチのプレートへのはめ込み

いま絶縁したばかりのプレートにキースイッチをはめ込んでいきます。これがまた大変ではめ込むにはキースイッチ横の爪の部分を押し込みつつ上から抑えて嵌めるという力の要る作業にも関わらず、キースイッチの足の部分から押すと簡単に外れてしまうので気を遣いました。

f:id:ymotongpoo:20200812222127j:plain

キースイッチの基板へのはんだ付け

プレートの下側からキースイッチを押してしまうとプレートから外れてしまうので、プレートを上下逆さまにして置いた上で、基板を上からはめていく形にしたらうまく嵌められました。

f:id:ymotongpoo:20200812232041j:plain

ただそれでもOLEDやProMircoの部分が出っ張っていて、上から力いっぱいに押し込むわけにはいかないので、ある程度の数がはまったら指でキースイッチと基板を挟むようにしてはまりが浅いところをきちんと固定していきます。

それが終わったらあとはキースイッチのピンをはんだ付けするだけです。多くのキースイッチに対応するために結構キースイッチのピン用の穴が細かいので他のランドまでハンダが流れてしまわないよう、必要以上にハンダを付けず手早く行いました。

キースイッチはんだ付け後の導通確認

理論上はこれではんだ付けが必要な工程はおしまいです。*1この状態でキー入力が認識されるか再度確認します。

f:id:ymotongpoo:20200812235619j:plain

普通にキーボードとしてつないで、1つずつキー入力を行って確認完了。

最終組立

ビルドガイドにあるようにまずOLED用カバーをつけた後に上下プレートを固定し、キースイッチをつけて完成。キースイッチは傾斜が緩やかな方が手前側です。

f:id:ymotongpoo:20200813000338j:plain

完成です!この薄さでできたことは本当に満足です。

f:id:ymotongpoo:20200813000740j:plain

ホームポジション用突起

無刻印のキーキャップですべてのキーが同じ形のものだとホームポジションを目視なしで確認するのが難しいので、ホームポジション用の突起を付けます。これも2年半前に買っていた点字シールから突起一つ分を切り取って貼り付けました。

f:id:ymotongpoo:20200813142450j:plain

さすが点字用だけあって突起の大きさが完璧と感じられるくらい違和感の無いサイズです。

おわりに

作ってみて、やはりHelixは突起部をなくそうと思えばSMTができ、実装が難しいと思えばリードダイオードが使え、4行でも5行でも使える、LEDはチップでもテープでも使える、OLEDが使える、とGB当時に手に入れられたキットの中では制作のしやすさと拡張性の高さで群を抜いていたと思います。その拡張性に惹かれ当時GBに参加したことを組み立てながら思い出しました。いろいろあって伸ばし伸ばしになっていたけれど、ようやく完成できてよかったです。*2

40%キーボードをしばらく使ってからHelixを使ってみるとかなりキー数が多く感じます。PCBがもう一組あるので、アクリルプレートを発注して、次は4行でかつバックライトで実装しようと思います。

本記事はHelixを使って書かれました。

*1:LEDテープは後日届いてから付ける予定

*2:LEDテープが届いたらアンダーグロー化しますが、とりあえず完成ということで