Use an ESP32 to consume telemetry from your radio and send it over various transports.
Supports the following telemetry protocols:
- FrSky Smart port,
- TBS Crossfire CRSF,
- ImmersionRC Ghost,
- or pass-thru any byte stream!
Input:
- Smart port UART from FrSky compatible radio to ESP32 UART2.
- Smart port UART from FrSky R9M to ESP32 UART2.
- Telemetry over Bluetooth (BLE), e.g. X9D+ SE.
- Byte stream from a server socket.
- ESP-NOW.
Output:
- USB (compatible with Android telemetry apps).
- Bluetooth Serial (compatible with Android telemetry apps).
- BLE (compatible with Android telemetry apps).
- WiFi (AP and/or station)
- built-in telemetry dashboard webapp with map,
- JSON REST API,
- WebSockets,
- MQTT (e.g. IoT).
- Byte stream from a server socket.
- ESP-NOW.
Minimum:
- ESP32 development board.
Optional:
- 5 LEDs.
- Install Arduino IDE (version 1.8 or higher required).
- Run
install_libs.cmd
/install_libs.sh
to install ESP32 tools and library dependencies. - Open
telemetry/telemetry.ino
in Arduino IDE. - Select your hardware (e.g. ESP32 Dev Module) under 'Tools' -> 'Board: ...' -> 'ESP32 Arduino'.
- Change 'Tools' -> 'Partition Scheme' to 'No OTA (2MB APP/2MB SPIFFS)'.
- Connect your ESP32 board.
- Change 'Tools' -> 'Port' to the port the ESP32 board is connected to.
- Run 'Tools' -> 'ESP32 Sketch Data Upload'.
- Hit the upload button.
The ESP32 should start in WiFi access point mode. Point a browser at it, click on the 'Settings' link at the bottom of the page, and adjust the configuration appropriately. Then, reboot.
Pin 13 - Toggle WiFi station mode.
Pin 14 - Toggle WiFi access point mode.
Pin 15 - Toggle BLE advertisement.