文鎮化したpro microをArduino Unoを使って直す
- はじめに
- 用意するもの
- Arduino Unoをavrライター化
- Arduino UnoとPro microをつなぐ
- avrdudeコマンドを使ってブートローダを書き込む
- Qmk Toolboxで通常通りファームウェアを書き込む
- おわりに
はじめに
少し前にCorne cherryという分離型の自作キーボードのPro microを文鎮化させてしまい、せっかくなので手元にあったArduino Unoを使って直してみたのでメモ代わりに置いておきます。
正常なPro microがあればわざわざArduino Unoなんて使わなくても直せるみたいです。
用意するもの
文鎮化したPro micro
Arduino Uno
ブレッドボード
ジャンパーピン
Qmk Toolbox
Arduino Unoをavrライター化
Arduino Unoを文鎮化したPro microに書き込めるようにavrライター化させます。
Arduino IDEを公式ページからダウンロードしてきます。Arduino UnoをつないでからIDEの
メニューのファイルからスケッチ例→11. ArduinolSPを開きArduino Unoにそのまま書き込みます。この時、書き込んだUnoのシリアルポートを覚えておきます。(自分の環境ではCOM10)
Arduino UnoとPro microをつなぐ
配線は以下の通りです
Uno | Pro micro |
---|---|
5V | VCC |
D12 | 14(PB1[SCK]) |
D13 | 15(PB3[MISO]) |
D11 | 16(PB2[MOSI]) |
GND | GND |
こんな感じ
avrdudeコマンドを使ってブートローダを書き込む
avrdudeコマンドはQmk Toolboxに入っているのでそれを使います。
コマンドプロンプトからQmk Toolboxのデータファイルに飛びます
cd "AppData\Local\QMK\QMK Toolbox\QMK Toolboxのバージョン\"
私の時のバージョンは0.0.20でした。 次のコマンドで書き込みます。
avrdude.exe -p atmega32u4 -c stk500v1 -b 19200 -U flash:w:"Caterina-Micro.hexファイル":i -P さっき調べたシリアルポート -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lock:w:0x3F:m
私の場合はCOM10です。また、Caterina-Micro.hexファイルはパスなのでダブルコーテーションつけとくといいと思います。
すぐに書き込みが始まるはずですがエラーもでず、ずっと止まってたら一度Unoの電源(USB抜き差し)しておくと治ります。
Qmk Toolboxで通常通りファームウェアを書き込む
通常通りGNDとRSTをショートさせればファームウェアが書き込めるはずです。
おわりに
試行錯誤しながら変なブートローダー書き込んだりしていたらPro microの電源回りが壊れたのかUSB電源が供給されないという微妙に壊れたままです。
USBの通信そのものはできるらしいので書き込むときは5Vのピンヘッダから電源を供給しつつUSBをつないで書き込むというかなりめんどくさいことになってます。