DroneBridge for ESP32

If you want to learn more about the project please visit the project home on Githhub and the official website. Make sure to check the docs in the Wiki!
https://dronebridge.github.io/ESP32/

DroneBridge for ESP32 is a short-range (<10km) digital telemetry/data link optimized for use with UAVs. It uses the popular and affordable ESP32 chipset. DroneBridge for ESP32 is probably the cheapest way to communicate with your drone. It also allows for a fully transparent serial to WiFi pass-through link with variable packet size (Continuous stream of data required). DroneBridge for ESP32 is a telemetry/low data rate-only solution. There is no support for cameras connected to the ESP32 since it does not support video encoding.

The firmware supports traditional WiFi-based communication that offers a range of ~150m. In addition, it supports the ESP-NOW protocol which increases the range to more than 1km depending on the antennas.

Compared to the popular SiK Telemetry Radios, DroneBridge for ESP32 offers much higher data rates, lower price and lower weight while maintaining a respectable range. DroneBridge for ESP32 can be used to control a single UAV or an entire swarm of drones. It is convenient to set up and configure given the extensive documentation and easy-to-use web interface. All communication is securely encrypted.

Official Hardware

The project supports the chips ESP32, ESP32C3, ESP32S2 & ESP32S3.

To make things easier for people who want to get started quickly the project features an official board that is very low in price, has everything you need (external antenna and connector) and is also very small. Perfect for use on any drone.

You can buy spares from the first batch here!

Modes

DroneBridge for ESP32 supports the following modes:

WiFi Access Point Mode

ESP32 will create a Wi-Fi Access Point to which other ground control stations (GCS) can connect. UDP and TCP connections are accepted. All traffic is secured using WPA2-PSK.

WiFi Client Mode

ESP32 will connect to the specified WiFi Access Point. This way multiple drones can connect to one ground control station (GCS).

WiFi Access Point Mode Long-Range

The same as the WiFi Access Point Mode only with espressifs’ own LR mode enabled. This means that only other DroneBridge for ESP32 devices can see and connect to the access point (the access point is invisible to laptops and phones etc.). Thanks to LR mode the data rate is reduced and the max. possible range greatly increased. Read more about it here!

ESP-NOW LR Mode

DroneBridge for ESP32s`custom ESP-NOW implementation using ESP-NOW broadcast packets with an AES256-GCM encrypted payload.
Like with all LR modes it requires you to have ESP32 devices as AIR and GND units and a serial-to-USB adapter to connect a GCS. This mode is considered more robust compared to the WiFi LR Mode since the ESP-NOW protocol is connectionless. The specified WiFi password is used for encryption.

Notes on security: The AES-GCM encryption uses random IVs. If an attacker can listen to all of the traffic (encrypted using the same password), he has a 50% chance of decrypting/cracking your password after 2^48 packets.
For you, this means you should change your password from time to time to be on the secure side. Generally, changing the password every 2^32 packets is advised to reduce the probability of a successful decryption attack to 1 in 4 billion.
Since telemetry is not generating a massive amount of packets/second you should be fine 🙂

The Web Interface

The web interface allows the user to easily configure the software. It is designed to work on all devices and screen sizes.

Further Support & Donations

If you benefited from this project please consider a donation:

For questions or general chatting regarding DroneBridge for ESP32 please visit the Discord channel

2 Comments

  1. Hello, I am trying to connect 1 esp32 as client to another esp32 which has AP role. But I can not figure out where to provide credientals for client esp32 in order to connect AP. How will client know which ip to connect for access point? Where should I specify the information of access point for client? on which screen?

    • On the access point you specify the SSID and password. Use the same SSID and password on the ESP32 that is running in client mode. It’s just like normal WiFi.
      Once connected to the access point the access point will automatically start sending UDP packets to the client ESP32 (to all connected clients). The client ESP32 will receive those (port 14550) and forward it via the UART/Serial interface.

Leave a Reply

Your email address will not be published. Required fields are marked *