Перейти к содержанию

ESP-01 и ESP-01S — Wi-Fi-модули Ai-Thinker на ESP8266EX

ESP-01 — модуль Ai-Thinker размером 14,4 × 24,7 мм на чипе Espressif ESP8266EX: Wi-Fi 802.11 b/g/n, флеш-память 8 Мбит, антенна на плате и восемь выводов на штыревом разъёме 2 × 4. Разбираем по спецификациям Ai-Thinker и документам Espressif, что выведено на каждый контакт, какое нужно питание, как модуль выбирает режим загрузки, как подключить его к USB-UART-адаптеру или плате Arduino и прошить, а заодно — чем от него отличается ESP-01S.

Обновлено Редакция GAW

ESP-01 — модуль Wi-Fi от шэньчжэньской компании Ai-Thinker. По её документации модули серии ESP8266 построены на чипе Espressif ESP8266EX, и ESP-01 входит в эту серию: на плате 14,4 × 24,7 мм — сам чип, SPI-флеш на 8 Мбит и антенна в виде дорожки, а наружу выведены только питание, UART, вход включения, сброс и два GPIO. Отсюда и его типичная роль — Wi-Fi-приставка к другому микроконтроллеру, которая принимает AT-команды по UART, хотя в модуль можно записать и собственную программу.

Сам ESP8266EX Espressif в версии 7.1 даташита (ноябрь 2025) перевела в статус NRND — «не рекомендуется для новых разработок» — и называет ему на замену ESP8684. Чем ESP8266 отличается от ESP32, как устроены его GPIO, АЦП и сон, рассказано в статье «ESP8266», модуль на ESP8684 — на странице ESP8684-MINI-1. Здесь — сам модуль ESP-01.

Коротко

  • Чип — ESP8266EX, Wi-Fi 802.11 b/g/n в диапазоне 2412–2484 МГц; флеш-память по умолчанию — 8 Мбит, то есть 1 МБ.
  • Питание — 3,0–3,6 В; источник — на ток больше 300 мА для ESP-01 и не меньше 500 мА для ESP-01S.
  • Ток — при непрерывной передаче около 71 мА в среднем и до 300 мА в пике (ESP-01, типовые значения); Deep-sleep — около 20 мкА.
  • Выводы — 8 штырей 2 × 4 с шагом 2,54 мм: питание, земля, UART, EN, RST и два GPIO — GPIO0 и GPIO2.
  • UART — 115 200 бит/с по умолчанию; загрузчик чипа печатает журнал на 74 880 бит/с при кварце 26 МГц.
  • Размер — 14,4 × 24,7 мм, масса 0,65 г; антенна на плате с усилением 2 dBi.

Распиновка ESP-01

ESP-01, вид сверху: выводы 1–4 во внутреннем ряду, 5–8 у края платыПлата 14,4 на 24,7 мм, зона антенны 6,7 мм. Разъём 2 на 4 с шагом 2,54 мм. Выводы: 1 — GND, 2 — IO2, 3 — IO0, 4 — RXD, 5 — TXD, 6 — EN, 7 — RST, 8 — VCC.14,4 мм24,7 ммантенна 6,7 ммESP8266EXи SPI-флешGND1IO22IO03RXD4TXD5EN6RST7VCC8шаг 2,54 мм
ESP-01 и ESP-01S, вид сверху со стороны компонентов — по чертежам в спецификациях Ai-Thinker. Выводы режима загрузки IO0 и IO2 выделены цветом

Нумерация у модуля не такая, как у микросхем в корпусе DIP или у разъёмов IDC. Выводы 1–4 идут слева направо во внутреннем ряду, ближе к середине платы, а 5–8 — тоже слева направо в ряду у края: под выводом 1 стоит вывод 5. Вывод 1 на чертеже Ai-Thinker отмечен точкой, а квадратная площадка нарисована у вывода 4 (RXD), так что по форме площадки первый вывод искать нельзя. На шелкографии ESP-01S, которую спецификация показывает со стороны штырей, подписи короче — 3V3, RX, TX, — а порядок выводов в рядах зеркальный по отношению к чертежу.

ВыводПодписьСигнал ESP8266EXНазначение
1GND—земля
2IO2GPIO2, U1TXDGPIO; при сбросе должен быть в единице, в режиме прошивки загрузчик выдаёт на него UART TX
3IO0GPIO0GPIO; при сбросе выбирает режим: ноль — прошивка, единица или свободный вывод — запуск программы
4RXDU0RXD, GPIO3приём UART0: прошивка и обмен данными
5TXDU0TXD, GPIO1передача UART0; при включении его нельзя тянуть к нулю снаружи
6ENCHIP_ENвключение чипа: единица — работа, ноль — выключен
7RSTEXT_RSTBсброс нулевым уровнем
8VCC—питание 3,3 В

