Общая характеристика платформ
| Параметр | ESP32 / ESP8266 | STM32 (F1/F4/F7/H7) |
|---|---|---|
| Архитектура | Xtensa / RISC-V (ESP32-C3) | ARM Cortex-M |
| Тактовая частота | 80-240 МГц | 72-550 МГц |
| RAM | 320-520 КБ | 64 КБ — 1 МБ |
| Flash | 4-16 МБ | 128 КБ — 2 МБ |
| WiFi | ✅ Встроенный (2.4 ГГц) | ❌ Требуется внешний модуль |
| Bluetooth | ✅ Встроенный (Classic + BLE) | ❌ Требуется внешний модуль |
| Цена | $3-8 | $8-25 |
| Энергопотребление | 80-250 мА (WiFi активен) | 20-100 мА |
| Real-time | ⚠️ Ограничено (FreeRTOS) | ✅ Отлично (аппаратные таймеры) |
| Основное применение | IoT, телеметрия, WiFi-мосты | Полётные контроллеры, ELRS, точное управление |
ESP32: Espressif Official | STM32: ST Microelectronics
Использование с ELRS (ExpressLRS)
Поддержка ELRS на разных платформах
| Платформа | Версия ELRS | Возможности |
|---|---|---|
| ESP32 | ELRS 3.x | TX и RX модули, WiFi-конфигуратор, BLE |
| ESP8266 | ELRS 2.x | Только RX, ограниченные возможности |
| STM32 (F1/F4) | ELRS 3.x | TX и RX, лучшая производительность, меньше задержка |
| STM32 (F7/H7) | ELRS 3.x+ | Премиум-сегмент, низкая задержка, телеметрия |
ExpressLRS поддерживает ESP32, ESP8266 и STM32 платформы с различными hardware target.
Важно: ELRS v3.5 будет последней версией с поддержкой STM32 для некоторых плат (Happymodel PP, ES915).
Сравнение для ELRS:
| Критерий | ESP32 | STM32 |
|---|---|---|
| Задержка (latency) | 4-8 мс | 2-4 мс |
| Baud rate | 3.75M | 1.87M |
| Дальность | 10-20 км | 15-30 км |
| Конфигурация | WiFi-веб-интерфейс | UART/Bluetooth |
| Обновление прошивки | OTA через WiFi | UART/ST-Link |
| Стабильность | Хорошая | Отличная |
| Цена модуля | $15-25 | $25-45 |
Рекомендация: Для критичных миссий — STM32, для хобби/тестов — ESP32.
🔗 ExpressLRS Hardware Selection | DIY TX | DIY RX
WiFi возможности
ESP32 — лидер для WiFi-задач
| Функция | ESP32 | STM32 + WiFi модуль |
|---|---|---|
| Точка доступа (AP) | ✅ Встроенная | ⚠️ Требуется ESP-модуль |
| Клиент (STA) | ✅ Встроенный | ⚠️ Требуется ESP-модуль |
| Веб-сервер | ✅ До 10 одновременных подключений | ⚠️ Ограничено |
| WebSocket | ✅ Полная поддержка | ⚠️ Сложная реализация |
| MQTT | ✅ Нативная поддержка | ⚠️ Через библиотеки |
| OTA обновления | ✅ Встроенные | ⚠️ Требуется загрузчик |
| Bluetooth конфигуратор | ✅ Встроенный | ❌ Нет |
ESP32 specifications: Official Docs | WiFi Specs | Bluetooth
Практические сценарии использования WiFi на БПЛА:
┌──────────────────────────────────────┐
│ ESP32 на борту БПЛА │
├──────────────────────────────────────┤
│ 📡 Точка доступа для настройки (192.168.4.1) │
│ 📊 Телеметрия в реальном времени (WebSocket) │
│ 🔧 OTA обновления прошивки │
│ 📱 Мобильное приложение для управления │
└──────────────────────────────────────┘
⚠️ Ограничения ESP32 WiFi:
- Дальность: 50-100 м (без усилителя)
- Помехоустойчивость: низкая (2.4 ГГц перегружен)
- Задержка: 50-200 мс (не для управления)
- НЕТ поддержки видео через WiFi для телеметрии
Примеры проектов:
Управление VTX / VRX
Поддержка протоколов управления
| Протокол | ESP32 | STM32 | Применение |
|---|---|---|---|
| SmartAudio (TBS) | ✅ UART | ✅ UART | VTX настройка |
| IRC Tramp | ✅ UART | ✅ UART | VTX настройка |
| HDZero VTX | ⚠️ Ограничено | ✅ Полная | Цифровое видео |
| DJI O3 API | ❌ Нет | ⚠️ Через SDK | Профессиональное |
| Analog VRX Control | ✅ UART/I2C | ✅ UART/I2C | RapidFIRE, True-D |
SmartAudio: Betaflight Guide | ArduPilot VTX
IRC Tramp: Betaflight Documentation
VTX общее: Betaflight VTX Guide | VTX Tables
Схема подключения VTX:
┌──────────────┐ UART ┌──────────────┐
│ Flight │──────────────►│ VTX │
│ Controller │ (TX/RX) │ (SmartAudio) │
│ (STM32) │ │ │
└──────────────┘ └──────────────┘
│
│ I2C / UART
▼
┌──────────────┐
│ ESP32 │────── WiFi ──────► Мобильное приложение
│ (WiFi Bridge) │ для настройки VTX
└──────────────┘
Кастомный ПК / Наземная станция управления (НСУ)
ESP32 как мини-сервер на борту
| Функция | Реализация | Примечание |
|---|---|---|
| Веб-интерфейс | AsyncWebServer | Конфигурация, мониторинг |
| Телеметрия | WebSocket / MQTT | Real-time данные |
| Логирование | SD Card + WiFi sync | Резервное копирование |
| API для GCS | REST / JSON | Интеграция с QGroundControl |
ArduPilot WiFi телеметрия:
ESP32: DroneBridge/ESP32 — поддерживает DroneBridge для телеметрии (без видео!)
ESP8266: ESP8266 Telemetry — недорогой WiFi модуль, встроен в Pixracer
Общая телеметрия: Telemetry Landing Page
STM32 как основной контроллер
| Функция | Реализация | Примечание |
|---|---|---|
| Полётный контроллер | ArduPilot / Betaflight | Основное применение |
| Периферия | UART, I2C, SPI, CAN | Датчики, ESC, GPS |
| Real-time задачи | Аппаратные таймеры | Критичные по времени |
| Связь с ESP32 | UART / SPI | Для WiFi-функционала |
Архитектура гибридной системы:
┌─────────────────────────┐
│ БПЛА │
│ │
│ ┌─────────────────┐ │
│ │ STM32 (FC) │ │
│ │ ArduPilot │ │
│ │ - Управление │ │
│ │ - Навигация │ │
│ │ - Датчики │ │
│ └────────┬────────┘ │
│ │ UART │
│ ┌────────▼────────┐ │
│ │ ESP32 │ │
│ │ - WiFi AP │ │
│ │ - Телеметрия │ │
│ │ - Веб-интерфейс │ │
│ └────────┬──────── │
│ │ │
└───────────┼─────────────┘
│ WiFi
▼
┌─────────────────────────┐
│ Наземная станция │
│ - Ноутбук/Планшет │
│ - QGroundControl │
│ - Веб-браузер │
└─────────────────────────┘
QGroundControl: WiFi Setup
Сводная таблица выбора
| Задача | ESP32 | STM32 | Комбо |
|---|---|---|---|
| ELRS приемник | ✅ Бюджетный | ✅ Премиум | — |
| ELRS передатчик | ✅ Хобби | ✅ Профи | — |
| WiFi телеметрия | ✅ Отлично | ❌ Нет | ✅ ESP32 + STM32 |
| Управление VTX | ✅ Через UART | ✅ Через UART | ✅ Оба |
| Полётный контроллер | ❌ Не рекомендуется | ✅ ArduPilot/BF | ✅ STM32 |
| Real-time управление | ❌ Ограничено | ✅ Отлично | ✅ STM32 |
| Бюджет | ✅ $5-15 | ⚠️ $15-40 | ⚠️ $20-50 |
Практические рекомендации для ваших задач
Конфигурация для крупного БПЛА (ArduPilot):
┌────────────────────────────────────────────────────────┐
│ Рекомендуемая архитектура │
├────────────────────────────────────────────────────────┤
│ Полётный контроллер: STM32 (Pixhawk/H7) │
│ ELRS приемник: STM32-based (лучшая дальность) │
│ WiFi модуль: ESP32 (телеметрия + конфиг) │
│ VTX управление: STM32 через UART (SmartAudio) │
│ Видеоканал: Отдельный (DJI/Analog) │
│ Наземная станция: Ноутбук + QGroundControl │
└────────────────────────────────────────────────────────┘
Бюджетная альтернатива:
┌─────────────────────────────────────┐
│ Бюджетная архитектура │
├─────────────────────────────────────┤
│ Полётный контроллер: ESP32 (только для тестов!) │
│ ELRS приемник: ESP32-based │
│ WiFi телеметрия: Встроенный ESP32 │
│ VTX управление: ESP32 через UART │
└─────────────────────────────────────┘
⚠️ Важно: Для реальных миссий не используйте ESP32 как основной полётный контроллер — только как вспомогательный модуль для WiFi/телеметрии.
Полезные ресурсы
| Тема | Ссылка |
|---|---|
| ExpressLRS документация | expresslrs.org |
| ExpressLRS Hardware | GitHub Hardware |
| ESP32 для БПЛА | Espressif |
| ArduPilot + WiFi | ESP32 Telemetry |
| ArduPilot ESP8266 | ESP8266 Telemetry |
| VTX Protocols | SmartAudio |
| VTX Tramp | IRC Tramp |
| STM32 для БПЛА | ST.com |
| Flight Controllers | F1/F3/F4 Comparison |
| STM32 vs ESP32 | Robotics Comparison |
| QGroundControl | qgroundcontrol.com |
