目次
はじめに
自作キーボードのキットなどで使用するコントローラには、通常ファームウェアが書き込まれていません。なので、ファームウェアの書き込み環境を構築する必要があります。普段使用している環境に構築してもいいのですが、余っていたラズパイ3上に構築した手順をまとめます。
環境
以下の環境で確認しています。
- Raspberry Pi3 Model B v1.2
- Raspbian Buster with desktop (September 2019)
- microSD Card 16GB class 10 (TS16GUSDHC10)
- Pro MicroなどのATmega32u4マイコンを搭載したコントローラ
手順
microSDにRaspbianを書き込んで起動後、ネットワークの接続と最初のアップデートが完了した状態から、以下の手順で構築を行います。
- githubからqmk_firmwareのリポジトリを取得(clone)する
- サブモジュールの取得を行う
- インストール用のスクリプトを実行する
- 書き込みツール(avrdude)をインストールする
詳細
qmk_firmwareのリポジトリを取得(clone)する
$ git clone https://github.com/qmk/qmk_firmware
サブモジュールの取得を行う
これ以降の手順は、カレントディレクトリを、取得したリポジトリのディレクトリに移して行います。
$ cd qmk_firmware
$ make git-submodule
インストール用のスクリプトを実行する
$ util/qmk_install.sh
書き込みツール(avrdude)をインストールする
$ sudo apt-get install avrdude
コントローラを接続して書き込めるか確認する
$ make meishi2:default:avrdude
マイコンへの書き込み確認なので、仮ターゲットとして「meishi2」のキーマップ「default」としています。ファームウェアのビルド後に、書き込み待ち(…が表示される)となるので、その間にコントローラ上のタクトボタンを押すと書き込みが開始されます。
まとめ
Raspbianのパッケージのアップデートなどを合わせて、2時間掛からないくらいで環境構築が行なえます。はじめから必要なコマンドが揃っていて、手順も少なくて一番楽かもしれません。
キーマップの変更などはqmkの公式ドキュメントを参照してください。
環境構築後、固定IP化してSSH serverを有効にすれば、画面無しの書き込み専用機ができるので便利です。固定IP化と、SSH serverの有効化は以下の記事の「Raspberry PiのSSH接続設定」と「Raspberry PiのローカルIP固定設定」が分かりやすいです。
SSHの認証に関しては、個人のローカル環境で一時的に利用するだけなので、パスワード認証で足りるかと思います。