見出し画像

ロープロファイルでロウスタッガードな狭ピッチキーボードを作った【RP2040直付】

この記事ではロープロファイルの狭ピッチ(*1)キーボードの製作メモをまとめています。主に触れていく題材としては次の通りです。

  • 作るに至った理由とデザイン

  • RP2040マイコン(*2)を使った基板を手はんだで作ることについて

  • 狭ピッチのロウスタッガード(一般的なずれの配列)に対応した自作キーキャップについて

  • 自作のシリコン製ゴム脚について

(*1) ピッチ
キースイッチ同士の間隔。一般的には19.05mm(=3/4inch)や19mm。
狭(きょう・せま)ピッチキーボードはこれより間隔が狭いものを指す。ロープロファイルスイッチとの組み合わせでコンパクトさを追求したキーボードで採用されることが多い印象
(*2) RP2040
Raspberry Pi財団が開発したマイコン。RP2040を利用する場合には外部フラッシュが必要になるなど、ProMicroなどに利用されているATmegaシリーズのマイコンと比べて部品点数は多くなるがその分性能が高い。そして安い。


完成品

まずは完成品をご覧ください。
アルミフレームのアルマイトをDark Grayで発注したのですが、想定よりかなり明るく、黒キーキャップより白キーキャップの方が良かったなぁという感じになっています。

Dark Grayアルマイトが想定よりだいぶ明るかった
キーキャップのデザインは修正予定
自作のシリコン製ゴム脚
全て手はんだでやっつけた

持った時のサイズ感はこんな感じ。薄くて小さいので可愛いです◎

作っるに至った理由

ロープロファイルの狭ピッチキーボードを作るに至った理由としては2つのキーボードの存在があります。

1. Lofree Flow

1つめはロープロファイルスイッチを使用しているのに、素晴らしい打鍵感で話題になったLofree Flowです。
素晴らしい打鍵感の理由としてChoc v2互換のkailhと共同開発したスイッチ(shadowシリーズ)が大きく貢献しているようなので、今回作ったキーボードの次期バージョンでは基板を更新してこのスイッチを使えるようにしたいと考えています。

画像引用: https://www.lofree.co/products/lofree-flow-the-smoothest-mechanical-keyboard

2. bancouver40

狭ピッチに関してはbancouver40という格子配列(オーソリニア)のキーボードがきっかけとなりました。
自分の中で狭ピッチキーボードは分割のものというイメージが強かったため、一体型のコンパクトでシンプルな見た目にやられてしまいました。

画像引用: https://github.com/ChrisChrisLoLo/bancouver40

格子配列が使えないのでロウスタッガードで自作する

bancouver40は可愛いのですが、格子配列が自分には合わないため、ロープロファイルで狭ピッチ、ロウスタッガードの配列のキーボードを作ることが決定しました。

デザイン

配列とピッチ

今回作るのはロウスタッガードの48キーでHHKB風の配列です。
一般的な60%の配列から数字行を省略しただけで、右手側の『}, ]』や『", '』などのキーを省略していない40%キーボードです。最近いちばん手に馴染んでいる配列で、細長くて気に入っています。
HHKB風配列にしていますが、基板自体は最下段の左右にそれぞれ1.25uを足せるようにしています。

レンダリング画像
アルマイトのDark Grayはこれくらいの暗さを想定していたが、実際はかなり明るかった…

次の画像に写っている2枚の基板は、それぞれ上が19.05mmピッチで下が今回の狭ピッチ基板です。ピッチはbancouver40を参考に縦横共に17mmピッチとしています。
両者ともキー数も配列も(ほぼ)同じですが、狭ピッチ基板の小ささが一目で確認できます。
現在はChoc v1を利用していますが、今後Choc v2にも対応させる予定です。

最下段の左右にはオプションで1.25uを足せる

ちなみに上の基板は先日作った削り出しケースで使用しています。

ケースデザインの検討

途中紙にプリントアウトして狭ピッチキーボードのサイズ感を掴みながらフレームの検討しました。

フレームの検討、コンパクトさを強調するため一番下の幅の狭いデザインの方向を選択
持っているのは同時に作っていたマクロパッド
一見して狭ピッチか分からない

