Help us understand the problem. What is going on with this article?

ESPr Developer(ESP-WROOM-02開発ボード)で "warning: espcomm_sync failed" と表示される場合の対処

More than 3 years have passed since last update.

「簡単にWiFiに繋がる開発ボード」として気軽に使えるESPr。
https://www.switch-science.com/catalog/2500/

ファームウェアの書き込み時にハマってしまったので、備忘録代わりにメモしておきます。

現象

書き込み時に下記のようなエラーが発生

スクリーンショット 2016-11-05 14.45.23.png

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
  • ArduinoIDE再起動
  • PC再起動
  • ブレッドボード交換
  • USBケーブル交換

などトラブルシューティングを一通り試すも、状況変わらず。

ファームウェア書き込みモード

前述のスイッチサイエンスさんの商品ページに下記説明がありました。

リセットボタンを押すとリセットがかかります。
モード切替ボタンはIO0番ピンにつながっています。
ボタンを押すとIO0がLOW、放すとIO0がHIGHになります。
IO0がHIGHの状態でリセットされるとファームウェアの実行モードで起動しますが、
IO0がLOWの状態でリセットされるとファームウェアの書き込みモードで起動します。

espr.JPG

赤枠がリセットボタン、青枠がIO0ボタンです。

つまり、ArduinoIDEからESPrにプログラムを書き込む際は、
IO0を押下した状態でリセットボタンを押す必要がある。

ということで、書いてある通りにやってみたけど、上手くいかない....なぜ.....

突然の解決

試しに、リセットボタンを押した後もIO0を押し続けたままにしてみたところ、

espr_io0.JPG

上手くいきました。

スクリーンショット 2016-11-05 14.48.08.png

つまり、
IO0とリセットボタンを同時に押した後、ボタンを離してしまうのではなく、
「IO0は押し続けたままで書き込み開始を待つ」必要があったのです。

:innocent::innocent::innocent:

ハードウェアあるある

友人曰く、「ハードウェアあるあるだよね」とのこと。えぇ・・・
だって一回ボタン押したら手離しても大丈夫って思うじゃないですか・・・

電気回路に詳しかったら、「リセット時にボタン押しっぱなしは当然でしょ」の知識があるのかもしれませんが、今回はそこまで思い至りませんでした。
この辺りのTipsはとにかく場数踏んで、肌感で掴んでいくしかなさそうです。もしくはマニュアルを熟読できるようになるとかでしょうか。
強く生きます。

追記(2016.11.10)

コメントでご指摘頂きました、Reset Methodnodemcuにすることで自動的に書き込みできるようになるとのことでした。
参考URL:http://trac.switch-science.com/wiki/esp_dev_arduino_ide
スクリーンショット 2016-11-10 13.33.34.png

iotlt
IoT縛りの勉強会です。 毎月イベントを実施しているので是非遊びに来てください! 登壇者を中心にQiitaでも情報発信していきます。 https://iotlt.connpass.com
https://iotlt.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away