В спецификациях у модуля два порта ввода-вывода — на разъёме это IO0 и IO2. Выводы RXD и TXD по таблице выводов ESP-01S тоже работают как GPIO3 и GPIO1, но тогда UART для связи и прошивки недоступен.

Чего на разъёме нет:

  • GPIO15 — третьего вывода, который участвует в выборе режима загрузки. На схеме ESP-01S он подключён к земле через резистор.
  • GPIO16 (XPD_DCDC, вывод 8 чипа). Чтобы чип сам проснулся из Deep-sleep по таймеру, даташит ESP8266EX требует соединить его с выводом сброса EXT_RSTB (вывод 32), а описание NONOS AT к команде AT+GSLP уточняет — перемычкой 0 Ом. На разъём GPIO16 не выведен, на схеме ESP-01S такой перемычки нет, а схема ESP-01 не опубликована. Без доработки платы — перемычки между этими выводами чипа — пробуждение по таймеру не работает: вывести модуль из глубокого сна можно сбросом по RST, сигналом на EN или повторной подачей питания.
  • TOUT — вход 10-разрядного АЦП. Хотя АЦП в списке возможностей ESP-01S указан, на разъём этот вход не выведен.
  • Остальные GPIO чипа и выводы управления потоком UART0 (MTCK и MTDO).

Схемы ESP-01 в его спецификации нет, поэтому как на нём разведены GPIO15, подтяжки и прочие цепи, по документам Ai-Thinker не проверить. Чертёж и назначение выводов у ESP-01 и ESP-01S совпадают.

Параметры ESP-01 и ESP-01S

Значения — из таблиц Product Specifications спецификации ESP-01 V1.2 и Main Parameters, Electrical Characteristics и Power Consumption спецификации ESP-01S V1.1.

ПараметрESP-01ESP-01S
ЧипESP8266EXESP8266EX
Флеш-память по умолчанию8 Мбит8 Мбит
КорпусDIP-8, штыри 2 × 4 с шагом 2,54 ммDIP-8
Размер24,7 × 14,4 × 11,0 мм24,6 × 14,4 × 11,2 мм, 11,2 мм — высота штырей; на чертеже — 24,7 мм
Напряжение питания3,0–3,6 В3,0–3,6 В, типично 3,3 В
Ток источникабольше 300 мАбольше 500 мА
Ток при передачеоколо 71 мА в среднем, 300 мА в пике; условия не указаны170 мА в 802.11b при +17 дБм, 140 мА в 802.11g, 120 мА в 802.11n — при 3,3 В, 25 °C и заполнении 90 %
Ток при приёме—50–56 мА при 3,3 В и 25 °C
Modem-sleep, Light-sleep, Deep-sleepоколо 20 мА, 2 мА, 20 мкА20 мА, 2 мА, 20 мкА; выключен — 0,5 мкА
Диапазон частот2412–2484 МГц2400–2483,5 МГц
Мощность передатчика16 ± 2 дБм (802.11b), 14 ± 2 дБм (g), 13 ± 2 дБм (n)те же
Чувствительность приёмникаот −90 дБм (1 Мбит/с) до −67 дБм (MCS7)те же, «не хуже»
Антеннана плате, 2 dBiна плате
Скорость UART300–4 608 000 бит/с, по умолчанию 115 200110–4 608 000 бит/с, по умолчанию 115 200
Свободные GPIO22
Рабочая температура−20…85 °C−20…70 °C
Хранение−40…90 °C, относительная влажность меньше 90 %−40…125 °C, относительная влажность меньше 90 %
Масса0,65 г—
Схема модуля в спецификациинетесть, разд. 5

Токи ESP-01 Ai-Thinker даёт как типовые и округлённые, без условий измерения. Значения ESP-01S при передаче и приёме совпадают по числам с таблицей 5-3 даташита ESP8266EX, но условия у документов разные: Espressif мерила при питании 3,0 В и 25 °C, передачу — с заполнением 50 %, а Ai-Thinker — при 3,3 В и 25 °C, передачу — с заполнением 90 %. Ток Deep-sleep 20 мкА, как уточняет спецификация ESP-01S, измерен при питании 2,5 В.

ESP-01 и ESP-01S: что различается