外装は低めのアルミフレームと3Dプリント製のボトムプレート( -> 現在は加工したエンビ板)で構成しています。アルミフレームの高さは抑えめにして視覚的に薄さが強調されることを狙っています。

トレーマウントのように1ピースのシンプルなケースにすることもできました。が、ボトムプレートの変更でチルトさせたり無線化用のマイコン・電池を仕込めるような構造への変更に対応させたりといったことを想定してこのような構成にしています。

ボトムプレートの交換でチルトを付けたり無線化に対応したりといったことを想定
USBコネクタはセンター配置が好み

打鍵感の向上は今後の課題

固定方式(打鍵感)には現状全然こだわっていません。かなりカチカチに固定しています。まずはロープロファイルで狭ピッチのキーボードの使い心地をはやく試してみたかったので、打鍵感は後回しにしました。

具体的にはスイッチプレートとPCBでアルミフレームに用意したリブを挟み込んで固定しています。ボトムプレートはネジでPCBと連結していますが、フレームにはめ込むことでほぼ固定されます。ケースとスイッチプレートが一体化したインテグレーッテドマウントに近い構造と言えるかもしれません。
ただスイッチプレートに極薄の3Dプリント品を使っているためなのかわかりませんが、個人的にはそこまで固さは気になりませんでした。

フレームにリブを用意
スイッチプレートと基板でリブを挟み込んで固定。ボトムプレートの最終形状は少し変更
ごくわずかにはみ出たリブ

涙ぐましい(?)努力の甲斐あってアルミフレームは送料込み$33(ブラックフライデークーポンを利用して$28)で発注できました。ちょっとした3Dプリントと同じような価格帯に収まっています。
3Dプリントのボトムプレート(SLA 9000R)とスイッチプレート(SLA Imagine Black)もそれぞれ大体$2とかなりお財布に優しい自作キーボードになっています☺️

RP2040直付基板について

狭ピッチが作りたくなったのと前後してマイコンとしてRP2040を採用を試したくなったので、今回はATMegaシリーズではなくRP2040を搭載することにしました。
初めてATMega32u4を搭載した基板を作った際には、コロナ禍のマイコン不足によりATMegaシリーズの価格が高騰しており、タイミングが悪かったなと思った記憶があります。

そんな時でもRP2040は価格が安定して安く(その当時でも$1.5くらい)、いつか使ってみたいと公式が提供するドキュメントはダウンロードして読んでいました。

『RP2040を使用したハードウエア設計(PDF)』https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040-JP.pdf

Raspberry Pi Datasheets

RP2040はマイコン外部にフラッシュストレージを用意する都合上、ATMegaシリーズよりファームウェアのサイズに余裕が持てます。自分は今のところあまりこの恩恵を受けていないのですがLEDバックライトやトラックボールなどファームウェアサイズが大きくなりがちな場合には良いかもしれません(という認識であってます?)。

今回の回路設計は基本的に公式配布のPDFの第二章の最小設計例を参考にしています。ATMegaシリーズを搭載した基板をいくつか設計していたこともあり、基本的な設計はすぐにできました。
特に注意する点としてはフラッシュストレージとRP2040を繋ぐ配線にビアを使用せずをできるだけ短くすることでしょうか。

手はんだで作ることを念頭に設計する

私は基本的に自分の作ったキーボードを販売しないので、電子部品を基板業者(JLCPCBなど)で実装してもらうPCBAサービスを利用すると製作費が高くついてしまいます。JLCPCBでは基板の発注枚数が最低5枚だと試作扱いとなり、部品を実装する基板枚数を5枚中2枚だけにしてコストを抑えられるのですが、それでもステンシル代や部品の最小ロットなどの都合で高くなりがちです。
そこで最近は基板だけ発注し、部品の実装は手はんだで行っているのですが、RP2040は部品の底面にGNDがあり、通常のはんだこてでははんだ付けで難しいです。もちろんヒートガンやリフロープレートとクリームはんだを利用して部品を実装する方法でも可能ですが、現状あまり道具を増やしたくないこともあり通常のはんだこてで戦う方法を調べました。

