Технические характеристики
- Модель: NodeMCU ESP-32S v1.1 / NodeMCU-32S / ESP-32S ESP32-WROOM-32 (аналог ESP32-DevKitC)
- Питание: 5В DC (порт USB, вход +5V)
- Рабочее напряжение: 3.3В
- Потребляемый ток: до 500 мА
- Контроллер: ESP-WROOM-32, 2-ядерный процессор ESP32-D0WDQ6 на основе 32-битных Xtensa LX6 с низким энергопотреблением
- Тактовая частота: от 80 МГц до 240 МГц
- Внутренняя память:
- 448 Кбайт ПЗУ для загрузки и базовых функций
- 520 Кбайт статической ОЗУ для данных и инструкций
- 8 Кбайт быстрой статической ОЗУ для домена питания реального времени (RTC), доступной через главный процессор во время загрузки из режима глубокого сна
- 8 Кбайт медленной статической ОЗУ для домена питания реального времени (RTC), доступной через сопроцессор в режиме глубокого сна
- 1 Кбит eFuse, 256 бит заняты системой (MAC-адрес и настройки чипа), 768 бит для пользовательских приложений, включая флеш-шифрование и идентификатор микросхемы (chip-ID)
- Встроенная память
- 32 МБит / 4 МБайт ПЗУ, 40МГц
- Диапазон радиочастот: 2.4ГГц-2.5ГГЦ (2412М-2484М)
- WiFi:
- Клиент, Точка доступа, Клиент+Точка доступа (station, softAP, station+softAP)
- Протоколы WiFi: 802.11 b/g/n, до 150 Мбит/сек
- Выходная мощность в режиме 802.11b: +20.5 dBm
- Поддержка WiFi MAC
- Технология STBC 2х1
- Антенна: PCB, разведена на плате в виде дорожки
- Bluetooth:
- Версия 4.2 BR/EDR и BLE спецификации
- Мощность передающего сигнала: +12dBm
- NZIF-приёмник с чувствительностью -97dBm
- Адаптивная форма скачкообразной перестройки частоты (AFH)
- Class-1, class-2 и class-3 передатчик без внешнего усилителя мощности
- Поддержка мульти-соединений в режимах классического BT и BLE
- Поддержка многоранговых соединений Piconect и Scatternet
- Поддержка голосовых кодеков CVSD и SBC
- Шифрование: WAPI, WEP, TKIP, AES, SHA-2, RSA, ECC
- Выводы общего назначения (вход/выход, GPIO): 32
- Аналоговые входы (АЦП): 16, 12-бит
- Аналоговые выходы (ЦАП): 2, 8-бит
- Ток контакта общего назначения GPIO: реком. 6 мА, макс.12 мА
- Интерфейсы: GPIO, UART, I2C, I2S, SPI, PWM, Touch, Ethernet MAC, SDcard, SDIO, IrDA
- Скорость передачи данных UART: до 5 МБит/сек
- Встроенный переключатель приёма/передачи, согласующий высокочастотный трансформатор, усилитель мощности
- Встроенные блоки: согласования сети, фазовой автоподстройки частоты, управления питанием, блоки регулирования
- Встроенные сенсоры: датчики Холла, ёмкостный датчик касаний
- Поддержка Arduino IDE C/C++, ESPlorer IDE, NodeMCU Lua, MicroPhyton, PlatformIO
- Поддержка файловых систем SPIFFS, FATFS, RTOS
- Поддержка Программных наборов разработки ESP-IDF (SDK), обновление прошивки UART/OTA
- Светодиодный индикатор: питание (красный), программируемый вывод GPIO2 (синий)
- Шаг между контактами: 2.54 мм
- Размеры: 48.26 x 25.4 мм
Основополагающей идеей развития микроконтроллеров на сегодняшний день остаётся минимизация размеров кристаллов микросхем с одновременным увеличением содержащихся в единой структуре интегрированных компонентов. Добившись значительного успеха с чипами ESP8266, компания Espressif Systems не остановилась на достигнутом. Продолжив движение в ногу со временем, она сотворила маленькое чудо, и выпустила на рынок совершенно новое мощное и гибкое решение, объединяющее в себе не только популярные стандарты беспроводной связи WiFi и Bluetooth, встречающиеся повсеместно практически в любых современных электронных устройствах, но и по-настоящему обширные инновационные возможности, расширяющие спектр использования микроконтроллера ESP32 в разнообразных проектах с низким энергопотреблением, разрабатываемых как многочисленными любителями-энтузиастами, так и профессиональными специалистами.
Контроллеры с ядром ESP32 могут быть задействованы в различных и по-своему уникальных приложениях: связывающие устройства для концептуальных вычислительных сетей Интернет вещей (IoT), включающие инструменты по сбору и хранению данных или объединению всевозможных датчиков, устройства аудио или видео стриминга, дополнительные надстройки к полноценным электронным продуктам, элементы механизмов распознавания речи или изображений. А также находят применение в домашней автоматике, управляющей освещением, силовыми розетками или дверными замками. ESP32 может участвовать в разработке различных приложений автоматизированного координирования и взаимодействия индустриального оборудования, в системах мониторинга за электронными метками (маяками), в образовательной, промышленной и сервисной робототехнике, в детских игрушках, в любых компактных портативных умных устройствах.
Компоновка элементов и интерфейсов платы NodeMCU-32S
Порт USB
Порт USB модуля NodeMCU-32S соответствует спецификации USB2.0, предоставляет прямую возможность подключения платы к ПК. Он соединён со встроенным чипом CP2102 преобразователя логических сигналов USB-UART TTL, привязанного к ESP32-WROOM-32 через шину UART0 для двунаправленной передачи цировой информации. Порт USB служит проводным интерфейсом функций обновления программного обеспечения (прошивки) платы NodeMCU ESP32S, вывода отладочной информации (по умолчанию отключено) или входом 5-вольтовго напряжения питания.
Датчик Холла
ESP32-WROOM-32 оснащён встроенным резистивным датчиком на основе эффекта Холла. Чувствительный датчик измеряет силу магнитного поля, воздействующего на него из окружения, и вырабатывает крайне слабый аналоговый сигнал, пропорциональный уровню магнитного воздействия. Аналоговый сигнал от датчика Холла, усиленный в интегрированной схеме ESP32, передаётся на выводы S_VP и S_VN.
Режимы энергосбережения ESP32, домен питания реального времени RTC
Чипсет ESP32 располагает сопроцессором с ультранизким энергопотреблением (ULP-сопроцессор), и подготовлен к нескольким режимам энергопотребления:
- Активный режим - блоки радиопередатчиков постоянно включены, чип ESP32 может передавать и принимать данные, или вести постоянное радионаблюдение. Ток потребления составляет 95-240 мА.
- Режим спящего модема - функционируют все возможности чипа ESP32, за исключением блоков радиопередатчиков WiFi и Bluetooth. Частота процессора автоматически регулируется в зависимости от загруженности ядра и используемой периферии. Потребляемый ток снижается до 20-68 мА.
- Режим лёгкого сна - процессор ESP32 остановлен, при этом память и периферия домена питания реального времени RTC, а также ULP-сопроцессор, находятся в рабочем состоянии. Выход из режима сна основан на возникновении пробуждающих событий (MAC, хост, таймер RTC или внешние прерывания). Сила рабочего тока в режиме лёгкого сна не превышает 0.8 мА.
- Режим глубокого сна - напряжение получают только память и периферия (RTC_GPIO, RTC_I2C) домена питания реального времени RTC, включая ULP-сопроцессор. Все остальные элементы ESP32 обесточены. Настройки соединений WiFi и Bluetooth сохраняются в памяти RTC. Энергопотребление снижается до 10-150 мкА.
- Режим гибернации - встроенный кварцевый генератор на 8 МГц, ULP-сопроцессор и память домена RTC отключены от питания. Остаются активными таймер RTC и некоторые контакты RTC GPIO, с помощью которых возможен возврат из спящего режима. Рабочий ток в режиме гибернации составляет всего 5 мкА.
Расположение и функциониальное назначение контактных выводов
Операции обмена цифровыми данными между контроллером и внешней периферией, подключаемой к выводам общего назначения (GPIO) модуля NodeMCU ESP-32, основаны на 3.3-вольтовой логике. Высокоуровневым сигналом или логической единицей называются импульсы с напряжением в диапазоне +2.64...+3.6 вольт. Низкоуровневым сигналом или логическим нулём именуются импульсы в интервале -0.3...+0.33 вольт. Множество выводов ESP-WROOM-32 имеют интегрированные схемы программного управления, устанавливающие уровень логического состояния — высокое (контакт подтянут к плюсовому напряжению/питанию) или низкое (контакт стянут к нулевому напряжению). Большинство контактов платы могут быть смультиплексированы с различными интерфейсами (UART, I2C, I2S, PWM, HSPI, VSPI, служебным каналом EMAC, и другими). Рекомендуемый ток отдельного вывода GPIO составляет 6 мА, максимальный ток - не более 12 мА.
- VCC 3V3 — вывод c напряжением 3.3 вольта, предназначен для питания внешней периферии (не более 300мА)
- CHIP_EN — вход логического сигнала управления ESP32, высокий - включение Enable, низкий - перезапуск контроллера Reset
- GPIO0 ~ GPIO33 — выводы общего назначения для ввода/вывода инфомрации. Вывод GPIO0 имеет функцию переназначения. Низкоуровневым сигналом GPIO0 в момент включения/сброса ESP32 запускается режим загрузки/обновления ПО через UART0/USB. GPIO34, 35, 36, и 39 работоспособны исключительно на вход
- RTC(GPIO0) ~ RTC(GPIO39) — входы домена питания реального времени RTC. Поддерживается операция пробуждения ESP32 из режима лёгкого сна
- S_VP(ositive), S_VN(egative) — выходы встроенного датчика Холла, подключенного к внутреннему усилителю сигнала АЦП1. Результаты измерения силы окружающего магнитного поля искажаются при совместном использовании датчика Холла с другими функциями
- 32K_XP(ositive), 32K_XN(egative) — входы внешнего кварцевого генератора частоты 32.768 КГц
- VDET_1, VDET_2 — аналоговый вход домена питания реального времени RTC. Поддерживается вывод процессора ESP32 из режимов энергосбережения. Требуется предварительная программная подготовка
- VCC 5V — вход питания NodeMCU-32S ESP-32S стабилизированного 5-вольтового напряжения / выход напряжения шины USB
Важно! Контакты GPIO рассчитаны на максимальную силу нагрузочной тока не более 12 мА и напряжение не более 3.3 вольта. Превышение допустимых электрических характеристик способно перманентно повредить микроконтроллер ESP32. |
Специальные функции и интерфейсы
- ADC1_X, ADC2_X — каналы X аналого-цифровых преобразователей АЦП1 и АЦП2 с 12-битной разрядностью. Диапазон преобразованных значений в интервале 0-4095. Функция преобразования АЦП2 не доступна в состоянии активного WiFi-подключения
- DAC_1, DAC_2 — цифро-аналоговые преобразователи ЦАП1 и ЦАП2. Выводы преобразования цифровых значений от 0 до 255 (разрядность 8 бит) в пропорциональное выходное аналоговое напряжение
- UART — интерфейс ассинхронной последовательной шины, состоящий из линии приёма информации RX и передачи TX. Внутри ESP32 реализовано три аппаратных блока UART. По умолчанию, в среде разработки Arduino IDE предопределена одна UART-шина.
|
RX |
TX |
Имя |
Состояние |
UART0 |
GPIO3 |
GPIO1 |
Serial |
свободен, порт USB |
UART1 |
GPIO9 |
GPIO10 |
- |
занят, SDIO/SPI Flash-память |
UART2 |
GPIO16 |
GPIO17 |
- |
свободен |
- I2C/IIC/TWI — двунаправленный последовательный интерфейс из линий передачи данных SDA и тактирования SCL. Поддерживает одновременно до 127 параллельных устройств с уникальным аппаратным адресом. В чипсете ESP32 существует 2 аппаратных блока I2C с произвольным назначением на любой GPIO в программируемых режимах ведущий или ведомый. По умолчанию, в среде разработки Arduino IDE предусмотрена одна I2C-шина с контактами GPIO22 (WIRE_SCL) и GPIO21 (WIRE_SDA).
- SPI — шина последовательного периферийного интерфейса (SPI, HSPI, VSPI) в программируемых режимах ведущий или ведомый. Шина включает линии передачи данных от ведущего к ведомому MOSI, от ведомого к ведущему MISO, тактирования сигнала SCLK, выбора адреса SS(CS). Шина SPI занята внутренней flash-памятью, шина VSPI активна по умолчанию.
Имя |
MOSI |
MISO |
SCLK |
SS/CS |
VSPI |
GPIO23 |
GPIO119 |
GPIO18 |
GPIO5 |
HSPI |
GPIO13 |
GPIO12 |
GPIO14 |
GPIO15 |
- I2S — последовательный синхронный протокол передачи аудиоданных между цифровыми аудио устройствами. В ESP32-WROOM-32 интегрированы 2 независимых 3-проводных контроллера I2S (I2S0, I2S1), поддерживающие режимы ведущий и ведомый. Линии битовой частотной синхронизации (BCLK), правого/левого каналов WS, цифровых данных (SD) каждой шины I2S мультиплексируются на любых GPIO. Управление линией опорного I2S-тактирования (MCLK) для периферии определяется функциями CLK_OUT1~3. Передача сигналов PDM в режиме ЦАП/АЦП предусматривается только в I2S0
- Touch0~9 — вход ёмкостного сенсорного датчика, аппаратно реагирующего на изменение ёмкости в электрической цепи соответствующего вывода, вызванное прикосновением человека или объекта. Поддерживается функция пробуждения ESP-WROOM-32 из энергосберегающих режимов сна
- SD/SDIO/MMC — хост-интерфейс (HS2), поддерживающий карты памяти стандарта SD V3.01
- SDIO/SPI — периферийный интерфейс (SD), поддерживающий промышленные карты памяти с спецификацией SDIO 2.0
- PWM (ШИМ) — цифровой сигнал с управляемой широтно-импульсной модуляцией. ШИМ поддерживается на любом GPIO WROOM-32 за исключение портов 34-36 и 39
- Ethernet MAC (EMAC) — интерфейсы MII/RMII управления доступом к среде (MAC), совместимого со стандартом IEEE-802.3-2008. Для подключения к физической шине LAN (скрученная пара, волокно и т.д.), процессору ESP32 требуется внешнее PHY-устройство физического интерфейса. PHY подключается через 17-сигнальный интерфейс MII или 9-сигнальный интерфейс RMII.
Электрическая принципиальная схема NodeMCU-32S
Физические размеры модуля NodeMCU-32S
Техническая документация
- Спецификация NodeMCU-32S Ai-Thinker (англ., PDF)
- Спецификация ESP-WROOM-32 V2.9 (англ., PDF)
- Технический справочник ESP32 V4.0 (англ., PDF)
- Спецификация SL CP2102 V1.8.1 (англ., PDF)
- Поддержка NodeMCU-32S в среде PlatformIO
Программное обеспечение
- Приложение для обновления ПО Flash Download Tools_V3.6.7
- Оригинальная прошивка AI-Thinker NodeMCU-32S (ESP-IDF v2.0)
- Прошивка для SoC WiFi ESP32, основанная на Lua NodeMCU
- Среда программирования NodeMCU ESPlorer
- Загружаемая библиотека ESP32 Espressif для Arduino IDE
- Фреймворк (SDK) ESP-IDF разработки приложений на SoC Espressif для Windows, Linux, macOS