В документации на docs.ai-thinker.com отдельного сравнения ESP-01 и ESP-01S нет, поэтому различия ниже — только то, что следует из двух спецификаций:

  • Ток источника. Для ESP-01 — больше 300 мА, для ESP-01S — больше 500 мА; в рекомендациях по питанию ESP-01S те же 500 мА названы минимальным пиковым током.
  • Температура. Рабочая — −20…85 °C у ESP-01 и −20…70 °C у ESP-01S, хранения — −40…90 °C и −40…125 °C.
  • Диапазон частот. В таблице ESP-01 — 2412–2484 МГц, ESP-01S — 2400–2483,5 МГц.
  • Размеры по таблице. 24,7 × 14,4 × 11,0 мм у ESP-01 и 24,6 × 14,4 × 11,2 мм у ESP-01S, где 11,2 мм — высота штырей; на чертеже ESP-01S длина та же, 24,7 мм.
  • Нижняя граница скорости UART. 300 бит/с у ESP-01 и 110 бит/с у ESP-01S; верхняя у обоих — 4 608 000 бит/с.
  • Схема. Только у ESP-01S опубликована схема модуля. По ней RST подтянут к 3,3 В резистором и зашунтирован конденсатором на землю, EN и IO0 тоже подтянуты к 3,3 В, GPIO15 через резистор соединён с землёй, а между 3,3 В и IO2 включён синий светодиод с резистором — он светится, когда на GPIO2 ноль. Кварц на схеме — 26 МГц. Номиналы резисторов на схеме не указаны.

Выводы, их нумерация и назначение, чертёж и флеш-память 8 Мбит в двух спецификациях одинаковы.

Питание

Обе спецификации требуют 3,0–3,6 В. Сам ESP8266EX по даташиту работает от 2,5 В, но для модуля действуют границы Ai-Thinker. Подавать 5 В нельзя ни на VCC, ни на сигнальные выводы.

Главное в питании ESP-01 — не среднее потребление, а пики. При непрерывной передаче модуль берёт около 71 мА в среднем и до 300 мА в пике, поэтому Ai-Thinker требует источник на ток больше 300 мА для ESP-01 и от 500 мА для ESP-01S. Если источник не держит пики, напряжение на модуле во время передачи может просесть ниже нижней границы 3,0 В. Отсюда рекомендации раздела 6 спецификации ESP-01S:

  • питание 3,3 В от линейного стабилизатора (LDO); при импульсном стабилизаторе (DC-DC) пульсации на выходе — не больше 30 мВ, и на плате оставляют место под дополнительный конденсатор на случай резких скачков нагрузки;
  • у вывода VCC — конденсаторы 10 мкФ и 0,1 мкФ на землю, как в типовой схеме Ai-Thinker;
  • выход 3,3 В USB-UART-адаптера или отладочной платы годится, только если по его документации он отдаёт нужный ток; иначе модуль питают от отдельного стабилизатора с общей землёй.

Как выбрать линейный стабилизатор и оценить его нагрев, разобрано в статье о LDO-стабилизаторах.

Режимы загрузки: GPIO0, GPIO2 и GPIO15

При включении и после сброса ESP8266EX смотрит на уровни трёх выводов — GPIO0, GPIO2 и GPIO15 (MTDO) — и по ним решает, запускать программу из флеш или ждать новую прошивку по UART. Таблица режимов из спецификации ESP-01S:

РежимENRSTGPIO15GPIO0GPIO2TXD0
Прошивка по UART110011
Запуск программы из флеш110111

Режимы различаются только уровнем GPIO0. Остальные условия одинаковы и обязательны:

  • GPIO15 — ноль. На ESP-01S его держит резистор на землю на самой плате, на разъём он не выведен.
  • GPIO2 — единица или свободен. По документации esptool в режиме прошивки загрузчик выдаёт на GPIO2 сигнал UART TX, поэтому прямо на питание его не подключают, а подтягивают резистором или оставляют свободным.
  • TXD0 — единица. Даташит запрещает тянуть U0TXD к нулю при включении.
  • EN и RST — единица. На ESP-01S оба подтянуты к 3,3 В на плате.

Практическое следствие: всё, что подключено к IO0 и IO2, не должно тянуть их к земле в момент включения. Светодиод на землю или датчик с подтяжкой вниз на этих выводах могут помешать запуску. Подробнее о таких выводах у ESP8266 и ESP32 — в статье о strapping-выводах.

Журнал загрузки на 74 880 бит/с

После сброса загрузчик ПЗУ печатает в UART0 несколько строк. Их скорость, по даташиту ESP8266EX, зависит от кварца: при 40 МГц — 115 200 бит/с, при 26 МГц — 74 880 бит/с. На схеме ESP-01S стоит кварц 26 МГц, поэтому монитор порта на 115 200 бит/с показывает вместо журнала «мусор». Настроенный на 74 880 бит/с, он покажет строку вида:

ets Jan 8 2014,rst cause 1, boot mode:(3,7)

