Открываю глаза посреди ночи, весь в холодном поту, в виске пульсирует единственная мысль : "Черт возьми, что же это такое - ESP8266EX?!"

Настало время познакомиться с платформой поближе. Хватит с нас кошмаров.
Все семейство плат ESP построено на одном и том же чипе ESP8266EX. Обвязка практически везде одинаковая - кварцевый резонатор 26MHz, несколько светодиодов и резисторов.Различны лишь форма плат, тип антенны и в некоторых царских версиях есть стабилизатор напряжения (ума не приложу почему их не поставили на все).
Блок-схема процессора ESP8266EX:

Все это вместе полноценный комплекс интегрированных компонентов для осуществления механизма обмена данными по Wi-Fi каналу связи. Наличие мощного процессора (по меркам микроконтроллеров), множества портов ввода.вывода и EEPROM расширяет возможности до самостоятельного устройства способного выполнять низконагруженные сетевые задачи.
Преимущества:
- Протокол 802.11 b/g/n
- Wi-Fi 2.4 GHz, поддержка WPA/WPA2
- Компактные размеры 11.5mm x 11.5mm
- Интегрированный 10-bit ADC
- Интегрированный стек TCP/IP
- Интегрированный TR переключатель, balun, LNA, усилитель мощности сетевого сигнала
- Интегрированный PLL
- Выходная мощность радио передатчика +20dBm в режиме 802.11b
- Поддержка различных антенн
- Потребление в спящем режиме
- Интегрированный 32-bit MCU
- SDIO 2.0, SPI, UART
- STBC, 1×1 MIMO, 2×1 MIMO
- Готовность к работе менее чем за
- Энергопотребление в режиме ожидания of
- Диапазон рабочих температур: -40C ~ 125C
Принципиальная схема типовой платы серии ESP:

Подача питания на порты в момент включения определяет режим на которомзапустится микроконтроллер.
- MTDIO - не задействован
- GPIO0 - при привязке к минусу активирует режим программирования, код на плате при этом не запускается, процессор ожидает данных по UART. Плюс или свободно висящая нога - запускают процессор в нормальном режиме;
- U0TXD - если подключить к земле, то запускается тестовый режим о котором мало что известно. К этой линии подключен диод на плате;
- XPD_DCDC (GPIO16) - выводит из режима сна;
- CHIP_EN - запускает процессор (удобен для экономии энергопотребления, если активировать только в момент передачи данных);
- U0RXD - может использоваться еще как линия ввода.вывода;
- GPIO2 - линия ввода-вывода.


Плата ESP-01 имеет на борту два светодиода. Красный - питание. Синий - U0TXD и моргает при обмене данных по UART, зажигается при низком уровне на GPIO1 .
Завод предусматривал основное назначение модуля ESP как устройство для передачи данных от контроллера к роутеру. По тому заводская прошивка работает только с AT командами по UART и ничего больше не умеет.
Более продвинутый вариант - заменять штатную прошивку своей и тогда ESP превращается в полноценный перепрограммируемый микроконтроллер для народного творчества. Вариантов прошивки много от Lua кода до Arduino IDE скетчей. Это сильно подогревает интерес к столь маленькой плате.