輝く自作キーボード

自作キーボードのビルドログとかいろいろ

初心者も無限の可能性で自作キーボードの勉強してみませんか?

はじめまして

かれいの煮つけです。

頭ゆるふわ情報系学生で、今まで作ったキーボードはMint60だけ。

しかも購入したのはProMicroにプログラム書き込み済みのもので、完全に自作キーボード初心者です。

 

今回、CherryMXLEDBitBoard (無限の可能性)とProMicroSocket(プロマイクロのおうち)

を使って、名刺サイズキーボード作りました。

ビルドログや、自作キーボード温泉地の方からのアドバイスを参考にして作ったので、自分も少しでも初心者さんの参考になるといいなと思い、ビルドログを残します。

※ProMicroのコネクタ部分が上から出るのが普通なので適宜読み替えてください 

f:id:karei_key:20190307022444j:plain
f:id:karei_key:20190307022513j:plain
普通はコネクタが上向き


 

 

 

 

材料

材料 個数 メモ
スペーサー7mm 8個

7mm以上なら他の長さでもOK。遊舎工房さん店舗に10mmのあったと思います。

ネットならヒロスギネットなど。

ねじ5mm 8個 ホームセンターなどで買おう。
アクリル板2mm 完成品×4くらい

はざいやさんでいろいろな種類のアクリルがありました。

加工を失敗する可能性があるので、少し余裕をもって用意しましょう。

キーキャップ 4個 遊舎工房さん店舗、TALPキーボードさん、縁鍵盤工房さん、海外輸入など。
ProMicro 1個

遊舎工房さん(スプリングピンヘッダ付)、TALPキーボードさんなど。

追記:ProMicroが手に入ったら、まず最初にエキポシ系接着剤でUSBポートの補強をしましょう。完全に固まるのに時間がかかります。あまり厚く盛るとおうちに刺さらなくなります。

エキポシ系接着剤 1個 ProMicroのUSBポート補強に絶対必要です。
USBケーブル 1個 お好きなもの。
キーホルダーチェーン 1個 持ち歩きたいし、キーホルダーチェーンつけました。
キースイッチ 4個 遊舎工房さん、TALPキーボードさんなど。お好きなもの。
ジャンパー線 少し ビニールが縮んでしまいました。ウレタンエナメル線(0.35mm)の方がいいかも。
LED(SK6812mini) 4個 表面実装なので難易度高め。
ダイオード 4個 TALPキーボードさんなど。
リセットボタン 1個 私は付けていませんがあった方がいいです。

 

 

機材

機材 メモ
はんだごて LEDの表面実装をするなら、温度調節機能付きがおすすめです。
こて台 どれでもOK。はんだごて机に直置きはNGです。
ニッパ お好きなもの。
はんだ 鉛フリーはんだでLEDを表面実装できる自信がなく、鉛入り。
ピンセット HOZANの先の曲がったのを使いました。
ドライバ ねじのサイズに合ったもの。

 

 

無限の可能性 ProMicroのおうちとは

自分で基板を設計をしなくても、オリジナルキーボードを作れる基板です。

しかも光らせることができます。

無限の可能性でColosseum44などヤバい(誉め言葉)キーボードを組み立てていらっしゃる方々がいますが、

いやいや逆に小さいサイズのかわいいキーボードを作るのもありなんじゃない???

私のような初心者も自分で基板を設計する前に無限の可能性使って勉強してみるのありなんじゃない??と思います。

Colosseum44についてはこの記事が分かりやすいです。

salicylic-acid3.hatenablog.com

無限の可能性の詳細はこちらをご覧ください。

github.com

無限の可能性とProMicroのおうちはこちらで購入できます。

swanmatch.booth.pm

swanmatch.booth.pm

 

キーボードケースの設計

 遊舎工房さんで開催予定のmeishi展に出したい!というのがきっかけなので、名刺サイズで設計します。

※meishi展について最新の情報ではない可能性があるので、ご自身でご確認お願いします。

 

トッププレートとボトムプレートで基板を挟む形のケースにします。

