For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration

This page applies only to the Drone Light Show Edition (DLSE) of DroneBridge for ESP32. The sections below mirror the current DLSE web interface and focus on the settings that are actually exposed to operators.

Access and Configuration Methods

DLSE can currently be configured in three ways:

  • Web interface - the main and recommended way for setup, inspection, import/export, and day-to-day changes

  • REST API / JSON - useful for automation and fleet tooling, for example through the Commercial Support Suite

  • MAVLink parameter protocol - useful from a GCS, but limited to non-string parameters

The web interface also supports Export Settings and Import Settings, which is helpful when you want to replicate one working setup across multiple ESP32 modules.

Web Interface

In normal setup, connect to the ESP32 over Wi-Fi and open the configuration page in a browser at http://192.168.2.1.

The exact Wi-Fi network name depends on the active mode and your saved settings:

  • In Wi-Fi Access Point Mode, the ESP32 uses its configured AP SSID

  • In Wi-Fi Client Mode, the ESP32 joins your existing show network

  • If client-mode connection fails long enough, DLSE can open a failsafe AP using the configured hostname as SSID and the AP password

MAVLink parameter access does not cover string parameters such as SSIDs, passwords, IP strings, or hostname. Use the web interface or REST API for those.

Wi-Fi

DLSE only exposes two radio modes in the current UI:

  • 1 = Wi-Fi Access Point Mode

  • 2 = Wi-Fi Client Mode

For real drone-show deployments, Wi-Fi Client Mode is usually the production mode because the ESP32 joins the show access point directly. Wi-Fi Access Point Mode is mainly useful for bench setup, troubleshooting, and fallback access.

Wi-Fi Parameters

Parameter
Purpose
Default
Description / Notes

esp32_mode

ESP32 mode

1

1 = Wi-Fi Access Point Mode, 2 = Wi-Fi Client Mode. In DLSE, mode changes are stored and become active after reboot.

ssid_ap

SSID ESP32 Access Point

DroneBridge for ESP32

Name of the AP created by the ESP32 in AP mode.

wifi_pass_ap

Password ESP32 Access Point

dronebridge

Password for AP mode and also for the failsafe AP. String parameter, so not available through MAVLink parameter protocol.

wifi_chan

AP Wi-Fi channel

6

Used when the ESP32 hosts its own access point. Valid range in firmware: 1-165. In practice, the current UI offers channels 1-13.

ap_ip

Gateway IP address

192.168.2.1

IPv4 address used by the ESP32 in AP mode.

ssid

Client-mode SSID

DroneBridge for ESP32

SSID of the show network or other external AP the ESP32 shall join in Wi-Fi Client Mode.

wifi_pass

Client-mode password

dronebridge

Password of the external AP in Wi-Fi Client Mode.

wifi_en_gn

802.11b/g/n/ac/ax support

0

When disabled, DLSE stays on 802.11b-only client behavior, which is usually preferable for range-focused telemetry links. Enable only when your infrastructure requires broader PHY support.

ip_sta

Static IP address

empty

Optional static IP for Wi-Fi Client Mode. Leave empty for DHCP.

ip_sta_gw

Static IP gateway

empty

Required together with ip_sta when using a static IP.

ip_sta_netmsk

Static IP netmask

empty

Required together with ip_sta when using a static IP.

wifi_hostname

Hostname

firmware-build dependent

Default comes from the firmware build configuration. In the current DLSE defaults it is typically DroneBridgeDLSE. This hostname is also used as the SSID for the failsafe AP.

If you enable SYS ID based on IP later on this page, it is highly recommended to also use a static IP so the MAVLink SYS ID does not change unexpectedly between boots.

Antenna Configuration

The current DLSE UI supports choosing the default antenna path or switching to a secondary external antenna through an RF switch. Treat these settings as hardware-integration parameters: only change them if your PCB and RF front end are designed for it.

Parameter
Purpose
Default
Description / Notes

radio_ant_selec

Antenna selection

0

0 = default antenna, 1 = secondary antenna. The firmware also defines 2 for diversity, but that is not exposed as a normal operator option in the current DLSE UI.

radio_ant_en

GPIO to enable external RF switch

0

Optional GPIO used to enable the external RF switch circuit. Keep at 0 if your hardware does not require it.

radio_ant_sw

GPIO used to control external RF switch

0

Optional GPIO that selects the secondary antenna path on supported hardware.

Drone Light Show Settings

These settings control how DLSE integrates into a show network, how it exposes itself to the GCS, and how it behaves when no explicit UDP client is known yet.

DLSE Network and GCS Behavior

Parameter
Purpose
Default
Description / Notes

wifi_dis_udpdet

Disable UDP client auto detection

0

When enabled, DLSE stops auto-registering UDP clients that send traffic to the ESP32. Only manually managed targets are then served.

wifi_brcst_nudp

Broadcast if no client is known

1

If no UDP client is known, DLSE broadcasts MAVLink traffic to help the GCS auto-detect the device. This is useful for Skybrush-style workflows.

udp_local_port

Local UDP port

14555

Local UDP port used by the ESP32 for UDP traffic. This differs from some older internal documentation; the current firmware default is 14555.

wifi_brcst_port

Remote broadcast UDP port

14550

Remote UDP port on the GCS side used for broadcast discovery traffic when no UDP client is known. The current firmware default is 14550.

show_ap_fail_to

Failsafe AP spawn timeout [ms]

90000

How long DLSE waits in Wi-Fi Client Mode before opening its own failsafe AP. Set to 0 to wait indefinitely and never fall back to a failsafe AP.

rep_rssi_dbm

Report RSSI in dBm

1

When enabled, DLSE reports RSSI in dBm. Disable if your GCS expects a 0-100 style RSSI scale instead.

show_pm_en_hb

ESP32 emits heartbeats

0

When enabled, DLSE emits heartbeats so the GCS can detect the ESP32 more easily as a MAVLink component. The current firmware default is 0, even though older spreadsheets listed it as enabled by default.

show_en_syid_ip

MAVLink SYS ID based on local IP

1

When enabled, DLSE derives its MAVLink system ID from the last octet of its local IP. This is useful for fleets that already assign drone IDs through static IP planning.

show_man_sysid

Manual ESP32 MAVLink SYS ID

1

Manual system ID used only when show_en_syid_ip is disabled.

The UI lets you add or clear UDP clients at runtime.

Power Management

DLSE can control an external power-management circuit connected to the ESP32. This is one of the most safety-sensitive parts of the configuration, because it directly affects whether the flight controller can be powered on or off remotely.

The exact default values for some power-management parameters depend on the firmware build and target hardware configuration. That is why you may see different defaults in internal spreadsheets or preconfigured builds.

Parameter
Purpose
Default
Description / Notes

show_pm_en

Enable ESP32 based Power Management

build dependent

Enables remote power-management behavior. In the current default DLSE build this is enabled, but treat it as hardware-profile dependent.

show_pm_gpio

Power Control GPIO

build dependent

GPIO used to drive the external power-control circuit.

show_pm_logic

Power Control Logic

0

0 = active low, 1 = active high.

show_pm_pulse_l

Power Control Pulse Length [ms]

build dependent

Set to 0 for a static level. Use a non-zero value if your hardware expects a pulse that toggles power.

show_pm_qu_gpio

Power State Query GPIO

build dependent

Optional GPIO used to detect whether the flight controller is powered. If set to 0, DLSE can derive state from MAVLink traffic instead.

show_pm_en_emcy

Allow emergency power off

0

Disables the normal "is-armed" safety check before power-off. Only enable this if you fully understand the consequences.

If you use telemetry-based power-state detection instead of a dedicated query GPIO, DLSE needs MAVLink parsing. In transparent serial mode, the armed state is otherwise unknown.

Battery Monitor

The current DLSE UI can expose battery voltage and current measured by ESP32 ADC inputs. These are optional hardware-integration features and require a correct analog frontend on your board.

Parameter
Purpose
Default
Description / Notes

adc_v_en

Monitor Battery Voltage

0

Enables voltage monitoring through an ADC-capable ESP32 pin.

adc_v_gpio

Battery Voltage Monitor GPIO

0

ADC-capable GPIO connected to the stepped-down battery voltage.

adc_v_multi

ADC Voltage Multiplier

110

Voltage calibration factor. The internal documentation describes this as a value scaled by 10, so 110 corresponds to a divider factor of 11. Match it to your hardware and to the flight-controller-side voltage calibration.

adc_a_en

Monitor Battery Current

0

Enables current monitoring through an ADC-capable ESP32 pin.

adc_a_gpio

Battery Current Monitor GPIO

0

ADC-capable GPIO used for current sensing.

adc_a_multi

ADC Current Multiplier [mA/V]

36364

Current calibration factor in mA per volt measured at the ESP32 ADC input. Align it with your current-sense circuit and the corresponding ArduPilot current calibration.

Use the same calibration basis as your flight controller. For ArduPilot-based systems, the internal parameter notes explicitly point to BATT_VOLT_MULT and BATT_AMP_PERVLT as the matching reference values.

Serial

These settings control the UART connection between the ESP32 and the flight controller.

Parameter
Purpose
Default
Description / Notes

gpio_tx

UART TX GPIO

build dependent

TX pin used by the ESP32 UART.

gpio_rx

UART RX GPIO

build dependent

RX pin used by the ESP32 UART.

gpio_rts

UART RTS GPIO

build dependent

Set equal to CTS to effectively disable hardware flow control.

gpio_cts

UART CTS GPIO

build dependent

Set equal to RTS to effectively disable hardware flow control.

rts_thresh

UART RTS threshold

127

Hardware flow-control threshold. Valid range in firmware: 1-127. Usually best left at the default.

proto

UART serial protocol

4

4 = MAVLink, 5 = Transparent. MAVLink mode is required for DLSE-specific component behavior such as parameter access and telemetry-aware logic.

baud

UART baud

build dependent

Valid firmware range: 1200-5000000. Must match the flight controller UART configuration.

trans_pack_size

Maximum packet size

576

Maximum over-the-air packet size used by the serial transport. Valid firmware range: 16-1056.

serial_timeout

Serial read timeout [ms]

50

Maximum wait time before sending a partially filled packet. The current firmware default is 50, even though the current UI HTML still shows a placeholder value of 20.

Practical Recommendations

  • For actual show operation, prefer Wi-Fi Client Mode with a planned static IP scheme.

  • If you use SYS ID based on IP, keep the IP static and aligned with the vehicle ID strategy in Skybrush or your flight-controller configuration.

  • Leave UDP auto-detection and broadcast if no client is known enabled unless your network design requires explicit manual targets only.

  • Treat power-management and battery-monitor settings as hardware-integration parameters, not generic software toggles.

  • If something stops working after a network change, a failsafe AP may be your easiest recovery path.

Last updated