По документации esptool rst cause 1 — включение питания, 2 — внешний сброс, 4 — аппаратный сторожевой таймер. Первое число в boot mode показывает режим: 1 — загрузка прошивки по UART, 3 — запуск из флеш. Если в журнале совпадают значения chksum и csum, флеш прочитана без ошибок. После журнала программа работает на своей скорости — AT-прошивка по умолчанию на 115 200 бит/с. Почему при несовпадении скоростей вместо текста приходят случайные символы, объясняет статья «Интерфейс UART».

Подключение к USB-UART-адаптеру и Arduino

Подключение ESP-01 к USB-UART-адаптеру с уровнями 3,3 ВВывод VCC модуля подключён к источнику 3,3 В, рядом с ним конденсаторы 10 мкФ и 0,1 мкФ на землю. EN подтянут к 3,3 В резистором 10 кОм, от EN на землю — конденсатор 0,1 мкФ. RST подтянут к 3,3 В резистором R2 (для ESP-01; у ESP-01S подтяжка есть на плате) и замыкается на землю кнопкой сброса. IO0 замыкается на землю кнопкой или перемычкой режима прошивки. IO2 свободен или подтянут к 3,3 В через резистор. Выход TXD адаптера идёт на RXD модуля, выход TXD модуля — на RXD адаптера, земли соединены.+3,3 ВC20,1 мкФC110 мкФR110 кОмC30,1 мкФ+3,3 ВR2для ESP-01сброспрошивкасвободен или через резистор к +3,3 ВUSB-UARTуровни 3,3 ВTXDRXDGNDESP-01VCC8EN6RST7IO03IO22RXD4TXD5GND1
ESP-01 на USB-UART-адаптере с уровнями 3,3 В. По типовой схеме из раздела 6 спецификации ESP-01S, с её номиналами: подтяжка EN с конденсатором (R1, C3), конденсаторы питания C1 и C2, замыкание IO0 на землю для прошивки (там — перемычка J2). Подтяжка RST (R2) показана для ESP-01, у ESP-01S она есть на плате; кнопка сброса добавлена редакцией

Порядок подключения:

  1. Питание. VCC — к источнику 3,3 В на нужный ток, GND — к общей земле с адаптером. У VCC — конденсаторы 10 и 0,1 мкФ.
  2. UART — накрест. Выход TXD адаптера идёт на RXD модуля (вывод 4), выход TXD модуля (вывод 5) — на RXD адаптера. Так соединения показаны и в руководстве ESP-AT: RX модуля — к TX компьютера и наоборот.
  3. EN — к 3,3 В через 10 кОм и конденсатор 0,1 мкФ на землю, как в типовой схеме Ai-Thinker. Модуль с EN в нуле выключен и не отвечает. RC-цепочка задерживает нарастание EN после включения питания: постоянная времени τ = 10 кОм · 0,1 мкФ = 1 мс. Таблица 5-2 даташита ESP8266EX требует, чтобы EXT_RSTB поднимался не раньше чем через 0,1 мс после питания (t3), а EN — не раньше чем через 0,1 мс после EXT_RSTB (t5).
  4. RST — единица в работе. У ESP-01S подтяжка RST есть на плате; схема ESP-01 не опубликована, поэтому на рисунке подтяжка R2 показана снаружи — её номинал в документах Ai-Thinker не указан. Кнопка на землю перезапускает модуль.
  5. IO0 — на землю кнопкой или перемычкой только для прошивки; в работе свободен.
  6. IO2 — свободен или подтянут к 3,3 В через резистор, но не напрямую.

Уровни. Ai-Thinker прямо пишет, что выводы модуля работают на 3,3 В и при другом уровне у управляющего микроконтроллера нужен преобразователь уровней. По таблице 5-1 даташита ESP8266EX высокий уровень на входе — от 0,75 VIO до 3,6 В (VIH max), на выходе — от 0,8 VIO: при питании 3,3 В это от 0,75 · 3,3 ≈ 2,48 В на входе и от 0,8 · 3,3 ≈ 2,64 В на выходе. Поэтому:

  • плату Arduino или другой микроконтроллер с логикой 3,3 В соединяют с модулем напрямую;
  • от 5-вольтовой платы к модулю (её TX → RXD модуля) ставят делитель или микросхему-транслятор уровней. Делитель из 10 кОм сверху и 20 кОм снизу даёт 5 · 20/(10 + 20) ≈ 3,33 В — выше 2,48 В и ниже 3,6 В. Как делитель затягивает фронты и когда нужен транслятор, разобрано в статье «Согласование уровней 3,3 и 5 В»;
  • от модуля к 5-вольтовой плате (TXD модуля → её RX) высокий уровень — от 2,64 В до напряжения питания модуля. Примет ли его 5-вольтовый вход, решает порог высокого уровня по даташиту той микросхемы. Если не примет, подходит каскад из спецификации ESP-01S (Q1 на стр. 16): NPN-транзистор 8050, база через 2 кОм подтянута к 3,3 В, эмиттер подключён к TXD модуля, коллектор через 4,7 кОм подтянут к 5 В и идёт на вход RX платы. Сигнал он не инвертирует.

