何か作る。(cool650lpを作った理由)

m_ki
·
公開:2025/12/20

これは、2025アドヴェントカレンダー20日目の記事になります。

19日は、UIAPduino Pro Microの使用について書かれたMarby3氏の記事でした。pro microの代替になると知り、ちょっと興味が湧きました。今回も、皆さんの色々な記事を拝見して、自分の浅学を認識し、未知の領域への興味が深まりました。 

1 はじまり

カレンダーに登録した後、「今回は、何を書こうか。」と思案した末、そして、本日(12月3日)、「キーボードの作成記事でいいかな?」と思いつきました。早速、どんなキーボードにするか構想を始めました。

1 キーケットで頒布できそうなキーボード

2 価格が安価で頒布したいので、できるだけ簡素化されている

3 初心者でも組み立てができる

4 自作キーボード初心者が手に取りやすい配列にする

1〜4の条件に合うものとして、

下の画像のようなオーソリニア(格子配列)で、キー数は10キーも含んで、50キーにすること。

MCU部分は、安価なRP2040-Zeroを採用すること。

できる限り部品(スイッチソケットとダイオード)は、PCBA(工場ではんだ付け済み)にすること。

ケースは、3Dプリントで作ること。

と方向性が決まりました。

一瞬、最近、自作キーボードで増えてきた狭ピッチにすることも考えましたが、入手できるキーキャップを考えると、初心者向きにはちょっと難度があがるので、キーピッチは19.05mmの一般的なキーボードのキーピッチにしました。

2 基板の設計

Kicadでとりあえず、回路図を作成しました。縦(col)10 ×横(row)5のマトリクス方式になります。

早速、部品の配置をしていきます。

この配線していきます。自動配線処理(Autorouter)を使う方法もありますが、私は自分で配線するのが、「楽しい」と思うので、やっていきます。

次に、部品配置ファイルを出力して、PCBAするためのBOMファイルとCPLファイルを作ります。これはエクセルでの作業です。

その後、ガーバーファイルを出力しました。

これらをJLCPCBに投げます(本気で投げるという意味ではないです)。

JLCPCBのサイトにいきます。

自分のアカウントでログインして、ガーバーデータをアップロードします。

さらに、PCBAを選択します。

本当は、ダイオードとスイッチソケットの2つをやってもらおうと思っていました。しかし、スイッチソケットの在庫が0でした。そのため、今回は、ダイオードだけPCBAしました。

午前中から設計を始めて、夕方、JLCPCBに発注しました。これで、2週間ぐらい(?)、届くのを待つだけです。

3 ケースの設計

kicadで作ったPCBに、部品配置を考えながら、いくつか線を追加していきます。

上の画像は、スイッチソケットとダイオードのフットプリントを参考に、部品の周囲に緑色の線(User.Eco1レイヤー)で囲んでいきます。この後に、kicadからdxfファイルを出力して、FUSIONに取り込んで、ケースを作ります。

下の画像が、取り込んだものです。

FUSIONでここから、ケースの下部分を作ります。窪んでいる部分は、PCB下面にはんだ付けされるスイッチソケットやダイオードが配置される部分になります。こうすることで、PCB下面の空間を限りなく減らし、反響音が減るかもしれないと考えました。

同じように、スイッチプレートになる部分をkicadからdxf書類を出力して、FUSIONに取り込んだのが下の画像です。

それを肉付けすると、下の画像のようになります。

まだ、発注したばかりで、PCBは届きませんが、ケースの原型は完成しました。

4 ファームウェアの準備

次の日(12/4)、Macのターミナルでvial-qmkのところへ行き、「qmk new-keyboard」で新しいキーボードを作ります。今回は、キーボード名を「cool650lp」としました。

layoutは5x10、MCUはpro micro RP2040を選択しました。

keyboard.jsonでは、

"matrix_pins": {

"cols": ["GP29", "GP28", "GP27", "GP26", "GP15", "GP7", "GP6", "GP5", "GP4","GP3"],

"rows": ["GP9", "GP10", "GP11", "GP12", "GP13"]

},

に変更しました。

keymapsフォルダ内のvailフォルダを設けて、そこに、vial.jsonファイルを作りました。

ターミナルのvial-qmkでは、

python3 util/vial_generate_keyboard_uid.py;

と打ち込んで、#define VIAL_KEYBOARD_UIDを入手します。

keymapsフォルダ内のvailフォルダを設けて、そこに、config.hファイルを作りました。

赤の下線部は、ランダムで発生するものです。

keymapsフォルダ内のvailフォルダを設けて、そこに、rules.mkファイルを作りました。

vialが動くようにします。viaも設定しているのは、使うことはないのですが、viaやremapでも、動かす可能性を残しています。

あとは、ターミナルで、「make cool650lp:vial」と打ち込んで、uf2ファイルを生成します。

5 (脱線)cool650miniの設計

(12/5)自宅に、四つ足ピンのタクトスイッチが余っています。アリエクで、間違えて購入したものです。使い道がないなと思っていたのですが、それを使って、ミニキーボードをついでに設計しました。回路図は同じで、キースイッチソケットを変更するだけで、新しく設計することができました。