このあたりのテクニックをシェアしてくれているのが@74thさんの販売されている書籍です。

こちらではRP2040をはんだこてで実装し易いように工夫したフットプリントや実際の失敗例を掲載してくださっており大変参考になります。
またRP2040を使用した回路で利用できるAliexpressやLCSCの部品リストもまとめてくださっています。

ちなみにAliexpressで売っている簡易のホットプレートを持っているのでそれで実装することもできなくはないのですが、基板が大きいと熱の保持が安定しなかったり、プレートの面積が小さく一気に実装できなかったりするのでもっぱら部品の取り外しで活躍しています。
特にRP2040やtype-Cコネクタなど複数端子を持つ部品を取り外したい場合にはものすごく便利に使えます。

RP2040を手はんだで実装する

こちらが今回のキーボード用の基板です。

実際に発注した基板

作った基板にRP2040を「はんだこて」で実装したものが次の写真になります。書籍に掲載されたテクニックやフラックスを適切に使用すれば思った以上に簡単に手はんだで実装することができました。
写真を撮り忘れてしまって同時に作っていたマクロパッド用の基板写真ですが基本的には同じ構成です。

基板は同時に作ったマクロパッドのもの

RP2040の端子にハンダする際には動画のように基板を立てることで余分なはんだが流れるので作業しやすかったです。足のある部品ですがRP2040のように足がなくても同様に作業できました。
以下はYouTubeの動画ですが外部サイトへの埋め込みができないようなので画像をクリックしてYouTube上でご覧ください。
実戦型表面実装CPUのはんだ付け/実践編

これで道具を増やさずに作れるぞー!と思ったも束の間、本当に大変だったのは抵抗やコンデンサなどのはんだ付けでした。

1005(0402)サイズの部品のはんだづけに苦労する

RP2040はATmegaに比べて部品点数が多く、またマイコン周辺に部品を配置する必要もあって実装エリアが限られている場合は部品のサイズを小さくする必要があります。部品を配置する領域に余裕があれば2012(0805)サイズ(2.0mm x 1.25mm)の抵抗やコンデンサを使用したほうが作業がしやすいです。実際@74thさんの書籍ではこちらのサイズを使用されています。
今回は狭ピッチということもあり、部品をレイアウトできるエリアが通常より狭かったので1005(0402)サイズ(1.0mm x 0.5mm)の部品で基板を設計しました。このサイズであれば狭い領域でもRP2040周辺に複数配置するバイパスコンデンサも無理なくレイアウトできます。ただ作業性は落ちますので、手ハンダで作る場合は基本的には2012(0805)サイズをお勧めします。

一つだけ大きいコンデンサが2012(0805)で、周辺の小さいものが1005(0402)

最初はピンセットを使って部品をパッドまでずらし、予備ハンダを溶かしながらはんだ付け…といった手順をとっていましたが、手が震えてかなり時間がかかってしまいました。
最終的には、次の手順で作業を行うことでかなりサクサクと作業できるようになりました。

  1. 予備ハンダをしていないパッド上に、細く切ったマスキングテープで部品を仮固定

  2. フラックスを塗布

  3. 必要箇所にはんだを流し込む

固定用のマスキングテープ。細く切ると接着面が減少するので長めに用意しておく
複数部品が並んでいても、一つずつ仮固定とはんだ付けを行う方が良い
無事全ての部品を「はんだこて」のみで実装できた。はんだ量が多いところは撮影後に修正済

うまい人は自分が最初に行って断念した「拡大鏡等を使いながら、予備ハンダをしたパッド付近にピンセットで部品を持って行ってはんだ付け」ができるようですが、自分には無理でしたのでこのような手順をとっています。

自作キーキャップについて

