Общие сведения
Используйте платформу Piranha ESP32 v2 на модуле Espressif ESP32-S для создания устройств на базе интернета вещей. Например, плата станет отличным контролером умного дома, веб-сервером для отображения показаний датчиков или мозгом робота управляемого по Wi-Fi или Bluetooth.
На текущий момент на плате Piranha распаян модуль ESP32 без разъёма для внешней антенны.
Предыдущие версии
Платформа Piranha ESP32 v2 пришла на замену v1. Во второй версии мы внесли следующие изменения:
- Аналоговые входы могут работать параллельно с Wi-Fi
- Крепкий и надёжный micro-USB порт
- Разъём для подключение внешней антенны.
Видеообзор
Подробности
Платформа для разработки Piranha ESP32 v2 выполнена на модуле ESP32-S c чипом ESP32-D0WDQ6. Кристалл SoC ESP32-D0WDQ6 работает на тактовой частоте до 240 МГц с поддержкой беспроводных технологий Wi-Fi 802.11 b/g/n и Bluetooth v4.2 с BLE.

На плате расположена гребёнка PLS в стиле G-V-S для подключения внешних модулей и сенсоров:
- Всего контактов общего назначения: 17
- Контакты ввода-вывода GPIO: 15
- Контакты ввода GPI: 2
- Контакты с ШИМ: 15 с разрядностью до 16 бит (по умолчанию 8 бит)
- Контакты с АЦП: 6 с разрядностью до 16 бит (по умолчанию 14 бит)
- Контакты с ЦАП: 2 с разрядностью 8 бит
- Возможность сконфигурировать интерфейсы: 3×UART, 3×SPI, 2×I²C и 2×I²S
На плате также распаяна электронная обвязка, которая даёт всем пинам общего назначения совместимость с 5 вольтовой логикой.
Все подробности по контактам и интерфейсам платформы читайте в текущей статье в разделе распиновка.
Подключение и настройка
- Подключите платформу Piranha ESP32 v2 к компьютеру через кабель micro-USB. При успешном подключении должен загореться индикаторный светодиод PWR.
- Скачайте и установите среду программирования Arduino IDE.
- По умолчанию IDE настроена только на AVR-платы. Для работы с платформой Piranha ESP32 v2 — добавьте в менеджере плат поддержку платформ ESP32 Arduino.
- Если при подключении контроллера Piranha ESP32 v2 в Arduino IDE не появляется новый COM-порт, установите драйвер USB-UART преобразователя для Windows 7 или Windows 10.
- На этом настройка закончена, смело переходите к примерам работы.

Примеры работы
Маячок
Для начала сделаем привычный «Hello, world» в DIY-мире — соберем маячок.
Что понадобится
Схема устройства
Подключите светодиод к Piranha ESP32 v2 к сигнальному пину 33 через трёхпроводной шлейф.

Исходный код
Прошейте платформу Piranha ESP32 v2 кодом ниже.
// GPIO пин, к которому подключен светодиод constexpr int PIN_LED = 33; void setup() { // Настраиваем пин со светодиодом в режим выхода pinMode(PIN_LED, OUTPUT); } void loop() { // Зажигаем светодиод digitalWrite(PIN_LED, HIGH); // Ждём 1000 мс delay(1000); // Гасим светодиод digitalWrite(PIN_LED, LOW); // Ждём 1000 мс delay(1000); }
Результат
После прошивки, светодиод начнёт мигать раз в секунду.

Интернет часы
Мигать светодиодом можно на любой ардуинке. Давайте соберём что то связано с IoT, например интернет часы.
Что понадобится
- 1× Piranha ESP32 v2
- 1× Кабель USB (A — Micro USB)
- 1× Четырехразрядный LED-индикатор Flash-I²C (Trema-модуль)
Схема устройства
Подключите LED-индикатор Flash-I²C к Piranha ESP32 v2 к сигнальным пинам I²C — SDA и SCL через четырёхпроводной шлейф.

