DroneBridge for ESP32. A transparent short range wifi based telemetry (serial to WiFi) link. Support for MAVLink, MSP, LTM (iNAV) or any other protocol
A DroneBridge enabled firmware for the popular ESP32 modules from Espressif Systems. Probably the cheapest way to communicate with your drone, UAV, UAS, ground based vehicle or whatever you may call them.
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.
Blackbox concept. UDP & TCP connections possible. Automatic UDP uni-cast of messages to port 14550 to all connected devices/stations. Allows additional clients to register for UDP. Client must send a packet with length > 0 to UDP port of ESP32.
Ready to use binaries for ESP32 via GitHub releases.
Or compile using esp-idf v5.1:
idf.py set-target esp32 build
idf.py set-target esp32s2 build
idf.py set-target esp32s3 build
idf.py set-target esp32c3 build
Officially supported and tested boards:
Do the project and yourself a favour and use one of the officially supported and tested boards below.
These boards are very low in price, have everything you need and are also very small. Perfect for use on any drone.
Other official options
For further info please check the wiki!
First download the latest release from this repository. You can find them here.
There are many multiple ways on how to flash the firmware.
For further info please check the wiki!
Check out manufacturer datasheet! Only some modules can take more than 3.3V. Follow the recommendations by the ESP32 boards manufacturer for powering the device
For further info please check the wiki!
DroneBridge ESP32
with password dronebridge
dronebridge.local
(Chrome: http://dronebridge.local
) or 192.168.2.1
into the address bar.
You might need to disable the cellular connection to force the browser to use the WiFi connection
save
For further info please check the wiki!
You will need the Espressif SDK: esp-idf + toolchain. Check out their website for more info and on how to set it up. The code is written in pure C using the esp-idf (no arduino libs).
This project supports the v5.1.2 of ESP-IDF
Added mDNS via idf.py add-dependency "espressif/mdns^1.2.2"
Compile and flash by running: idf.py build
, idf.py flash
The webinterface communicates with a REST:API on the ESP32. You can use that API to set configurations not selectable via the web-interface (e.g. baud rate). It also allows you to easily integrate DroneBridge for ESP32.
To request the settings
http://dronebridge.local/api/settings/request
To request stats
http://dronebridge.local/api/system/stats
To request IP and port of active UDP connections
http://dronebridge.local/api/system/conns
Trigger a reboot
http://dronebridge.local/api/system/reboot
Trigger a settings change: Send a valid JSON
{
"esp32_mode": 1,
"wifi_ssid": "DroneBridge ESP32",
"wifi_pass": "dronebridge",
"ap_channel": 6,
"tx_pin": 17,
"rx_pin": 16,
"telem_proto": 4,
"baud": 115200,
"msp_ltm_port": 0,
"ltm_pp": 2,
"trans_pack_size": 64,
"ap_ip": "192.168.2.1"
}
to
http://dronebridge.local/api/settings/change
To test the frontend without the ESP32 run
npm install -g json-server
json-server db.json --routes routes.json
Set const ROOT_URL = "http://localhost:3000/"
inside index.html
and the <script>
block