Skip to content

Wireless MAVLink Telemetry and OTA Update Monitor for UAVs using ESP32 with touchscreen interface and web-based firmware updates. Displays flight status in real time and supports seamless QGroundControl or MAVProxy connections.

License

Notifications You must be signed in to change notification settings

Paschalis/esp32-uav-telemetry-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 UAV Telemetry Monitor

OTA Web Interface

preview

Overview

ESP32 UAV Telemetry Monitor is a lightweight wireless telemetry screen that connects to your UAV’s MAVLink telemetry stream over WiFi.

It displays:

  • Flight Mode
  • GPS Status and Satellites
  • Altitude (meters)
  • Ground Speed (m/s)
  • Heading (degrees)
  • RSSI (signal strength)

It also supports:

  • OTA (Over-the-Air) Firmware Updates via a simple Web UI
  • Factory Reset (reboot into default AP mode)
  • Automatic Telemetry Lost Warning (shows a red warning screen if no data is received)

Features

✅ Wireless connection (WiFi AP mode)
✅ Receives MAVLink telemetry (UDP port 14550)
✅ Modern LVGL-based GUI (ILI9341 SPI displays)
✅ OTA Web Upload for firmware updates
✅ Factory Reset button
✅ Compact, portable monitor for field operations
✅ Low latency telemetry updates

Hardware Requirements

  • ESP32 Dev Board (recommended: ESP32 WROOM/WROVER modules)
  • ILI9341 2.8" or 3.2" TFT Display (SPI connection)
  • Touch screen support

How It Works

  • ESP32 starts its own WiFi Access Point ESP32-UAV (password password123).
  • Opens UDP port 14550 to receive MAVLink packets.
  • If no telemetry is received for 5 seconds → displays TELEMETRY LOST warning.
  • OTA firmware upload possible if BOOT button held at startup.

Connectivity Options

1. QGroundControl (MAVLink Forwarding)

  • Open QGroundControl
  • Go to Application Settings → MAVLink → Forwarding
  • Add Forwarding Address:
    192.168.4.1:14550
    

QGroundControl Forwarding

✅ QGC now mirrors telemetry to the ESP32 Telemetry Monitor.

2. MAVProxy (Custom MAVLink Output)

If using MAVProxy, add an output:

mavproxy.py --master=/dev/ttyUSB0 --out=udpout:192.168.4.1:14550

✅ Sends live MAVLink telemetry wirelessly to ESP32 monitor.

Screenshots

Telemetry Screen Settings Screen

Telemetry Lost Screen Splash Screen

OTA Web Interface

Firmware Upload (OTA Update)

  • Connect to ESP32-UAV WiFi.
  • Open browser:
    http://192.168.4.1/
    
  • Upload .bin firmware.
  • ESP32 updates and reboots automatically.

Building and Flashing

Using PlatformIO

git clone https://github.com/YourUsername/esp32-uav-telemetry-monitor.git
cd esp32-uav-telemetry-monitor
pio run --target upload

Using Arduino IDE

  • Open src/main.cpp
  • Select your ESP32 board
  • Install Libraries:
    • lvgl
    • WiFi
    • Preferences
    • ESPAsyncWebServer
  • Upload firmware

Roadmap

  • Wireless MAVLink Telemetry Display
  • OTA Web Update
  • Touchscreen support
  • Additional future improvements

Related Projects

FC Plus is a modular add-on board for UAV flight controllers, offering advanced features such as telemetry, GPS, object avoidance (ToF, Sonar, IR), and LED indicators for status feedback.

FC Plus Sensor Module
Stars Forks Activity

Acknowledgements

License

This project is licensed under the GPLv3 License - see the LICENSE file.


Thank you for using ESP32 UAV Telemetry Monitor!

About

Wireless MAVLink Telemetry and OTA Update Monitor for UAVs using ESP32 with touchscreen interface and web-based firmware updates. Displays flight status in real time and supports seamless QGroundControl or MAVProxy connections.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages