Arduino UNO Rev.3 の ATmega16U2 (USB-Serial) をイジる

ArduinoワークショップでArduino UNO Rev.3を使い,教材用のUNO Rev.3が残っていたので借用して遊んでみた。
UNO Rev.3 の基板を見ると,usbserialのデバイスがATmega8U2からATmega16U2に変更になっている。JP2という謎の空パッドがある。

arduino.ccからUNO Rev.3の回路図,レイアウト図をダウンロードして見ると…ATmega16U2のI/Oが4本JP2に接続されている…Diecimila/Dumilanove のX3空バッド(FT232RL I/Oが接続されている)と同じニオイがする。

回路図をよく見ると…AVRライタAVRISPmk2-cloneで利用できるI/O信号が引き出されている。
「これは,やってみるしかない」とトライ…見事にATmega16U2をAVRISPmk2-cloneに変身させてAVRライタとして動かすことができた。元のusbserialにも簡単に戻すことができる。

Arduino UNO Rev.3 搭載のusbserial ATmega16U2 をAVRISPmk2-cloneに変身させる具体的な方法は下のURLを見てください。

http://make.kosakalab.com/make/electronic-work/burn_bootloader_uno_jp/

AVRISPmk2-clone については,こちらを。 使用デバイスはAT90USB162だがATmega32U2や16U2でもOK

http://make.kosakalab.com/make/avrisp-mkii-clone/

下の写真のようにICSP線を引出して使います。

こんな方法「Arduino IDEでATtiny他の開発(AVRISP編)」を使えば,

Arduino IDEとArduino UNO Rev.3だけで色々なAVR(tiny13,45,85,44,84 mega64,88,168,328,644,1284)のプログラム開発が可能です。

AVRISPmk2-clone自体はATtiny10(米粒AVR)にも対応しているので,ソースをいじってJP2のピンにTPIの線を割り付ければATtiny10もUNOで読み書きできそう…これはやるしかない。

今,Arduino UNO Rev.3 が面白い。