Исходный код
Прошейте платформу Piranha ESP32 v2 кодом ниже.
// Подключаем библиотеки для Piranha ESP32 #include <WiFi.h> #include "time.h" #include "sntp.h" // Подключаем библиотеку для LED-индикатора Flash-I²C #include <iarduino_I2C_4LED.h> // Создаём объект для работы с LED-индикатором // Передаём I²C по умолчанию 0x09 iarduino_I2C_4LED display4LED(0x09); // Задаём точку доступа Wi-Fi сети и пароль const char* ssid = "your ssid"; const char* password = "your password"; // Задаём сервера для получения времени const char* ntpServer1 = "pool.ntp.org"; const char* ntpServer2 = "time.nist.gov"; // Устанавливаем временную зону TZ_Europe_Moscow // Найти вашу временную зону можно тут: // https://github.com/esp8266/Arduino/blob/master/cores/esp8266/TZ.h const char* time_zone = "MSK-3"; void setup() { // Открываем Serial-порт Serial.begin(9600); // Инициализируем четырехразрядный LED-индикатор display4LED.begin(); // Подключаемся к Wi-Fi сети Serial.printf("Connecting to %s ", ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } // Выдаём сообщение об успешном подключении Serial.println("\nСonnected"); // Устанавливаем временную зону configTzTime(time_zone, ntpServer1, ntpServer2); } void loop() { // Создаём объект для получения доступа к данным времени struct tm timeinfo; // Пытаемся обновить данные времени if(!getLocalTime(&timeinfo)){ Serial.println("No time available..."); return; } // Получаем текущее время в часах и минутах int hour = timeinfo.tm_hour; int minute = timeinfo.tm_min; // Выводим время на LED-индикатор display4LED.print(hour, minute, TIME); // Дублируем вывод времени в Serial-порт Serial.printf("Time now %d:%d\n", hour, minute); // Ждём 1 секунду delay(1000); }
Результат
После прошивки, ESP32 выйдет в сеть → запросит время у сервера по NTP → отразит его на четырехразрядном LED-индикаторе. Для отладки программы время также дублируется в консоль.

Элементы платы

Модуль ESP32-S
Платформа для разработки Piranha ESP32 v2 выполнена на модуле ESP32-S.

Под металлической крышкой модуля ESP32-S расположена система на кристалле SoC ESP32-D0WDQ6 с тактовой частотой до 240 МГц, Flash-память на 4 МБ и другая электронная обвязка. Также в кристалл ESP32-D0WDQ6 встроен датчик температуры, датчик Холла и контроллер сенсорного ввода. Поддерживаются беспроводные стандарты связи Wi-Fi 802.11 b/g/n (2,4 ГГц) и протокол Bluetooth v4.2 с BLE.
На текущий момент на плате Piranha распаян модуль ESP32 без разъёма для внешней антенны.
Преобразователь USB-UART CH340
Преобразователь USB-UART на чипе CH340 обеспечивает связь модуля ESP-12S с USB-портом компьютера. При подключении к ПК — Piranha ESP32 v2 определяется как виртуальный COM-порт.
Если при подключении контроллера Piranha ESP32 v2 в Arduino IDE не появляется новый COM-порт, установите драйвер USB-UART преобразователя для Windows 7 или Windows 10.
Индикаторные светодиоды
Имя | Цвет | Назначение |
---|---|---|
IO-2 | Синий | Индикатор питания платформы. |
PWR | Зелёный | Пользовательский светодиод на GPIO33 пине микроконтроллера. При задании высокого уровня светодиод загорается, при низком – гаснет. |
TX | Красный | Мигает при прошивки и отправление данных из Piranha ESP32 v2 в USB. |
RX | Красный | Мигает при прошивки и получение данных из USB в Piranha ESP32 v2. |
Кнопка RESET
Кнопка RESET служит для ручного сброса питания — аналог кнопки RESET обычного компьютера.
Кнопка BOOT
Кнопка BOOT служит для ручного перевода модуля в режим прошивки:
- Зажмите кнопку BOOT;
- Нажмите и отпустите кнопку RESET;
- Отпустите кнопку BOOT.
При прошивки платформы через Arduino IDE специальная схема на плате сбрасывает микроконтроллер автоматически и никаких манипуляций с кнопкой проделывать не нужно. Однако кнопка всё же будет полезна, если вы хотите специально перевести модуль в режим прошивки или когда автоматический сброс не работает.
Порт micro-USB
Разъём micro-USB предназначен для прошивки и питания платформы Piranha ESP32 v2 по USB. Для коммуникации понадобится кабель Micro USB.
Преобразователь питания
Понижающий преобразователь питания AMS1117-3.3 с выходом 3,3 вольта, обеспечивает питание модуля ESP32-S. Максимальный выходной ток составляет 500 мА.
Контактная гребёнка G-V-S
На плате расположена гребёнка PLS в стиле G-V-S для подключения внешних модулей и сенсоров. Каждый контакт общего назначения подключен к электронной обвязки, которая даёт всем пинам общего назначения совместимость с 5 вольтовой логикой.
Все подробности по контактам и интерфейсам платформы читайте в текущей статье в разделе распиновка.
Контактная гребёнка I²C
На плате расположена гребёнка PLS на 4 контакта для подключения внешних модулей и сенсоров по интерфейсу I²C. Контактная гребёнка I²C, дублирует пины питания и сигналов интерфейса I²C c общей колодки G-V-S.
Все подробности по контактам и интерфейсам платформы читайте в текущей статье в разделе распиновка.
Распиновка