Ещё две рекомендации из раздела 6 спецификации ESP-01S: последовательный резистор 10–100 Ом в каждой сигнальной линии гасит выбросы на фронтах и помогает защите от помех и статики, а модуль ставят у края основной платы так, чтобы зона антенны выходила за край или под ней был вырез в плате, без металла рядом.

Прошивка ESP-01

Записывают образ утилитой esptool или программой Flash Download Tool от Espressif через UART. Как работает esptool и как разбирать его ошибки, рассказано в статье «Прошивка ESP32»; адреса из неё к ESP8266 не подходят — у него образ начинается с адреса 0x0. Особенности модуля:

  • Вход в загрузчик вручную. Модуль подключают к адаптеру проводами, и режим задают сами: IO0 замыкают на землю, кратко замыкают RST на землю или передёргивают питание и запускают программу записи.
  • Автосброс. Если у адаптера выведены DTR и RTS, esptool может делать это сам: по его документации DTR подключают к GPIO0, RTS — к EN. Для надёжного сброса между EN и землёй рекомендуют конденсатор от 1 мкФ.
  • Размер флеш — 8 Мбит (1 МБ). Даташит ESP8266EX требует не меньше 512 КБ флеш-памяти без обновления по сети и не меньше 1 МБ с ним, так что у ESP-01 OTA помещается впритык. Размер в программе записи указывают 8 Мбит — так требует описание NONOS AT (разд. 1.2.4). Режим SPI тоже должен быть верным: иначе, предупреждает даташит ESP8266EX, записанная программа может не заработать.

Раскладка AT-прошивки на ESP8266_NONOS_SDK для флеш 8 Мбит — по разделу 1.2.4 описания NONOS AT v3.0.5:

ФайлАдресЧто это
boot.bin0x00000загрузчик, из каталога bin/at
user1.1024.new.2.bin0x01000AT-прошивка в раскладке 512 + 512 КБ, из bin/at/512+512
blank.bin0x7E000очищает область пользовательских параметров
blank.bin0xFB000очищает область калибровки радио RF_CAL
esp_init_data_default.bin0xFC000параметры радио по умолчанию — записывают хотя бы один раз
blank.bin0xFE000очищает область системных параметров

Оговорка из того же документа: начиная с ESP8266_NONOS_SDK 3.0.0 и AT 1.7 образ AT вырос, и по умолчанию поддерживается только раскладка 1024 + 1024 КБ — она описана для флеш 16 и 32 Мбит. Так что готовые сборки AT 1.7 и новее для флеш 8 Мбит по умолчанию не подходят, а таблица выше относится к более ранним.

AT-команды

В спецификации ESP-01 Ai-Thinker называет среди возможностей модуля стандартные AT-команды и даёт скорость UART по умолчанию 115 200 бит/с. У Espressif для ESP8266 есть два семейства AT-прошивок, и для ESP-01 разница между ними существенна:

  • AT на ESP8266_NONOS_SDK, описание — ESP8266 Non-OS AT Instruction Set v3.0.5. Документ помечен NRND, а сам NONOS SDK больше не обновляется. Скорость по умолчанию — 115 200 бит/с. На флеш 8 Мбит по умолчанию рассчитаны только сборки до AT 1.7 — см. раздел «Прошивка». Аппаратное управление потоком использует MTCK и MTDO, которых на разъёме ESP-01 нет, — его не включают.
  • ESP-AT 2.x, руководство ESP-AT User Guide v2.2.0.0. Готовые образы для ESP8266 собраны для модуля ESP-WROOM-02, и ESP-01 им не подходит по двум причинам. Первая — размер: в журнале запуска ESP8266 из руководства размер флеш 2 МБ, раздел ota_1 начинается с 0x110000, nvs — с 0x1F0000, то есть таблица разделов рассчитана на 2 МБ и в 1 МБ не помещается. Вторая — выводы: команды идут через UART0 на GPIO13 и GPIO15, которых на разъёме ESP-01 нет, а GPIO1 и GPIO3 нужны для прошивки и служат линиями RTS и CTS порта команд. Для своей сборки в проекте esp-at есть конфигурация ESP8266_1MB, а порт команд руководство разрешает перенести на GPIO1 и GPIO3 в файле factory_param_data.csv.