ここまで書いてきて狭ピッチのロースタッガードキーボードを作りたいと思ってくださる方がいたら大変嬉しいのですが、同時に残念なお知らせがございます。
狭ピッチといっても今回のように17mmピッチや16mmピッチ、はたまた縦方向横方向で異なるピッチのものなどさまざまなサイズがあります。
そのため19.05mmピッチあたりのサイズを基準に作っているメーカー販売のキーキャップで埋めようとすると割と難儀します。というか現実的には無理です。
実際作るきっかけとなった直行配列のbancouver40はchocfox cfxというキーキャップの1u(16.5mm x 16.5mm)専用品として販売されています。
chocfox cfxシリーズには1.25u, 1.5u, 1.75u, 2u, 2.25uもあるので、これらを利用してbancouver40と同様に17mmピッチでロウスタッガードの配列を作ることができそうですが、不可能です。あくまでchocfox cfxも通常のピッチを目安に作られているのでロウスタッガードの狭ピッチのキーボードにつけると干渉するか不揃いな整列になってしまいます。

chocfox cfxの1u以外を17mmピッチでつけることはできない

そこで今回は(というかここ最近は毎回キーキャップも作っていますが…)、17mmピッチのロウスタッガードでも使用できるように専用サイズのキーキャップを作ります。
こちちらについては先日の記事に詳細をまとめましたので興味がありましたらご覧ください。

こちらのキーキャップで実際に装着して打鍵してみて次のような感想を持ちました。

  • 天面サイズをもう少し小さくする

  • 高さをもう少し増加させる

    • 低すぎると押し込んだ時に天面エッジと指が触れることがある

  • 裾(スカート?)部分を足してキースイッチの軸がもう少し隠れるように

  • 天面のスクープ(窪み)をもう少し深くする

これらの修正は、打鍵感の向上を目的としたChoc v2互換の基板(+ケース)を作成する際に一緒に作り直す予定です。

自作のシリコン製ゴム脚について

ゴム脚については結構前から不満があって、よくある半球状のゴム脚があまり好みではありません。自分としては昔のMacbook proや現在のapple magic keyboardで使われているような底面がフラットで横から見るとやや台形型になっている形状が好みです。サイズは大きすぎない8mm径だとベストです。
ただ、この条件で既製品を探しても見つけることはできません。メーカー製ラップトップの交換用部品で近いものがあったりしましたが、帯に短し襷に流しという感じで、ピッタリくるものを探すのを諦めました。
こんな経緯があってオリジナルのゴム脚が作りたいなぁなんて妄想をしていた訳ですが、さすがにゴムを成型する自作技術もなく実現することなく眠らせていました。

そんなこんなで今回のキーボードを作るにあたりオリジナルキーキャップを作っていた訳ですが、この時利用したシリコンを成型してゴム脚に利用できることに気づきました。

手順としては
1. 3Dプリントで凸型のゴム脚形状を作成
2. 凹型のシリコン型を作る
3. シリコンを流しこんでゴム脚を作る

シリコンを流し込んだ後は、ゴム脚に設計以上の厚みが出ないように板を押し付けて硬化させました。

わかりづらいですが透明の薄いプラ板を押し付けている
3Dプリント製の母型から作ったシリコン型と完成品。ハサミで余分なところをカットして使う

色は硬化剤を混ぜる前のシリコンにアクリルガッシュをほんの少し混ぜることで着色できました。

左は黒のアクリルガッシュをほんの少しだけ混ぜたもの

シリコン製ということもあり、これまで利用してきた市販のゴム脚より柔らかくショックを吸収してくれる感じが強いです。
使用するシリコンでも硬度が違うのでこの辺りも実験してみたいところです◎

狭ピッチキーボードを使ってみて

これまで19mmピッチ(MacBook Pro)や19.05mmピッチ(自作)のキーボードしか使ったことがなく、狭ピッチは窮屈かもと予想していたました。
が、実際完成したキーボードを打鍵してみると思った以上に自分の手にフィットし、通常ピッチからの移行コストがゼロで驚きました。
自分は成人男性の一般的な手のサイズですが特に窮屈さを感じることもなく、当初は持ち運び用に考えていた今回のキーボードがメイン機に昇格しそうです。何より小さくてかわいいのが良いです◎

また今回は打鍵感にそんなにこだわらなかったわけですが、今現在すでに後継としてガスケットマウントバージョンを製作中です。
キーキャップのデザインも一新する予定ですので完成しましたらまた記事をまとめます。

この記事が気に入ったらサポートをしてみませんか?