自作基板でArduinoを使用する際にArduino Nanoで使われているATMEGA328P-AUのマイコンを使う事がある。
小型でコンパクトに出来、使い易いのだが、面倒なのはブートローダーの書き込みである。ブートローダーの書き込みはスケッチ書き込みと違い最初に一回行う程度なので、そのために回路やピンを配置するのはプリント基板のスペースがもったいない。
ブートローダーが書き込まれたチップも売られているが、差額のお金がもったいない。
ATMEGA328P-AUにArduinoのブートローダーを書き込むための装置がaitendoから発売されている。QFPでいいの [K-QFPDEIINO]と言う製品である。
http://www.aitendo.com/product/15799
商品はキットなので少し半田付けが必要だが、ATMEGA328P-AUを使う時点で半田付けは問題ないだろう。
さて、このキットは単体ではブートローダーを書き込む事が出来ない。書き込むため別途Arduinoが必要だ。また、書き込み状況はシリアル出力なのでPCと接続しシリアルモニターで確認しないと分からない。
そこで、Arduino NanoとOLEDディスプレイをつけて単体でブートローダーを書き込める様にした。
Arduino NanoとQFPでいいの のユニットはICSPピンを使い接続する。NanoとOLEDディスプレイはI2C接続。
QFP | Nano |
5V | 5V |
GND | GND |
MISO | D12 |
MOSI | D11 |
SCK | D13 |
RST | D10 |
Arduino Nanoにブートローダー書き込み用スケッチを書き込む。以降はソケットにATMEGA328P-AUのチップをセットし、Arduino Nanoに電源を挿すだけで書き込みが行われる。
書き込みの様子の動画はこちら。モバイルバッテリーから給電なのでどこでも書き込み作業が出来る。
OLED対応書き込みスケッチは下記から。U8glibライブラリを使用。
★2020/6/19改良版→こちらの記事を参照
オリジナルのスケッチは下記より。
This post is also available in: 英語