Hardware & Wiring
List of supported Hardware and the wiring instructions
Last updated
List of supported Hardware and the wiring instructions
Last updated
The voltage level of the ESP32 UART is 3.3V! Make sure your flight controller also uses 3.3V. Pixhawk flight controllers do have a 3.3V UART by default and a 5V power supply line. These flight controllers will not cause any issues.
The following boards are officially supported and only these boards will receive support from the developer team. These boards are very low in price, have everything you need and are also very small. Perfect for use on any drone.
Official board for DroneBridge for ESP32 (DE/EU) Official board for DroneBridgefor ESP32 (EU) These are spares from the first and second batches, pre-installed and ready for use currently shipping to EU only - contact the seller for non-EU shipping options. Please consider supporting the project and doing yourself a favour by buying ready-to-use hardware!
These boards might also work but are not tested and will not receive any support from the main project.
Other non-tested boards that will likely work:
AZDelivery DevKit C
ESP32-C3-DevKitM-1
TinyPICO - ESP32 Development Board - V2
Seeed Studio XIAO ESP32C3
Other ESP boards are very likely to work as well. You don't need any additional PSRAM. You will need a USB to serial adapter to flash the firmware if your ESP32 board does not come with one. Follow the instructions of the board manufacturer when it comes to wiring the power supply lines. Some modules do not like an external 5V power input connected in addition to a USB at the same time.
The following ESP32 chips are supported:
ESP32
ESP32S2
ESP32S3
ESP32C3
ESP32C6 (experimental)
Almost any board featuring one of these chips should work. See the wiring and flashing instructions on how to use the unofficially supported options
Official DroneBridge for ESP32 Board
Easy! Just connect the board to your flight controller using the provided cable. In case you are not using the standard Pixhawk telemetry connector see the reference for the output here:
XIAO ESP32C3
You can use any of the available pins for connecting your flight controller except for the TX & RX labelled pins and GPIO9 (D6, D7, D8 & D9). The below image shows an example on how to connect to the pixhawk telemetry port.
Connect the Pixhawk telemetry TX pin to a free ESP32-C3 pin (except for the pins D6, D7, D8 & D9) - note the GPIO number, not the D#!
Connect the Pixhawk telemetry RX pin to a free ESP32-C3 pin (except for the pins D6, D7, D8 & D9) - note the GPIO number, not the D#!
Connect the Pixhawk telemetry GND pin to the ESP32-C3 GND pin
Connect the Pixhawk telemetry 5V out pin to the ESP32-C3 5V pin
You can use any of the available pins for connecting your flight controller/UART except for the TX & RX labelled pins of your dev. board. The reason for that is that most boards are using the TX & RX labelled pins for the default flashing/debugging UART of the ESP32. These pins will output debugging information and allow to flash the firmware. The DroneBridge for ESP32 firmware is not configured to re-assign that UART. Your device will crash if you choose them anyway.
Do also not use so-called "strapping pins", these pins are connected to the boot button and using them for I/O may result in unexpected crashes. For the ESP32C3 the strapping pins are GPIO2, GPIO8 and GPIO9. For many other ESP32 chips, GPIO0 is a strapping pin. Check the datasheet of your ESP32 chip to get the strapping pins.
Beware of the GPIO numbers, board manufacturers often re-number their pins and the numbers do not match with the GPIO numbers!
When the ESP32 is connected to a GCS you have the following wiring options:
Connect the FTDI adapter to the GPIOs of the ESP32 and configure GPIO pins accordingly via the web interface. Then you can connect the ESP32 via the FTDI to the computer and open the GCS. Within the GCS connect to the FTDI-Serial adapter to receive the telemetry stream.
For reference see:
Officially supported boards and boards with an USB connector connected to the USB-JTAG interface of the ESP32 only.
Flash the special version of DroneBridge for ESP32 with the suffix USBSerial
. This will output all data received via the radio link to the USB port (USB-JTAG interface). Not all ESP32 modules and boards are compatible. Boards with two USB ports will work as well as the XIAO ESP32 board series.
There is no need for a Serial-to-USB/FTDI adapter in this case!
Known Issues: When the connection is closed by the GCS then the ground-ESP32 has to be rebooted so the GCS can open another connection to the ESP32. The reason for that is that the DTS & RTS lane of the USB is set to low when disconnection happens. This will set the ESP32 into download mode preventing a proper restart of the firmware. This could be fixed by the GCS however, it is not implemented.
To enable flow control you must wire two additional lines RTS and CTS. They cross over just like TX & RX. Any pin of the ESP32 (except for the TX & RX marked pins) can be used for RTS and CTS. Just choose one and make sure your board manufacturer did not connect it to the internal flash or USB port. For the XIAO ESP32C3 board, this means: Do not choose D6 or D7.