Serial Telemetry
Serial telemetry has the following operating modes available:
- DShot/BiDirectional DShot: Sends a Serial ESC Telemetry packet on DShot request
- Periodic: Sends a UART packet (legacy format on firmware versions below 3.0.0) at the configured frequency (10 Hz default)
- RPM Output: Sends a pulse per eRPM
When operating with bidirectional DShot signalling the ESC will respond with the standard bidirectional DShot RPM telemetry. Details about bidirectional DShot can be found here.
Serial ESC Telemetry Format
This format is supported by most Betaflight and ArduPilot controllers. This format is sometimes referred to as the KISS Telemetry Format. Betaflight refers to this format as Serial ESC Telemetry, ArduPilot refers to this format as ESC Telemetry.
UART Port Settings
The settings applied to the UART connection that supplies the telemetry packet can be found below:
- Baud Rate: 115200 Baud
- Word Length: 8B
- Stop Bits: 1
- Parity: None
- No Flow Control
- Byte Order: Big-Endian
Packet Structure
The following packet is output at the configured rate (on firmware versions 3.0.0 and greater) or upon DShot request. No partial packets are transmitted.
Data Field | Size | Comments |
|---|---|---|
Temperature | Signed 8-bit Integer | The temperature of the 3-phase bridge. This is the primary heat source with the ESC. Units are in degrees Celcius. |
Bus Voltage | Unsigned 16-bit Integer | The measured input voltage to the ESC. Units are Volts * 100. |
Bus Current | Unsigned 16-bit Integer | The measured input current to the ESC. Units are Amps * 100. Negative values are truncated to 0. |
Consumption | Unsigned 16-bit Integer | Unused. Value fixed at 0. |
RPM | Unsigned 16-bit Integer | The electrical rpm of the motor, can be toggled to send mechanical rpm. Units are rpm / 100. |
Checksum (CRC8) | Unsigned 8-bit Integer | - |