f:id:karei_key:20190306231952j:plain

キーボードケースの設計メモ



f:id:karei_key:20190306230055j:plain

キーボードケースの設計図

 ねじ穴は2mm、キーをはめる穴は14×14mm、キー穴の間隔は6mm、キーホルダーにする穴は4mmで設計しました。

キー穴の間隔が6mmだと少し隙間ができます。

キーボードを設計するなら調整が必要だと思います。

ねじ穴、キーをはめる穴は使用するレーザーカッターによって調整が必要かもしれません。FabCafeなどで加工をする方が多いかと思いますが、ねじとキースイッチを持参して、穴のサイズや設計ミスがないか確認しましょう。

f:id:karei_key:20190306232039j:plain

仮組みの様子

 

今回、金沢市のデジタルものづくりオープンデーというイベントへアクリルとPCを持参して加工してきました。

レーザー加工機を使うのは初めてでしたが、お手伝いいただいて、かっこいいケースが作れました。ありがとうございました。 

キットのキーボードの着せ替えもしたいので、来年度もあるといいな…。

 

はんだづけ

早速はんだづけをしていきます。

まず、それぞれの基板にダイオードを向きに気を付けてはんだ付けします。

f:id:karei_key:20190306233857j:plain

ダイオードをはんだづけした様子

キースイッチをアクリル板にはめて、基板をのせます。

(今回キーとキーの間隔が広いので切り離しましたが、間隔をもう少し狭めればくっついたまま使えると思います。)

f:id:karei_key:20190306232539j:plain

キースイッチに基板を置いた様子

キースイッチの足をはんだ付けします。できるだけ基板が曲がらないほうがかっこいいので、切り離した場合はなんとか頑張りましょう。

次に配線をしていきますが、配線をしながらどこをどうつなげるか考えるとわからなくなると思うので、いったん紙に書くのがおすすめです。LEDは熱に弱いので、最後にはんだ付けするのが良いようです。

 今回はこんな感じの配線になります。

一番外側の穴にProMicroを刺すので、内側の穴にはんだづけしていきます。

f:id:karei_key:20190306235811j:plain

配線のメモ

基本的にProMicroのおうちの+と-から各基板へ電源を供給できるよう配線、Rowは横の基板とColumは縦の基板と配線、ダイオードは光らせる順にDOからDIへ配線します。最初に光らせるダイオードは、おうちのLEDからDOへ配線、最後に光らせるダイオードのDIはどこにも配線しません。

※メモ上ではColumはA2、A1から配線になっていますが、実際はA3、A2に配線しました。変更した意味は特にないです。

f:id:karei_key:20190307001341j:plain

配線の様子

表面実装のLEDをはんだづけします。

LEDの大きいパッドが左上と右下に来るようにします。

追記:これだと逆さのと判断つかないじゃん…! 一番大きいパッドが左上です!

熱に弱いのではんだごて温度は220度程度ではんだづけすると良いそうですが、はんだがうまく溶けず私の技量では難しく、270度に設定しました。(購入してからはんだごての温度のキャリブレーションはしてないので正確な温度ではないかもしれないです。)

f:id:karei_key:20190307002031j:plain

LEDをはんだづけした様子

ProMicroをスプリングピンヘッダ(コンスルー)にはんだづけします。

この時、スプリングピンヘッダの窓部分が同じ側に来るようにしてください。

f:id:karei_key:20190307004052j:plain

ProMicro

スプリングピンヘッダの説明書:https://t.co/WVdZzmU32c

 

ProMicroのおうちのRESETと書いてある部分にリセットボタンをはんだ付けします。

ProMicroをおうちに刺します。おうち側にははんだ付けしません。

 

ソフトウエア書き込み

次にQMKを使ってソフトウエアを書き込んでいきます。

github.com

自分は、びあっこさんのmeishiのプログラムを参考に(というか少し変更して)書き込みました。

ソフトの中身はあんまり把握できていないのと、間違いながらすすめていったので何か抜けがあったり間違っていたらごめんなさい。

適宜QMKのDocumentationなどを参照してください。

