Несмотря на то, что ESP32 на сегодняшний день является одним из лучших чипов с беспроводной связью и большими вычислительными возможностями, с ним все-таки имеются определенные проблемы. Некоторые платы ESP32 не переходят в режим перепрошивки / загрузки автоматически при загрузке нового кода.

Это означает, что когда вы пытаетесь загрузить новый скетч в ESP32, Arduino IDE не может подключиться к вашей плате, и вы получаете следующее сообщение об ошибке:

Одним из способов решения этой проблемы является нажатие кнопки «BOOT» на вашей плате ESP32 при одновременной загрузке нового скетча. Но необходимость беспокоиться об этом каждый раз, когда вы хотите загрузить новый код, может быть утомительной, особенно когда вы тестируете и отлаживаете свою программу. Есть способ исправить это раз и навсегда – при этом не нужно будет больше удерживать кнопку «BOOT».
Итак, чтобы ваша плата ESP32 автоматически перешла в режим прошивки / загрузки, вы можете подключить электролитический конденсатор 10 мкФ между контактом EN и заземлением (GND).
Вы можете сначала протестировать эту схему на макетной плате, чтобы убедиться, что она работает для вашей платы ESP32. Только имейте ввиду, что электролитические конденсаторы имеют полярность. Белая / серая полоса указывает на отрицательный вывод.

Если это работает, то вы можете припаять электролитический конденсатор 10 мкФ к плате. Поскольку выводы EN и GND платы находятся далеко друг от друга, вы можете просто подключить конденсатор между EN и GND микросхемы ESP32, как показано на принципиальной схеме ниже.

На следующем изображении показано, как может выглядеть плата ESP32 после пайки конденсатора. Это не занимает много места, и, к счастью, у вас не возникнет больше проблем с подключением к ESP32 при загрузке нового кода.

Прежде чем пытаться загрузить новый код, вы должны проверить соединения с помощью мультиметра в режиме проверки разрыва цепи – убедитесь, что вы случайно не припаяли ничего к следующему выводу.

Если все запаяно правильно, вам не нужно будет нажимать кнопку BOOT при загрузке нового кода. Вы также не получите сообщение об ошибке типа Failed to connect to ESP32: Timed out waiting for packet header (Не удалось подключиться к ESP32: истекло время ожидания заголовка пакета).

© digitrode.ru