レオナルド互換基板[Da Vinci]にArduino-ISPでUNOでブートローダを書き込む。

 ほぼ同じテキストが、サイトの方にもあります。


 先日、日本橋共立で1200円程度で発見。
 HIDでのキーボード関係を触りたかったので、思わず購入してしまいました。


 が。


 ブートローダArduinoじゃなくて、FLIPというやつでした。
 まぁ、どっちも同じ値段なんですけどね。でも見た感じFLIPとやらの方しかなかった。


 ブートローダ書き込んじゃえばいいや、と思って共立ライタ繋いでも、芳しくない。


 なんと、共立ライタがATmega32U4に対応していない!!


 これは困った。どうやって書き込もう。
 FTDIモジュールは、あくまでシリアルとして使いたい。
 それに成功例ばっかだし。


 と言う事で、敢えてArduino ISPを使ってみました。



・使った物

 Arduino UNO(R2)
 110Ωの抵抗。
 Da Vinci



・手順

 1.Arduino UNOが素の状態の時に、先にexamplesのArduinoISPを書き込んでおいてください。

 2.StrawberryLinuxのページから、da-vinci-32u.zipをダウンロードしてきます。
  ブートローダのhexとか、ドライバとか、boards.txtが入ってます。

 3.Arduino IDEのboards.txtに、ボード定義を足す。
  StrawberryLinuxのページに修正済みboards.txtがあるので、それを使ってもいいです。

 4.ダウンロードしてきたda-vinci-32u.zip内の、「da-vinci-32u-master.hex」を、
 「davinci.hex」とリネームして
 「arduino-1.0.1\hardware\arduino\bootloaders\caterina」に放り込みます。
 なぜboards.txtの方と名前が違うのかはよく分からないです。

 5.つなぎます。
 Arduino UNOと、Da VinciのISPコネクタは、

 Da Vinciを上から見たときのピン配置が

  -------
 |1|2|
  -------
 |3|4|
  -------
 |5|6|
  -------

 なんで、それぞれをArduinoにこの場所に繋いで下さい。

  -------
 |12|5V|
  -------
 |13|11|
  -------
 |10|GN|
  -------

 って感じに。

1:MISO
2:VCC
3:SCLK
4:MOSI
5:RESET
6:GND

 って事です。

 6.Arduinoの5Vと、RESETを110Ω〜160Ωで直結。
  これをしておかないと、ターゲットをリセットするときにUNOまでリセットがかかってしまいます。
  僕は手持ちが無かったので、330Ωを並列に二つ繋ぎました。

 7.Arduino IDEのTargetを[ツール]-[マイコンボード]から「Da Vinci 32U」に設定。

 8.同じく、[ツール]-[書込装置]から、Arduino as ISP

 9.[ツール]-[ブートローダを書き込む]で、ブートローダを書き込みます。

10.表示が「ブートローダの書き込みが完了しました」になれば完了。
  あとは、Da Vinci 32U with Arduino Bootloaderとして使えます。

  Da VinciとArduino UNOの結線を外して、Da VinciにBlinkを転送し、正常に転送が出来る事、光る事を確認してOKです。