ArduinoISPでブートローダーを復活する


Arduinoを使っていると、何かの拍子にスケッチ書き込み時に、このようなエラーになることがあります。

avrdude: stk500_getsync(): not in sync: resp 0x00
avrdude: stk500_disable(): protocol error, expect 0x14, resp 0x51

こ ちらのページで解決方法が紹介されていますが、日本語のページがなかったので紹介します。
ブートローダーの復活には母艦としてUNOを使用します。
例えばProMiniのブートローダーを復活する場合の結線は以下のようになりますが、ほかのボードでも同じです。

Uno---------------------ProMini
5V----------------------VCC
GND---------------------GND
Digital Pin 11(MOSI)----MOSI
Digital Pin 12(MISO)----MISO
Digital Pin 13(SCK)-----SCK
Digital Pin 10----------RST

まず、「ツール」→「ボード」で母艦(今回はUNO)を指定します。

1.「ファイル」→「スケッチ例」→「11.ArduinoIPS」→「ArduinoISP」
2.「スケッチ」→「マイコンボードに書き込む」

ここで、「ツール」→「ボード」でブートローダー復活のボード(今回はProMini)に変更します。

3.「ツール」→「書き込み装置」でArduino as ISP
4.「ツール」→「ブートローダを書き込む」

これで工場出荷時のブートローダーが復活します。

余談ですがProMini(など)のピン情報はこ ちらを重宝しています。
非常にきれいにできています。