はじめに

外付けAVRライタ無しでBootloaderを書き込む“でKimio KosakaさんがArduino DiecimilaをAVRライタにする方法を述べてられてる。

ここでは、Arduino Duemilanoveを利用したAVRライタの製作方法について記述する。

専用ライタケーブルの製作

Breakout FTDI Bitbangライタ製作の同様、専用のライタケーブルを作ることによってAVRライタを実現する。

BitBangライタをサポートしたavrdudeの、avrdude.confでのライタ記述は以下の通り

#arduino duemilanove
programmer
  id    = "Duemilanove_LOW";
  desc  = "FT232R Synchronous BitBang{-P ft0 -B 57600 -i1}";
  type  = ft245r;
  miso  = 3;  # CTS X3(1)
  sck   = 5;  # DSR X3(2)
  mosi  = 6;  # DCD X3(3)
  reset = 7;  # RI  X3(4)
;

#arduino duemilanove
programmer
  id    = "Duemilanove_HIGH";
  desc  = "FT232R Synchronous BitBang{-P ft0 -B 1000000 -i1}";
  type  = ft245r;
  miso  = 3;  # CTS X3(1)
  sck   = 5;  # DSR X3(2)
  mosi  = 6;  # DCD X3(3)
  reset = 7;  # RI  X3(4)
;

ライタケーブルの作成

カラーケーブルを6本用意し信号線の4本に220Ω(写真は200Ω)の抵抗をはんだつけ。

電流制限抵抗をはんだ付け

電流制限抵抗をはんだ付け

熱収縮チューブでシールドする。

熱収縮チューブでシールド

熱収縮チューブでシールド

以下の表に従い結線する。

Arduino Diecimila AVR ISP
CTS X3(1) MISO(1)
VCC ISCP(2) VCC(2)
DSR X3(2) SCK(3)
DCD X3(3) MOSI(4)
RI X3(4) RESET(5)
GND ISCP(6) GND(6)
Duemilanoveライタケーブル結線図

Duemilanoveライタケーブル結線図

完成したライタケーブル

Arduino Duemilanoveライタケーブル

Arduino Duemilanoveライタケーブル


書き込みテスト

ATtiny2313ミニボードで書き込みテストをした。

書き込みテスト

書き込みテスト


書き込みは快調である。

おわりに

最新のArduino UNOをAVRライタにすることは出来ないが、Arduino DuemilanoveならAVRライタになる。ライタとしては簡易版であるが、ライタソフトは完成度が高く入手可能なほとんどのAVRに対応し安定し高速に書き込める。これは立派なライタである。
Arduinoを持っててもAVRライタを持ってない方にはオススメである。