Использование Arduino в качестве программатора FTDI для программирования ESP8266 (ESP-12)

Я следил за этим инструкциям, чтобы настроить мой Arduino Uno как программатор FTDI, потому что я хочу использовать его для программирования своего нового ESP8266. Я использую двунаправленный преобразователь логических уровней 5V ‹-› 3.3V между моей Arduino и ESP-12. VCC поступает от внешнего источника питания. В настоящее время у меня есть следующие связи:

ESP-12 | Логика со смещением уровня от Arduino и источника питания 3,3 В

  • Vcc ‹-› 3,3 В
  • GND ‹-› GND
  • CH_PD <-> 3.3V
  • GPIO2 ‹-› 3,3 В
  • GPIO15 ‹-› GND
  • GPIO0 ‹-› 3,3 В
  • RX ‹-› TX (сдвинут уровень 3,3 В)
  • TX ‹-› TX (сдвинут уровень 3,3 В)

Каждый раз, когда я пытаюсь загрузить код (например, пример Blink) на ESP-12, используя новейшую среду разработки Arduino (1.6.5), я получаю следующую ошибку:

предупреждение: espcomm_sync не удалось

ошибка: espcomm_open не удалось

Когда я нажимаю кнопку сброса на ESP-12, я получаю входящие последовательные данные, которые почти не читаются при скорости передачи 115200 бод:   Какая-то тарабарщина идет от ESP по серийному номеру

Кому-нибудь удалось успешно запрограммировать ESP-12 с помощью Arduino Uno или случайно узнать, возможно ли это вообще?


person multivac61    schedule 21.07.2015    source источник


Ответы (3)


Итак, решение, которое я придумал, не идеально. Есть швы, что это какая-то ошибка с преобразователем логического уровня 5V ‹-> 3.3V. Мое решение заключалось в том, чтобы подключить контакты TX / RX на Arduino напрямую к контактам RX / TX на ESP-12. Контакты RX / TX на ESP-12 официально не поддерживают логику 5 В, но в моем случае они, похоже, поддерживают. Используйте логику 5 В НА СВОЙ СОБСТВЕННЫЙ РИСК.

Настройку, которую я сейчас использую с Arduino IDE 1.6.5, можно увидеть на схеме ниже (хотя она адаптирована для ESP-12, а не для ESP-1, как на схеме). Чтобы позволить программировать ESP-12, вы должны сначала нажать SW1 и, удерживая ее нажатой, нажать SW2. После этого вы сможете запрограммировать чип из новейшей IDE Arduino. Рабочая установка

person multivac61    schedule 22.07.2015
comment
Я думаю, что он должен работать и с ESP-01, если вы используете правильные контакты. Имейте в виду, что вопрос о способности ESP обрабатывать сигналы 5 В так же горячо обсуждается, как и существование Herobrine :) - person bluemind; 14.11.2016

Если вы используете микросхему FTDI на плате Arduino, то из-за их причудливой маркировки контактов вам действительно придется подключать TX-TX и RX-RX.

Это можно сделать с установленным чипом ATMega - никакого вреда, но позаботьтесь, что ваша плата Arduino использует 3v3 на последовательном TX. Контакты / RX - на некоторых платах может использоваться напряжение 5 В, которое сожжет ваш ESP8266! Мой древний Duemilanove работает нормально, но YMMV.

person paulw1128    schedule 12.11.2016

Вы не можете запрограммировать 2 фишки одновременно. Чтобы использовать вашу плату Arduino в качестве программатора FTDI, у вас есть 2 способа

  1. Удалите чип Arduino
  2. Подключите контакт сброса Arduino к GND.

Попробуй запрограммировать после этих доработок.

person Meet Desai    schedule 27.07.2015
comment
Использование микросхемы FTDI на плате Arduino отлично работает без риска для программирования ATMega на плате Arduino. Самый большой риск, связанный с этим методом, заключается в том, что некоторые платы Arduino используют 5V на этих выводах. - person paulw1128; 12.11.2016
comment
Вы неправильно понимаете вопрос, OP не пытается программировать две платы одновременно. - person Layne Bernardo; 31.12.2020