Перед записью готового AT-образа проверьте по его описанию, на какой размер флеш он собран и на какие выводы выводит порт команд. Основные команды из описания NONOS AT — пишутся заглавными буквами и заканчиваются переводом строки CR LF:

КомандаЧто делаетОтвет
ATпроверка связиOK
AT+RSTперезапуск модуляOK
AT+GMRверсии AT и SDK, время сборкистроки версий и OK
AT+CWMODE_CUR=1режим станции (1), точки доступа (2) или обоих (3), без записи во флешOK
AT+CWJAP_CUR="имя_сети","пароль"подключение к точке доступа без записи во флешOK или FAIL с кодом ошибки
AT+UART_CUR=115200,8,1,0,0скорость, 8 бит данных, 1 стоп-бит, без чётности и без управления потокомOK

Если модуль на AT не отвечает, сначала проверьте скорость и окончание строки в терминале, затем перекрёстное подключение TX и RX и уровень EN.

Типичные ошибки

  • Нестабильная работа во время передачи. Если источник не держит пиков тока до 300 мА, напряжение на модуле может уходить ниже 3,0 В — за пределы спецификации. Нужен стабилизатор на ток больше 300 мА для ESP-01 и от 500 мА для ESP-01S и конденсаторы у VCC.
  • «Мусор» в мониторе порта при включении. Это журнал загрузчика на 74 880 бит/с, а не неисправность.
  • Модуль не запускает программу. IO0 остался на земле, или нагрузка на IO0 и IO2 тянет их к нулю при включении, или EN не подтянут к 3,3 В.
  • 5 В на VCC или RXD. Питание модуля по спецификации — до 3,6 В, и высокий уровень на входе ESP8266EX не должен превышать 3,6 В (VIH max в таблице 5-1). 5-вольтовую плату подключают через стабилизатор 3,3 В и делитель или транслятор уровней.
  • Готовый образ ESP-AT 2.x не работает с ESP-01. Он собран для ESP-WROOM-02: на флеш 2 МБ и с портом команд на GPIO13 и GPIO15, которых на разъёме нет.
  • Глубокий сон не заканчивается сам. Без перемычки между GPIO16 и RST модуль по таймеру не просыпается — только по сбросу, сигналу на EN или повторной подаче питания.

Частые вопросы

Какое напряжение питания нужно ESP-01?

От 3,0 до 3,6 В, номинально 3,3 В — так в спецификациях Ai-Thinker на ESP-01 и ESP-01S. 5 В подавать нельзя ни на питание, ни на сигнальные выводы: высокий уровень на входе ESP8266EX по таблице 5-1 даташита Espressif не должен превышать 3,6 В. Ai-Thinker требует источник на ток больше 300 мА для ESP-01 и от 500 мА для ESP-01S: при передаче модуль кратковременно потребляет до 300 мА.

Как перевести ESP-01 в режим прошивки?

Держать вывод IO0 (GPIO0) на земле в момент сброса: кратко замкнуть RST на землю или выключить и снова включить питание. По таблице режимов Ai-Thinker EN и RST при этом в единице, GPIO2 — в единице, GPIO15 — в нуле; на ESP-01S он подтянут к земле на самой плате. Для обычного запуска из флеш IO0 оставляют свободным или подтягивают к 3,3 В.

Чем ESP-01S отличается от ESP-01?

В документации на docs.ai-thinker.com отдельного сравнения нет. Если сопоставить две спецификации, выводы, их нумерация, чертёж и флеш-память 8 Мбит одинаковы. Для ESP-01S требуется источник от 500 мА вместо 300 мА, рабочая температура у него −20…70 °C вместо −20…85 °C, хранение — −40…125 °C вместо −40…90 °C, нижняя граница скорости UART — 110 бит/с вместо 300. И только для ESP-01S опубликована схема: RST, EN и IO0 подтянуты к 3,3 В, GPIO15 — к земле, на IO2 стоит синий светодиод.

Почему ESP-01 при включении выводит в монитор порта непонятные символы?

Это журнал загрузчика ESP8266EX. Его скорость зависит от кварца: по даташиту Espressif при 26 МГц — 74 880 бит/с, при 40 МГц — 115 200 бит/с, а на схеме ESP-01S стоит кварц 26 МГц. Переключите монитор на 74 880 бит/с: будут видны причина сброса и режим загрузки — boot mode:(3,x) при запуске из флеш и (1,x) в режиме прошивки. Дальше программа выводит данные на своей скорости.

Можно ли подключить ESP-01 к Arduino с логикой 5 В напрямую?

