Memoteki

メモ的な何か。https://tiryoh.com/blog/about-blog をお読みください。

Arduino

ArduinoIDEのスケッチがアップロードできないエラー

2017/07/23

LINEで送る
Pocket

ArduinoIDEでスケッチをアップロードしようとすると、以下のようなエラーが出てアップロードできなかったときのメモ。
ArduinoIDE

avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


ちびでぃ~の壱で試してみても同じエラーが出ることが確認されたので、少し調べてみると、".upload.protocol"の設定がArduino 0023とArudino 1.0.3では異なるようである。


Arduino 0023

##############################################################
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
##############################################################

http://tiisai.dip.jp/?p=1413



Arduino 1.0.3

##############################################################
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"に変更したりしているらしい。

https://github.com/arduino/Arduino/commit/bd823bf2013e499877b48ca3c22cef2d86bc88a6


最新版であるArudino1.0.3のboards.txtにはstk500がupload.protocolとして指定されていないので、"Yikes! Invalid device signature."とアップロードエラーが出た場合はupload.protocolがarduinoとなっているかどうかを確認した方がいい感じ。

LINEで送る
Pocket

-Arduino
-, , , , ,