Serial Telemetry
The 4 ESCs on the nanoDRIVE 4LPi share a single telemetry line. Telemetry messages are sent as UART packets upon DShot request, these requests should be staggered to ensure only 1 ESC is using the telemetry line at a time.
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 ESC microcontroller. 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 | - |