Нет. Выводы модуля работают на 3,3 В, а высокий уровень на входе ESP8266EX по таблице 5-1 даташита не должен превышать 3,6 В. Выход TX 5-вольтовой платы подают на RXD модуля через делитель — например, 10 и 20 кОм дают около 3,33 В — или через микросхему-транслятор уровней. Для обратного направления, от TXD модуля к 5-вольтовому входу, подходит каскад Ai-Thinker на транзисторе 8050 с базой, подтянутой к 3,3 В. Второй каскад из той же спецификации, для 5 → 3,3 В, подаёт на RXD около 4 В — его не используют. Питают модуль от отдельного стабилизатора 3,3 В на ток больше 300 мА для ESP-01 и от 500 мА для ESP-01S.

Источники

  1. Ai-Thinker. ESP-01 802.11 b/g/n Wi-Fi Module, V1.2 (файл ESP-01 Specification-20220807) — с. 1, чертёж — плата 14,4 × 24,7 мм, зона антенны 6,7 мм, разъём 2 × 4 с шагом 2,54 мм, выводы 1 GND, 2 IO2, 3 IO0, 4 RXD во внутреннем ряду и 5 TXD, 6 EN, 7 RST, 8 VCC у края, точка у вывода 1, квадратная площадка у вывода 4, ряд у края — 1,5 мм от края платы; Features — DIP-8, до 160 МГц, Deep-sleep от 20 мкА, UART до 4 Мбит/с, AT-команды, обновление по сети (FOTA); с. 2, Product Specifications — 24,7 × 14,4 × 11,0 мм, SPI-флеш 8 Мбит по умолчанию, 2 порта ввода-вывода, UART 300–4 608 000 бит/с и 115 200 по умолчанию, 2412–2484 МГц, антенна на плате 2 dBi, передатчик 16, 14 и 13 ± 2 дБм для 802.11b, g и n, чувствительность от −90 до −67 дБм, типовые токи без условий измерения: при непрерывной передаче около 71 мА в среднем и 300 мА в пике, Modem-sleep около 20 мА, Light-sleep около 2 мА, Deep-sleep около 0,02 мА; WEP/WPA-PSK/WPA2-PSK, питание 3,0–3,6 В при токе источника больше 300 мА, −20…85 °C, хранение −40…90 °C, 0,65 г; схемы модуля в документе нет; китайская редакция того же файла (ESP-01规格书-20220807), с. 1 — штыри: шаг 2,54 ± 0,05 мм, длина 6 ± 0,2 мм, ширина 0,64 ± 0,01 мм
  2. Ai-Thinker. ESP-01S Specification, Version V1.1 (2025-08-02) — разд. 1 — ядро ESP8266 (Tensilica L106, 80 и 160 МГц); табл. 1 — DIP-8, 24,6 × 14,4 × 11,2 мм (11,2 мм — высота штырей), 2400–2483,5 МГц, −20…70 °C, хранение −40…125 °C, 3,0–3,6 В при токе источника больше 500 мА, 2 вывода ввода-вывода, UART 110–4 608 000 бит/с и 115 200 по умолчанию, SPI-флеш 8 Мбит; разд. 2 — питание 3,0, 3,3 и 3,6 В, уровни VIL, VIH, VOL, VOH, ток вывода до 12 мА, токи при 3,3 В и 25 °C, передача с заполнением 90 %: 170, 140 и 120 мА, приём 50–56 мА, Modem-sleep 20 мА, Light-sleep 2 мА, Deep-sleep 20 мкА (измерено при 2,5 В), выключение 0,5 мкА; разд. 3 — чертёж, тот же, что у ESP-01; разд. 4 — таблица выводов и таблица режимов загрузки (CH_PD/EN, RST, GPIO15, GPIO0, GPIO2, TXD0); разд. 5 — схема: резисторы от 3,3 В к #RESET (с конденсатором на землю), EN и IO0, синий светодиод с резистором от 3,3 В к IO2, резистор от IO15 к земле, кварц 26 МГц, IO16 с #RESET не соединён, номиналов нет; разд. 6, стр. 14 — типовая схема: R1 10 кОм к EN и C3 0,1 мкФ от EN на землю, C1 10 мкФ и C2 0,1 мкФ по питанию, перемычка J2 IO0 — земля, разъём J1 UART; антенна у края основной платы, без металла рядом; стр. 15 — питание 3,3 В с пиковым током от 500 мА, LDO или DC-DC с пульсациями до 30 мВ; стр. 16 — последовательные резисторы 10–100 Ом, уровни 3,3 В, два каскада преобразователя уровней на транзисторах 8050 с резисторами 2 и 4,7 кОм
  3. Ai-Thinker. ESP8266 Series — страница документации модулей — модули серии ESP8266 построены на ESP8266EX; в списке модулей и спецификаций — ESP-01 и ESP-01S, схемы для них в списке не выложены; сравнения ESP-01 и ESP-01S на странице нет
  4. Espressif. ESP8266EX Datasheet, Version 7.1 (2025.11) — обложка — статус NRND, рекомендуемая замена ESP8684; табл. 1-1 (с. 2) — питание чипа 2,5–3,6 В; табл. 2-1 (с. 5) — CHIP_EN включает чип единицей, EXT_RSTB (вывод 32) — сброс нулём, XPD_DCDC (вывод 8, GPIO16) для пробуждения из Deep-sleep соединяют с EXT_RSTB, GPIO2 — выход UART при прошивке, U0RXD и U0TXD — UART прошивки; примечание (с. 6) — режим загрузки задают GPIO0, GPIO2 и MTDO (GPIO15), U0TXD нельзя тянуть к нулю при включении; разд. 3.1.3 (с. 8) — программа во внешней SPI-флеш, не меньше 512 КБ без OTA и 1 МБ с OTA; Notice там же — при записи нужно выбрать верный режим SPI; разд. 4.6 (с. 15–16) — UART до 115 200 × 40 (4,5 Мбит/с), MTCK и MTDO — CTS и RTS UART0, журнал при включении на 74 880 бит/с при кварце 26 МГц и 115 200 при 40 МГц; табл. 5-1 (с. 19) — VIL до 0,25 VIO, VIH от 0,75 VIO до 3,6 В, VOH от 0,8 VIO, ток вывода 12 мА; табл. 5-2 (с. 20) — t3: EXT_RSTB поднимается не раньше 0,1 мс после питания, t5: CHIP_EN — не раньше 0,1 мс после EXT_RSTB; разд. 5.2 и табл. 5-3 (с. 20) — при 3,0 В, 25 °C и заполнении 50 %: передача 170, 140 и 120 мА, приём 50–56 мА
  5. Espressif. esptool Documentation (latest), ESP8266: Boot Mode Selection — Required Pins — GPIO15 к земле, GPIO2 к питанию через резистор или свободен, в загрузчике GPIO2 становится выходом UART TX, поэтому напрямую на питание его не подключают; Select Bootloader Mode — GPIO0 в нуле при сбросе включает загрузчик; Automatic Bootloader — DTR к GPIO0, RTS к EN, конденсатор от 1 мкФ между EN и землёй; Boot Log — 74 880 бит/с, rst cause 1, 2 и 4, boot mode (1,x) и (3,x), совпадение chksum и csum
  6. Espressif. ESP8266 Non-OS AT Instruction Set, Version 3.0.5 (2021.08) — About This Guide — NRND, ESP8266_NONOS_SDK больше не обновляется; разд. 1.2 — с ESP8266_NONOS_SDK 3.0.0 и AT 1.7 по умолчанию поддерживается только раскладка флеш 1024 + 1024 КБ; разд. 1.2.4 (с. 4) — флеш 8 Мбит: размер 8 Мбит в программе записи, boot.bin 0x00000, user1.1024.new.2.bin 0x01000, blank.bin 0x7E000, 0xFB000 и 0xFE000, esp_init_data_default.bin 0xFC000; разд. 2 — скорость по умолчанию 115 200 бит/с, команды заглавными буквами с окончанием CR LF; разд. 3.2.1–3.2.4 — AT, AT+RST, AT+GMR, AT+GSLP (нужна перемычка 0 Ом между XPD_DCDC и EXT_RSTB); разд. 3.2.7 — AT+UART_CUR, управление потоком на MTCK и MTDO; разд. 4.2.1 и 4.2.3 — AT+CWMODE_CUR, AT+CWJAP_CUR. Документ Espressif выложен на сайте Ai-Thinker
  7. Espressif. ESP-AT User Guide, release v2.2.0.0 (2021-11-24) — разд. 1.2.5, табл. 8 — ESP8266 AT: прошивка через UART0 на GPIO3 (RX) и GPIO1 (TX), команды — на GPIO13 (RX) и GPIO15 (TX), журнал — на GPIO2, линии адаптера перекрёстные; разд. 1.3 (с. 22) — журнал запуска ESP8266: SPI Flash Size 2MB, ota_1 с 0x110000, nvs с 0x1F0000; разд. 2.3.1 — готовые образы ESP8266-IDF-AT для ESP-WROOM-02, параметры по умолчанию GPIO15, GPIO13, GPIO3, GPIO1; раздел Modify Command Port Pins — порт команд можно перенести только на GPIO1 и GPIO3; разд. 5.14 — среди конфигураций сборки есть ESP8266_1MB. Документ Espressif выложен на сайте Ai-Thinker

Нашли ошибку?