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 8MHzatmega8o8.upload.protocol=stk500atmega8o8.upload.maximum_size=7680atmega8o8.upload.speed=115200atmega8o8.bootloader.low_fuses=0x94atmega8o8.bootloader.high_fuses=0xDCatmega8o8.bootloader.path=optibootatmega8o8.bootloader.file=optiboot_atmega8-8m.hexatmega8o8.bootloader.unlock_bits=0x3Fatmega8o8.bootloader.lock_bits=0x0Fatmega8o8.build.mcu=atmega8atmega8o8.build.f_cpu=8000000Latmega8o8.build.core=arduino##############################################################Arduino 1.0.3のboards.txt
##############################################################atmega8o8.name=[Optiboot] ATmega8 RC8MHz
atmega8o8.upload.protocol=arduinoatmega8o8.upload.maximum_size=7680atmega8o8.upload.speed=115200
atmega8o8.bootloader.low_fuses=0x94atmega8o8.bootloader.high_fuses=0xDCatmega8o8.bootloader.path=optibootatmega8o8.bootloader.file=optiboot_atmega8-8m.hexatmega8o8.bootloader.unlock_bits=0x3Fatmega8o8.bootloader.lock_bits=0x0F
atmega8o8.build.mcu=atmega8atmega8o8.build.f_cpu=8000000Latmega8o8.build.core=arduinoatmega8o8.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を使い回ししていたことが原因で今回のエラーが発生したことがわかりました。
まとめ
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日 タグを編集
関連記事
- (Updated )Arduinoに書き込めない問題を修正する方法[not in sync]Arduinoのリセットピンの接続方法が問題で以下のようなエラーが出て、スケッチをアップロードできませんでした。その対処方法をメモしておきます。
- (Updated )秋月の通過型フォトインタラプタ、CNZ1023(ON1023)を使う秋月電子の通過型フォトインタラプタ、CNZ1023。
- (Updated )ATmega328Pにoptifixを書き込む方法ブートローダを書き込んでいない、生のATmega328Pに「optifix」と呼ばれるoptibootの改良版のブートローダを書き込む方法をメモしておきます。
- 2025年6月以降ROS環境でapt-get updateするときにGPG errorが発生する場合の対処方法2025年5月末にROS/ROS 2の署名鍵が期限切れになったことで発生するGPG errorの原因と、公開鍵を差し替えて解消する手順をまとめたメモ。
- Jetson Orin NanoをUSB接続のSSDから起動するmicroSDカードで動作確認済みのJetson Orin NanoをUSB接続SSDから起動する手順。SDK Managerが不要で、extlinux.confを書き換えるだけで移行できる方法を解説する。