Flashing ESP8266 (ESP-01) via Arduino IDE and USB UART (CH340)

Многие недорогие USB UART адаптеры имеют только выводы питания, земли, Tx и RX. Построены обычно на базе чипа CH340.

Чтобы прошить модуль ESP-01 без всяких заморочек с нажиманием резетов, нужно использовать выходы DTR и RTS (привет COM порт!) с вашего UART адаптера. Так вот даже если на вашем адаптере этих выводов нет, они скорее всего есть на чипе, организующем USB-UART.

Вот распиновка микросхемы CH340.
Посмотрите, что написано на вашей и посчитайте количество ног.

Как видим нам придётся задействовать ноги 13 и 14.

Аккуратно припаиваем тонкий одножильный проводок к ножке, а затем ещё проводок к другой ножке. Выводим их в удобное место и по возможности фиксируем, делаем разъём (штырёк).



У меня по периметру адаптера идёт жирная земляная дорожка, я припаял к ней одной ногой кусок контактной площадки, и к ножкам площадки припаял проводки.


В моём случае RTS уже был распаян, поэтому я вывел только DTR.

Также стоит отметить, что лучше, если ваш адаптер умеет работать на 3.3В

Далее подключаем наш адаптер к ESP-01




Учтите, что питания UART адаптера запросто может не хватить на ESP8266.
Подключите ESP8266 от внешнего источника питания 3.3В (не 5В!)

После подключения на вашем ESP загорится индикатор питания и возможно будет мигать индикатор Tx (синенький). Поведение зависит от установленной прошивки модуля.

В Arduino IDE должна быть поддержка ESP8266
Если ещё нет, то идите в Настройки и добавляйте URL к менеджеру плат.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

.

Затем в менеджере плат в поиске введите esp и устанавливайте набор для ESP8266.

Выбираем плату Generic ESP8266 Module.
Указываем COM портом наш адаптер.
Проверяем, что Flash method: DIO, а Reset method: ck

Всё, пробуем шить. Нажимаем Загрузка (Ctrl-U) на пустом примере.

Если что-то пошло не так:
1. Проверьте правильность подключения;
2. Проверьте ваш адаптер (замкните Tx на Rx и понабирайте текст в терминале, с отключенным эхо вы должны его видеть. С включенным эхо - дважды видеть);
3. Проверьте питание, не проседает ли при запуске модуля или начале прошивки.
4. Прозвоните тестером прям всё что можно, может где-то нет контакта или непропай на адаптере.
5. Попробуйте поставить подтягивающий (к +3.3В) резисотр 10K на DTR и RTS;

В Arduino IDE в комплекте с платами и библиотеками могут идти примеры. В случае с платой ESP8266 есть различные примеры, в том числе и для OTA (прошивка на лету, Over-the-Air). Загружаете этот пример, меняете ssid и password на свои - и в бой.

Проверяете на вашем роутере/DHCP сервере получила ли IP адрес ваша ESP. Попингуйте её легонько, они это любят :)

На самом деле ещё потребуется установить интерпретатор Python (не забыть при установке поставить галочку, что надо добавить путь в $PATH) и перезагрузиться.

После перезагрузки в Arduino IDE в меню Порт должен появиться сетевой порт. не сразу, но должен. Подождите минутку, две.

Потом в основной цикл вашей программы с OTA встраиваете аккуратно свой код и можете вдоволь мигать светодиодом, попивая сок у себя на диване.

Комментарии