Прошивка ESP32 wroom программатором

AliasNameless
Offline
Зарегистрирован: 22.02.2017

Коллеги, научите шить ESP32 wroom программатором .

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

Пока тренеруюсь шить ESP32 devkitc v4, но ничего не получается. В качестве программатора USB-UART на ch340 (изображение прилагаю). Соединяю RX->TX, TX->RX, GND->GND. ESP32 запитан от батареи, UART от USB компьютера. Соединение на COM порту устанавливается, ESP тестовый текст в терминал отправляет. Далее зажимаю кнопку BOOT (эквивалентно замыканию GPIO0 на землю) и нажимаю кнопку EN (эквивалентно замыканию ноги EN на землю). В терминале появляется приглашение вида 

rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download

Нажимаю загрузить прошивку, но ESP32 не отвечает

Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

Били ли у форумчан удачные попытки прошить ESP32 программатором (готов сменить его на другой)? 

Заранее спасибо!

rkit
Offline
Зарегистрирован: 23.11.2016

Кнопки нужно нажимать, когда идёт процесс

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Что бы не выглядеть странно имеет смысл прочитать даташит на ESP. Там есть все, все все все. И самое главное - ответ на основной вопрос топика.

А случаи удачной прошивки были, уверен. У меня, ваще без счета. 

Кстати, кнопки нажимать во время не обязательно. Вы нормально переводите проц в режим программирования. А вот уровни напряжений на ногах вашего свистка , видимо не нравятся ESP.

AliasNameless
Offline
Зарегистрирован: 22.02.2017

На форум заходят люди которые по каким то причина (религиозным, например. Или незнание языка) не могут прочесть даташит и ищут быстрого и легкого решения в виде использования опыт других :-)

Если речь о напряжение 5/3.3v, то джампер установлен в положении 3.3.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

AliasNameless пишет:

по каким то причина (религиозным, например. Или незнание языка) не могут прочесть даташит

Инвалид?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

AliasNameless пишет:

Если речь о напряжение 5/3.3v, то джампер установлен в положении 3.3.

А вы попробуйте подать питание на свисток с еспшки. Уберите перемычку совсем, а в средний контакт воткните питание от есп.

Ну и причины невозможности чтения даташита, мне тоже интересны.

b707
Offline
Зарегистрирован: 26.05.2017

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

svm
Offline
Зарегистрирован: 06.11.2016

Попробуй уменьшить резистор с GPIO 15. У меня из пяти  ЕSP 12, две программировались при  этом резисторе 6,2 КОм. При 10 была куча ошибок при проверке, правда в большинстве случаев все работало. Питание со свистка очень слаботочное, где-то читал от 20 до 40 мА, в зависимости от микросхемы. Лучше питать от  стабилизатора на 3,3 В. Я обычно программирую так. 1. Снимаю питание с ЕСПшки  2. зажимаю кнопку программирования 3. Включаю питание ЕСП  4. Отпускаю кнопку программирования  5. Заливаю прошивку.  Напряжение программирования со свистка 5 или 3,3 никакой роли не играет.

sadman41
Offline
Зарегистрирован: 19.10.2016

Толерантность ESP32 к 5v под вопросом, так что может и сыграть...

AliasNameless
Offline
Зарегистрирован: 22.02.2017

Перепробовал вчера все варианты подключения. С питанием от платы 5v c питанием от платы 3v3, c питанием от свистка 5v и 3v3. Пробовал без соединения VCC с раздельным питанием. Всегда картина одна и та же. При любом варианте соединения связь через терминал есть (вижу что пишет ESP), но загрузка прошивки не происходит: 

Connecting........_____....._____....._____....._____....._____....._____....._____
 
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

Что интересно: если запитать ESP и свисток от отдельных источников и соединить только линиями данных данных (без VCC и GND), даже в этом случае связь через порт есть.

b707
Offline
Зарегистрирован: 26.05.2017

значит не судьба

svm
Offline
Зарегистрирован: 06.11.2016

AliasNameless пишет:

Что интересно: если запитать ESP и свисток от отдельных источников и соединить только линиями данных данных (без VCC и GND), даже в этом случае связь через порт есть.

Без земли (по одному проводу) связи быть не должно. Значит земля где-то обходными путями пролазит. А связь есть действительно, отвечает-ли ЕСП на АТ команды? Или только сообщение об ошибке шлет? Может быть где-то нет контакта между TXD свистка и  RXD ESPешки?

AliasNameless
Offline
Зарегистрирован: 22.02.2017

Итак, все было проще. Купил другой свисток и все заработало c первого раза. Выбор пал на cp2102 т.к. он используется на esp32-devkitc v4. Правильный вариант соединения  RX->TX, TX->RX, GND->GND. Питаются ESP и свисток от разных источников, VCC не соединял. При заливки нажимаем BOOT затем EN. Отпускаем EN отпускаем BOOT. Заливка пошла, как и писал svm.

Всем кто ответил, спасибо. Даже тем, кто хамил :-) 

Дополнение: если соединить пин DTR свистка с пином EN ESP, то кнопку EN можно не нажимать. Там появляется низкий сигнал перед загрузкой прошивки, что перезагружает ESP

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

А в даташит так и не заглянул.