Пины питания
Имя | Описание |
---|---|
5V | Пин питания с напряжением 5 вольт. |
GND | Пин земли. |
Пины ввода-вывода
Все пины GPIO/GPI совместимы с 5 вольтовой логикой.
Категория | Количество пинов | Имена пинов | Описание |
---|---|---|---|
Пины ввода-вывода GPIO | 15 | GPIO0, GPIO1, GPIO3, GPIO5, GPIO16–GPIO19, GPIO21–GPIO23, GPIO25, GPIO26, GPIO32 и GPIO33. | Пины могут быть настроены на вход или на выход. Логический уровень выходной единицы — 3,3 В, нуля — 0 В. На вход можно подавать сигнал до 5 В. |
Пины ввода GPI | 2 | GPI34 и GPI35. | Пины могут быть настроены только на вход. На вход можно подавать сигнал до 5 В. |
ШИМ / PWM | 15 | GPIO13, GPIO15–GPIO19, GPIO21, GPIO22, GPIO25, GPIO26, GPIO32 и GPIO33. | Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ по умолчанию установлена в 8 бит, но можно поднять до 16 бит. |
АЦП / ADC | 6 | GPIO25, GPIO26, GPIO32, GPIO33, GPI34 и GPI36. | Позволяет представить аналоговое напряжение в виде цифровом виде. Диапазон входного напряжения от 0 до 3,3 В. Можно подавать сигнал и до 5 В, однако микроконтроллер будет его воспринимать как 3,3 В. Разрядность АЦП по умолчанию установлена в 14 бит, но можно поднять до 16 бит. |
ЦАП / DAC | 2 | GPIO25 и GPIO26. | Позволяет выводить аналоговое напряжение в чистом виде. Разрядность ЦАП установлена в 8 бит и не меняется. |
Каждый пин ввода-вывода GPIO платформы можно сконфигурировать на аппаратные интерфейсы: 3×UART, 3×SPI, 2×I²C и 2×I²S.
Габаритный чертёж

Характеристики
- Модель: Piranha ESP32 v2
- Интерфейс USB-UART: CH340
- Процессор: ESP32-S
- Стандарт Wi-Fi: 802.11 b/g/n
- Стандарт Bluetooth: BLE v4.2 BR/EDR
- Тактовая частота: 240 МГц
- Flash-память: 4 МБ
- SRAM-память: 520 КБ
- Входное напряжение питания: 5 В
- Напряжение логических уровней: 3,3 В с толератностью к 5 В
-
Контакты общего назначения:
- Всего контактов: 17
- Контакты ввода-вывода GPIO: 15
- Контакты ввода GPI: 2
- Контакты с ШИМ: 15 с разрядностью до 16 бит (по умолчанию 8 бит)
- Контакты с АЦП: 6 с разрядностью до 16 бит (по умолчанию 14 бит)
- Контакты с ЦАП: 2 с разрядностью 8 бит
- Возможность сконфигурировать интерфейсы: 3×UART, 3×SPI, 2×I²C и 2×I²S
Полезные товары
Ресурсы
- Установка и настройка среды Arduino IDE
- Установка поддержки платформы Piranha ESP32 v2 в Arduino IDE
- Установка драйвера USB для Windows 7
- Установка драйвера USB для Windows 10
- Облачный сервис «ioControl» для связки устройств по Wi-Fi
- Библиотека для Arduino «iocontrol» для связки устройств по Wi-Fi
Обсуждение