Arduino NANOにブートローダーを書き込む
2019/07/26
Arduino NANO小さくて安いのでほとんどの場合これで事足ります。便利なArduino NANOですが、ブートローダーが書かれていなかったり、ちょっとしたことで正常動作しない場合があります。そんな時はブートローダーを書き込むと復活する場合があります。また既存のものより新たなブートローダーを書き込んだほうがスケッチのサイズの上限を1536バイト増やすことができるとという報告もありました。
Arduino NANOにブートローダーを書き込む
方法は以前書いた記事と同様です。
http://guitarsk.com/pc/123
詳しくはこちらを参照。
https://www.arduino.cc/en/Tutorial/ArduinoISP
まずはArduino unoを書き装置として動作させるためにArduino ISPを書き込みます。
ファイル>スケッチ例>Arduino ISP
スケッチ>マイコンボードに書き込む
これでArduino unoがライターとして動作するようになります。
NANO側はICSP端子を利用して書き込みます。Arduino NANOのICSP端子は以下のようになっています。
ピンヘッダーがあるのが表面か裏面かによって左右が逆になりますので、テスターでGNDを確認してから結線します。
下記のように配線します。(最初の写真を参照)
Arduino uno | Arduino NANOのICSP端子 |
GND | GND |
11 | MOSI |
5Vと抵抗1kを介してにRESET接続 | VCC 5V(unoから供給) |
10 | RESET |
13 | SCLK |
12 | MISO |
今回は抵抗1KΩをつかいましたが、適当で大丈夫です。直結でも行けそうです。
配線が終わったら、Arduino unoを「書込装置」として動作させます。
ツール>書込装置>Arduino as ISP
ブートローダーを Arduino NANOに書き込みます。
ツール>ブートローダーを書き込む
LEDがチカチカして書込みが完了すればOKです。Arduino nanoをPCに直結して簡単なスケッチを書き込んで動作を確認します。
追記:書き込み時に avrdude: stk500_recv(): programmer is not responding のエラーが出る場合には [ツール | プロセッサ] で ATmega328P (Old Bootloader) を選択する
ATmega328P (Old Bootloader) がない場合はボードマネージャを使ってインストールしてください。