基板の一部に開口部がありますが、その後、さらに改良した結果です。それは、また、別の機会にでも、ご紹介します。

また、この日にJLCPCBから「Your JLCPCB Order Is On Its Way To You」とメールが来ました。来週中には、PCBが到着できそうです。

(12/12)cool650miniの基板が届きました。夜に受け取ったので、組み立ては翌日(12/13)に行いました。一つのタクトスイッチにリードが4箇所あるので、スイッチ50個の半田付けは200箇所になります。まあ、温めたハンダゴテを当てて、ハンダを溶かして流しこむ作業を延々、繰り返すだけです。単純作業で集中することが好きな私には、仕事からの気分転換に最適です。次に付属のピンヘッダを使い、RP2040-Zeroを固定して、端子をはんだ付けをしました。 

ダイオードを工場でのはんだ付け(PCBA)にしておいたおかげで、組み立ては本当に楽でした。

この後、ケースをデザインします。cool650miniは部品代を抑えることを目標にしていますので、ケースと基板との固定には、ネジとナットで2箇所で済ませます。

下の画像が出来上がりのものです。グレーのケースに、黒く丸いボタンをポチポチして入力します。

7 基板の到着

(12/13)cool650miniを完成させた日に、cool650lpの基板が届きました、いつもの青い箱ではなく、ちょっとだけ大きい段ボール箱に入って届きました。

こちらは、スイッチソケット50個(はんだ付け100箇所)とRP2040-Zeroの端子部分をはんだ付けしました。cool650miniよりも、はんだ付け箇所が少ないので、早く終わりました。

キーマトリクスも指定したピンも同じなので、ファームウェアは共通です。前日のcool650miniで使ったファームウェアをそのまま入れて、配線処理が問題ないか確認しました。

動作確認したところ、問題なしです。

後は、ケースの印刷です。すでにデザイン素案はできています。後は、実物に合わせて、凹凸部分の修正です。RP2040-ZeroのUSB端子部分が、私の想像より厚みがあったので、その分、トッププレートの干渉する部分を薄くします。この辺りは、トッププレートの一部だけを印刷して、実際に合わせてみて、何ミリの調整が確認しています。cool650miniを作る際。私の手元に、M2ネジ8mmの在庫がないことがわかりました。補充すればいいのですが、ケースのネジ部分の厚みを変えることで、M2ネジ6mmに対応するように修正しました。反対側の固定には、ナットを使用します。ナット回しが不要になるよう、ナットが収まる部分は六角形の凹部にしました。これも、cool650mini作成の時、六角形の対角線の長さを4.8mmにしたら、ちょっとナットが入らなかったので、5mmに調整しました。多分、フィラメントの収縮の関係かもしれません。

トッププレートとボトムケースを一緒に印刷始めてから4時間ぐらいで終了しました。出来上がりが、下の画像です(KEEB_PD_R280で使用したもの)。

ちなみにキーボードの厚みは、どこかで「薄いが正義」と聞いたので、自分史上、最薄を目指しました。Tai-Hao Thinsのキーキャップ、Kailh Deep Sea silent islet miniのキースイッチを装着した状態で、16.9mmぐらい。

ケース自体の厚みは、8.1mmです。

8 まとめ

思いついて作ったキーボードに、どれくらい費用がかかったか、内訳を教えます。

価格の内訳

基板(ダイオードはPCBA) 20枚で66.35ドル(送料込み) 約10,309円

スイッチソケット 50個 1100円(送料別)

RP2040-Zero アリエク10個で2651円(送料込み)

キースイッチ(任意:ここではDeep Sea silent pro mini)50個で4500円(送料別)

キーキャップ(任意:ここでは、Tai-Hao Thins)5100円(送料別)

3Dプリントケース(使用フィラメント93g、100gで300円ぐらいで算出)279円

※ケースの印刷にかかる諸経費(3Dプリンタ機や維持費、印刷の失敗による破棄など)は無視する。

M2ネジ 6mmとナットの組み合わせ 8本(家にあったので、価格不明)

総額は23939円

約24000円で、薄型の50キーのキーボードが完成しました。「お金がかかるな」と思いますか? 私は自作キーボードが唯一の趣味なので、これぐらいお金がかかることは仕方がないと思っています。最近は減りましたが、仕事などの付き合いでおこなう、飲み会を2〜3回、参加しなければ、捻出できそうな金額です。

cool650lpを見て、「ちょっと、このキーボードがいいな」と思う方が多分、世界中に20人くらいはいると思うので、余っている基板に、ケースと部品(スイッチソケットとRP2040-Zero)を付けて、後日Boothとキーケット2026で頒布します。そうすると、製作にかかった金額はうまいこと、ならすことができます。また、次のキーボードに取り掛かることができるかなと思っています。最後は宣伝及び協力要請になっちゃいました。

12月3日に構想して、12月14日に完成できました。自作キーボードって、こんな感じで楽しめるものでいいかなと思います。

明日は、せきごん氏の記事ですね。昨年、Auto-KDKを発表されて、今年の自作キーボード設計の流れを一気に変えたと思います。今年は、どんなことを書くのか楽しみです。

最後まで読んでいただき、ありがとうございます。

(12/21)boothで頒布を開始しました。