Нужна помощь Впервые прошиваю ESP-12F. Не получается

kolio

Member
Прошу помощи без холивара и "ты ничего не понимаешь"

Купил ESP-12F, увы не знаю какая там прошивка - в принципе думаю не столь важно.
Я хочу перепрошить её из Arduino IDE 1.8.5
Паял схему вот такую:

При включении питания мигало 1 раз синим светодиодом и всё.
когда прошивал - говорило что-то там на счет synchronization failed
Потом кучу статей по этой ошибке и задумался "а вообще эта схема правильная?!!"
Как видно - на ней даже нет reset кнопки
и потом прочитал на этом сайте статью про прошивку ESP8266

Ну и там есть схема:


Спаял, и теперь при подаче напряжения синий светодиод не моргает
Пытаюсь прошивать так:
1. подаю питание через стабилизатор напряжения 3.3v рассчитанный до 1А - источик 2 батареи li-ion 18650 по 3.7v последовательно (собственно питание хорошее)
2. замыкаю BURN
3. кратковременно замыкаю и размыкаю RESET
4. Размыкаю BURN
5. пытаюсь прошить через Arduino IDE
6. сейчас выдает вот такое:

Archiving built core (caching) in: d:\temp\arduino_cache_888931\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_qio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____497064ef5de90819bb494b2d5b50b3d0.a

Sketch uses 234489 bytes (54%) of program storage space. Maximum is 434160 bytes.
Global variables use 32312 bytes (39%) of dynamic memory, leaving 49608 bytes for local variables. Maximum is 81920 bytes.

C:\Users\Niko\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.9/esptool.exe -vv -cd ck -cb 115200 -cp COM4 -ca 0x00000 -cf d:\temp\arduino_build_941233/wifi.ino.bin

esptool v0.4.9 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
setting board to ck
setting baudrate from 115200 to 115200
setting port from COM1 to COM4
setting address from 0x00000000 to 0x00000000
espcomm_upload_file
espcomm_upload_mem
setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 228 bytes of data
read 0, requested 1
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 36 bytes of data
read 0, requested 1
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 36 bytes of data
read 0, requested 1
resetting board
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 56612 bytes of data
read 0, requested 1
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 36 bytes of data
read 0, requested 1
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 36 bytes of data
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
resetting board
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 56576 bytes of data
read 0, requested 1
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 56612 bytes of data
read 0, requested 1
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 36 bytes of data
read 0, requested 1
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Только что еще раз запустил и выдало вот такое:
всё то же, что и в предыдущем варианте, но в конце такое:
.....
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Хочу обратить внимание, что при замыкании RESET светодиод не мигает. Хотя я не знаю - должен ли?

Для прошивки юзаю TTL USB-TO-COM Profilic PL2303, который работает с 3.3V - проверял на втором Arduino - работает, данные туда, сюда принимает и передает.

Когда была первая схема, модуль хоть признаки жизни подавал, а на этой один раз синим светодиодом, что-то еле еле поморгал секунд 5 и всё.
Напряжение между VCC и GND на ESP 3.3V

Настройки Arduino IDE:


Какая-то грусть и печаль и спросить не у кого, что дальше делать. По этому я тут и оказался.
Прошу помощи знатоков
 

kolio

Member
хотел добавить: я не паял резистор 470 Ом обозначенный как deep sleep
 

gerkimuyda

New member
Начните не с прошивки, а с проверки правильности подключения к компу. Запустите терминал на нужный COM-порт с модулем и подключитесь на скорости 74880, потом запустите (или через reset) модуль. Если все ок - выдаст служебную информацию (пару строк). Если служебной информации нет - значит у вас именно физическая проблема подключения к компу. :cool: Если инфу видно - можно мучать ардурню. :D
Копайте в сторону правильности подключения. Когда будет служебка - тогда можно смотреть на режим bootmode (прошивка или работа) и пробовать шить. А пока разберитесь с этим. o_O
 

AndrF

New member
Чисто как рекомендация - новичкам проще начинать с модулей Nodemcu. Хотя бы из-за того что на них собрано все необходимое и не надо каждый раз при прошивке жать кнопки...
 

kolio

Member
подключил через Arduino UNO, чтобы снимать логи через его COM-порт
пробовал на 9600, 74880 - увы при подаче питания на ESP12f ничего выдает
думаю есть смысл еще раз проверить схему на предмет ошибок

и он не мигает светодиодом как при первой схеме - может он бедолага и не запускается?

Еще читал, что некоторые через 10КОм GPIO2 садят на VCC 3.3v
 

CodeNameHawk

Moderator
Команда форума
Еще читал, что некоторые через 10КОм GPIO2 садят на VCC 3.3v
Вы писали
и там есть схема:
Спаял, и теперь
и теперь оказывается, что вы спаяли как то по другому, без резисторов.
 

nikolz

Well-known member
Прошу помощи без холивара и "ты ничего не понимаешь"

Купил ESP-12F, увы не знаю какая там прошивка - в принципе думаю не столь важно.
Я хочу перепрошить её из Arduino IDE 1.8.5
Паял схему вот такую:

Прошу помощи знатоков
Когда я работаю с ESP-12 то схема почти такая же, но ресет надо твключить к питанию через резистор 4.7...20 к. и добавить кнопку от ресет на землю для сброса.
еще ставлю резистор между RESET и GPIO16 для deep-sleep.
а СН_PD можно соединить с Vcc напрямую
--------------------------
Теперь про программирование.
Для работы с любыми ESP (кроме nodemcu - в ней уже есть USR-USB) берем любой urt-usb
и для автоматического перехода в режим программирования добавляем простую схему на двух транзисторах из схемы nodemcu.
upload_2017-12-3_12-18-14.png
upload_2017-12-3_20-2-19.png
Для программирования берете NODEMCU FIRMWARE PROGRAMMER или ESPflasher
это проще чем дурина.
Потом будете из дурины писать, когда отладите программирование.
 
Последнее редактирование:

kolio

Member
Что Вы мучаетесь?
сделайте, как очень подробно расписано в
https://esp8266.ru/arduino-ide-esp8266/
а дальше уже будет понятнее
у меня схема программатора на готовой схеме. Но видимо придется паять отдельный программатор
хотя я уже подумывал купить Witty для программирования, но программатор не продается отдельно от ESP

Еще одна особенность, что из моего PL2303 разведены DTR и RTS, но без маркировки - могу вызвонить и подпаяться
ну и видимо придётся убрать из готовой платы схему программирования - всё равно у меня всё съемное, не проблема снять ESP и переставить в отдельный программатор

всем спасибо за ссылки и помощь. Попробую разобраться с глюками и отпишусь
 

kolio

Member
Этот резистор( 10КОм GPIO2 на VCC 3.3v) используется в этой схеме, как без него схема будет работать?
это полный фак :) я про него забыл. Щас припаяю. Позорище :)
//увы не помогло. Проверю на ошибки пайки - если не найду, буду паять программатор чисто под ESP
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
kolio, если бы были из Москвы, то usb-serial Witty мог подарить.
А так, могу передать с оказией, если будет.
 
Последнее редактирование:

kolio

Member
Опытным путём выяснил, что если на фото ниже, вместо резистора RESET-10K-3.3v поставить перемычку - как это было в самой первой моей схеме - то при подаче питания голубой светодиод на ESP мигает 2 раза. Но в этом случае я не могу использовать RESET - так как будет короткое
 

Сергей_Ф

Moderator
Команда форума
@kolio, может в резисторе обрыв? Проверьте напряжение на входе reset у esp с без перемычки. Должно быть 3.1-3.3 В.
 

nikolz

Well-known member
@kolio, может в резисторе обрыв? Проверьте напряжение на входе reset у esp с без перемычки. Должно быть 3.1-3.3 В.
Нельзя ресет соединять с питанием.
я не внимательно посмотрел на вашу схему.
Надо соединить через резисторы:
1) Reset->Vcc резистор от 4.7 до 20к.
2)GPIO16->Reset здесь можно использовать диод шотки или резистор 1-4.7 k
3) GPIO15->GND резистор от 4.7 до 20к.
4) СH_PD прямо соединить с Vcc или можно через резистор
------------------
И соберите схему на двух любых транзисторах npn, чтобы не заморачиваться включением режима программирования.
-------------------
еще поставьте кнопку от reset На землю для сброса .
Бывает необходимо сбросить при зависании или после программирования.
 
Последнее редактирование:

kolio

Member
Нельзя ресет соединять с питанием.
я не внимательно посмотрел на вашу схему.
Надо соединить через резисторы:
1) Reset->Vcc резистор от 4.7 до 20к.
2)GPIO16->Reset здесь можно использовать диод шотки или резистор 1-4.7 k
3) GPIO15->GND резистор от 4.7 до 20к.
4) СH_PD прямо соединить с Vcc или можно через резистор
------------------
И соберите схему на двух любых транзисторах npn, чтобы не заморачиваться включением режима программирования.
-------------------
еще поставьте кнопку от reset На землю для сброса .
Бывает необходимо сбросить при зависании или после программирования.
Кнокпа Reset реализована
по поводу GPIO16 у меня вопрос: я читал, что это для deep sleep, но мне deep sleep не нужен. Или всё равно нужен резистор?
Схему на ошибки проверил - всё нормально
Еще проверил нет ли разрыва резюка 10К на Reset - проверил всё нормально

Щас впаяю 470 Ом - если не поможет - буду наверное TTL вызванивать на макетке DTR и RTS и собирать всё это добро на макетке
 

Сергей_Ф

Moderator
Команда форума
@kolio, 470 ом не нужен, если не нужен режим сна. Ищите ошибку в схеме.
@nikolz, я разве предлагал подать питание на reset?
 

kolio

Member
да резистор не помог
Как сказал Сергей - я уперся в не рабочую схему. Увы кроме как сложить на макетке схему и пытаться её делать пока не получится - других вариантов не вижу
печально. Но надеюсь на положительный результат
 
Сверху Снизу