ArduinoIDEからスケッチをアップロードしようとすると、以下のようなエラーが出てアップロードできませんでした。
boards.txtを修正して対処したのでその方法をメモしておきます。
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
—-2017年12月24日追記—-
タイトルを変更しました。
旧タイトル「ArduinoIDEのスケッチがアップロードできないエラー」
このエラーは2013年1月に発生したエラーです。
まだArduinoIDEのバージョンが1.Xになる前の話です。
2017年12月現在、同じ(原因による)エラーには遭遇していません。
—-追記ここまで—-
概要
ArduinoIDEからスケッチをアップロードしようとすると、以下のようなエラーが出てアップロードできませんでした。
boards.txtを修正して対処したのでその方法をメモしておきます。
なお、このエラーは様々な原因が起因して発生します。この方法以外で解決する場合も多くあります。
今後このboards.txtの内容が原因で書き込みできない問題が発生した際のためにこのメモを残します。
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
調査
「ちびでぃ~の壱」(Arduinoクローン)で試してみても同じエラーが出ることが確認されたので、少し調べてみました。
すると、”.upload.protocol”の設定がArduino 0023とArudino 1.0.3では異なるということがわかりました。
Arduino 0023のboards.txt
############################################################## atmega8o8.name=[Optiboot] ATmega8 8MHz atmega8o8.upload.protocol=stk500 atmega8o8.upload.maximum_size=7680 atmega8o8.upload.speed=115200 atmega8o8.bootloader.low_fuses=0x94 atmega8o8.bootloader.high_fuses=0xDC atmega8o8.bootloader.path=optiboot atmega8o8.bootloader.file=optiboot_atmega8-8m.hex atmega8o8.bootloader.unlock_bits=0x3F atmega8o8.bootloader.lock_bits=0x0F atmega8o8.build.mcu=atmega8 atmega8o8.build.f_cpu=8000000L atmega8o8.build.core=arduino ##############################################################
Arduino 1.0.3のboards.txt
############################################################## atmega8o8.name=[Optiboot] ATmega8 RC8MHz atmega8o8.upload.protocol=arduino atmega8o8.upload.maximum_size=7680 atmega8o8.upload.speed=115200 atmega8o8.bootloader.low_fuses=0x94 atmega8o8.bootloader.high_fuses=0xDC atmega8o8.bootloader.path=optiboot atmega8o8.bootloader.file=optiboot_atmega8-8m.hex atmega8o8.bootloader.unlock_bits=0x3F atmega8o8.bootloader.lock_bits=0x0F atmega8o8.build.mcu=atmega8 atmega8o8.build.f_cpu=8000000L atmega8o8.build.core=arduino atmega8o8.build.variant=standard ##############################################################
http://tiisai.dip.jp/?page_id=2109
この問題はArduinoのフォーラムでも取り上げられていました。
http://arduino.cc/forum/index.php?topic=89714.0
どうやらバージョンによって使えたり、使えなかったりするようです。
ArduinoのGitHubをのぞいてみると、以下のコミットで”upload.protocol”を”stk500″から”arudino”に変更していました。
boards.txtを使い回ししていたことが原因で今回のエラーが発生したことがわかりました。
https://github.com/arduino/Arduino/commit/bd823bf2013e499877b48ca3c22cef2d86bc88a6
まとめ
2013年1月現在、最新版であるArudinoIDE 1.0.3のboards.txtではstk500をupload.protocolとして指定しません。
“Yikes! Invalid device signature.”とアップロードエラーが出た場合はupload.protocolを確認してみてください。
ArudinoIDE 1.0.3ではupload.protocolに「arduino」を指定します。
更新履歴
2019年6月9日 タグを編集
コメント
コメント一覧 (2件)
[…] 前回はソフトウェア側の問題でアップロードできなかったが、今回はハードウェア側のミスでアップロードできなかったのでメモ。 ArduinoIDEのスケッチがアップロードできないエラー | チラ裏的なにか […]
なのぼ〜どAGのファームウェア書き込みで同じ現象が出ました。
ArduinoIDEのバージョンは1.0.5でした。
こちらの記事のとおり、boards.txtのprotocolをstk500からarduinoにしたところ、無事ArduinoIDEからの書き込みができるようになりました。
ありがとうございました。