ELECTRONICS

ESP8266 и NodeMCU: распиновка, характеристики и отличия от ESP32

9 цифровых1 аналоговых

ESP8266 — плата, с которой в домашней автоматике всё началось. Дешевле ESP32 и проще, но с Wi-Fi и своим веб-сервером прямо на борту.

Чаще всего её покупают в виде NodeMCU: это готовая плата с USB, стабилизатором и кнопками, куда сам чип впаян модулем. Есть и версия Wemos D1 mini — то же самое, но вдвое меньше.

Главная странность, на которую жалуются все новички: номера на плате не совпадают с номерами в коде. Надпись D5 означает вывод GPIO14, и никакой логики в этом соответствии нет — его просто надо помнить или подсматривать в таблице ниже.

Запустить в симулятореПлата на схеме: питание и подключения. Скетчи для ESP пока не запускаются · как работает симулятор

Распиновка

ВыводНазначение
D0 · GPIO16пробуждениеКнопка, светодиод, реле, а также пробуждение платы из глубокого сна.
подробнее

Единственный вывод, который умеет будить плату из глубокого сна. Прерывания и ШИМ не поддерживает.

D1 · GPIO5I2C SCLШина I2C: дисплеи OLED и LCD, часы реального времени, датчики давления и ускорения.
подробнее

Тактовая линия I2C по умолчанию. Один из самых безопасных выводов: при загрузке ничего не выдаёт.

D2 · GPIO4I2C SDAШина I2C: дисплеи OLED и LCD, часы реального времени, датчики давления и ускорения.
подробнее

Линия данных I2C по умолчанию. Тоже безопасен при старте.

D3 · GPIO0загрузкаКнопка, светодиод, датчик — но при включении платы уровень на нём менять нельзя: влияет на загрузку.
подробнее

Определяет режим загрузки. Притянут к земле при включении — плата ждёт прошивку вместо запуска скетча.

D4 · GPIO2светодиод · загрузкаВстроенный светодиод для первых опытов. Как обычный вывод тоже работает.
подробнее

К нему припаян встроенный светодиод, причём светится он при низком уровне. Тоже участвует в загрузке.

D5 · GPIO14SPI SCKШина SPI: карта памяти, считыватель RFID, радиомодуль nRF24, быстрые дисплеи. Без SPI — обычный вывод.
подробнее

Тактовый сигнал SPI. Свободный и надёжный вывод.

D6 · GPIO12SPI MISOШина SPI: карта памяти, считыватель RFID, радиомодуль nRF24, быстрые дисплеи. Без SPI — обычный вывод.
подробнее

Линия данных «к плате» на шине SPI.

D7 · GPIO13SPI MOSIШина SPI: карта памяти, считыватель RFID, радиомодуль nRF24, быстрые дисплеи. Без SPI — обычный вывод.
подробнее

Линия данных «от платы» на шине SPI.

D8 · GPIO15SPI SS · загрузкаШина SPI: карта памяти, считыватель RFID, радиомодуль nRF24, быстрые дисплеи. Без SPI — обычный вывод.
подробнее

Выбор устройства SPI. При старте обязан быть притянут к земле, иначе плата не загрузится.

A0 · ADC0единственный АЦПАналоговый датчик: потенциометр, фоторезистор, влажность почвы, напряжение батареи.
подробнее

Единственный аналоговый вход. На самом чипе он меряет 0–1 В, но на плате NodeMCU стоит делитель, и вход принимает 0–3,3 В.

RX · GPIO3UART RXПриём с компьютера: монитор порта и прошивка. На время загрузки скетча освободить.
подробнее

Приём по последовательному порту, занят при прошивке.

TX · GPIO1UART TXПередача на компьютер: монитор порта и прошивка. На время загрузки скетча ничего не подключать.
подробнее

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

3V3Питание модулей на 3,3 В: радиомодулей, карт памяти, некоторых датчиков.
подробнее

Выход стабилизатора, отсюда питают датчики.

VINВнешнее питание платы: батарея или блок питания вместо USB.
подробнее

Вход внешнего питания 5 В, минуя USB.

GNDОбщий провод схемы: минус всех модулей, датчиков и внешнего питания.
подробнее

Земля, на плате их несколько.

RSTПерезапуск платы: кнопка сброса или сигнал от другого устройства.
подробнее

Сброс. Для глубокого сна его соединяют с D0.

Характеристики

Микроконтроллер
ESP8266EX
Ядра
1Tensilica L106
Тактовая частота
80 МГцразгоняется до 160
Напряжение логики
3,3 В
Оперативная память
≈80 КБдоступно скетчу
Флеш-память
4 МБу NodeMCU
Беспроводная связь
Wi-Fi 802.11 b/g/nBluetooth нет
Цифровых выводов
11реально свободных меньше
Аналоговых входов
1десять разрядов, 0–1023
ШИМ
на любом выводепрограммный, частота до 1 кГц
Ток с одного вывода
12 мА
Питание
5 В через USB или VIN

Чем отличается от соседей

ESP32

Вдвое больше ядер, втрое больше выводов, есть Bluetooth и восемнадцать аналоговых входов вместо одного. Разница в цене небольшая, поэтому новый проект логичнее начинать с ESP32.

Arduino UNO

Без сети, но пятивольтовая и с шестью аналоговыми входами. Если Wi-Fi не нужен, UNO удобнее: не надо согласовывать уровни.

Wemos D1 mini

Тот же ESP8266, но плата вдвое меньше и с другой раскладкой выводов. Программируется одинаково, отличается только формой.

На чём попадаются

В коде указан номер с платы

Написать digitalWrite(5, HIGH), глядя на надпись D5, — самая частая ошибка. Сработает GPIO5, то есть вывод, подписанный D1. Пишите D5 — это константа, которую среда сама переведёт в GPIO14.

Аналоговый вход показывает мусор выше вольта

Сам чип меряет до одного вольта. На NodeMCU перед входом стоит делитель, и потому плата принимает 3,3 В — а вот у голого модуля ESP-12 делителя нет, и подача трёх вольт сожжёт вход.

Плата не стартует из-за подключённого датчика

Три вывода — D3, D4 и D8 — определяют режим загрузки. Если на них висит что-то, притягивающее уровень не в ту сторону, плата уходит в режим прошивки или не запускается вовсе. Держите датчики на D1, D2, D5, D6, D7.

Не хватает питания при передаче

В момент включения радио плата потребляет короткие всплески до 300 мА. Дешёвый USB-порт или слабый стабилизатор этого не тянет — плата перезагружается по кругу. Помогает конденсатор на сотни микрофарад по питанию.

Что к ней подключают

Схемы подключения, библиотеки и рабочие скетчи для датчиков, дисплеев и драйверов — в разделе компонентов. Каждый скетч проверен компиляцией именно под эту плату.

Перейти к компонентам