良い参考書があったらぜひ教えてください。(Documentationを読みましょうね…)

 

MSYS2とGitの導入

PCのOSがWindowsですが、LINUXコマンドが扱えないと面倒そうだったので、MSYS2を導入します。

ここが画像付きで分かりやすいかなと思いました。

blogs.osdn.jp

 

 MSYS2が導入出来たら、プログラム書き込みの準備をしていきます。

びあっこさんのMeishi組み立て方ガイドを参考にしました。

biacco42.hatenablog.com

 

MSYS2で

pacman -S git

でGitを導入します

git clone https://github.com/qmk/qmk_firmware.git

でQMKをクローンしてきます。

cd qmk_firmware

でQMKファイル内に移動します。

ビルドに必要な依存を解決するため

util/qmk_install.sh

を実行します。

ここまでで、プログラムを書き込む準備ができました。

 

ソフトウエアの変更

<キーボード名>.hを自分のキー配置と対応するように記述します。

#define LAYOUT( \
 k00, k01,\
 k10, k11\
) \
{ \
 { k00, k01 },\
 { k10, k11 }\
}

 

keymap.cを自分のキー配置と希望する動作に対応するように記述します。

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [0] = LAYOUT( /* Base */
 RGB_TOG, KC_ESC, \
 KC_LEFT, KC_RIGHT \
 ),

};

キーコードはこちらを参照してください。

docs.qmk.fm

 

rules.mkに

RGBLIGHT_ENABLE = yes

と記述します。

 

config.hにキー数、ProMicroの対応するピン、LEDをつける場合はピン、明るさのレベル、光り方のモードなどを記述します。

#define MATRIX_ROWS 2
#define MATRIX_COLS 2

 

#define MATRIX_ROW_PINS { C6, D4 }
#define MATRIX_COL_PINS { F5, F4 }

 

#define RGB_DI_PIN D3
#define RGBLED_NUM 4

#define BACKLIGHT_LEVELS 8
#define RGBLIGHT_EFFECT_RAINBOW_MOOD

 

VENDOR_IDなどは書いてないとプログラムを書き込めないようでした。ちゃんと調べてないのでどうしておけばいいのかちょっとよくわかりません…。

Pinの指定に関してはこちらの記事の紫色の部分を見てください。

例えばPD3なら、D3と指定します。

kumatoki.hatenablog.com

LEDに関する部分はこちらを参照してください。
docs.qmk.fm

 

ソフトウエアの書き込み

いよいよソフトウエアを書き込みます。

make <キーボード名>:<キーマップ>:avrdude

コンパイルから書き込みまでしてくれます。

途中で

Detecting USB port, reset your controller now.

と言われるので、RESETボタンを押します(もしくはピンセットでショートなどする)。

ショートが1回でいい場合と素早く2回しないといけない場合があるようです。

ソフト書き込みが終わったタイミングで動作確認をしましょう。

ケースを組み立ててしまってからはんだ不良などみつかると面倒です。

 

組み立て

組み立てます

完成

f:id:karei_key:20190307022615j:plain

完成品

f:id:karei_key:20190307022840j:plain

頭に電極を刺されたラスボスみのあるヒヨコが光る図

f:id:karei_key:20190307022729j:plain

裏から見た完成品

 

最後に

無限の可能性の作者のしろとりさん、遊舎工房のひよこさん、ネオウサギさんからアドバイス、情報をいただき、記事内に盛り込みました。

ケース加工ではデジタルものづくりオープンデーの皆さんにお世話になりました。

ソフトウエアの書き込みでは特にびあっこさんのmeishiを参考にしました。

自作キーボードのビルドログを参考にしました。

皆さんにお礼申し上げます。

 

この記事はMint60で書きました。

と言いたかったのですが、ProMicroのUSBポートがもげてMogeMicroになってしまったので、違うキーボードでかきました…。

皆さんはコネクタの補強、ソケット化など、Moge対策はしっかりしましょうね!

f:id:karei_key:20190306233711j:plain

MogeMicroの様子