Dshot—Digital ESC Signal
What is Dshot?
Felix Niessen from Flyduino is currently developing a new transmission protocol for ESC control. The new protocol is called Dshot and is the first digital transmission system for ESCs in the FPV racing area. The idea for the new protocol were developed in collaboration with borisb (betaflight). Felix is now developing the new protocol for the KISS FC in use with the KISS 24A ESCs. The digital protocol is almost as fast as Multishot V1, but in the case of Dshot it is also to a large extent about the advantages of a digital transmission mode with regard to failure safety and interference tolerance.
Advantages against Oneshot
- a theoretically 33 kHz looptime
- no signal fluctuations
- high resolution (2048 steps)
- ESC calibration is superfluous
- Signal disturbing voltage peaks are actively detected
- Secure transmission thanks to CRC checksum
How it works
99% of the ESCs available on the market used a SILABS or ATMEL processor. Not so the KISS 24A RE ESCs. A Cortex STM32F051 processor is installed on these ESCs. The STM32F051 has a DMA (Direct Memory Access) controller. With this controller, the KISS FC sends a digital signal to the DMA controller of the ESC. The communication takes place between two DMA controllers. This requires nearly no further computing power of the actual STM32 processor.
The new digital protocol sends a 16-bit-long data packet in a tact of 26.7 μs. It is composed as follows:
- 11 Bit—Throttle value with a resolution of 2048 steps
- 1 Bit—Telemetry request
- 4 Bit—CRC checksum (checks the correctness of the signal)
Currently, there are 3 levels for the transfer speed, which can be selected in the KISS GUI.
150 = 150,000 bits per second
300 = 300,000 bits per second
600 = 600,000 bits per second
In this table you will find a comparison of the speeds (gas stick to 100%) of different protocols.
Dshot mit Betaflight und BLHeli
Also for Betaflight there will probably be the protocol in the near future, because active support is also being given here.
Requirements for Betaflight
- at least one STM32 F3 or higher (F4 or F7)
- According to BorisB: OMNIBUS (blackbox disabled), OMNIBUSF4, BLUEJAYF4, REVO
Requirements for BLHeli
- at least BLHeli_S
- BusyBee2 (EFM8BB21F16) chip
Requirements for KISS
- KISS FC flight controller
- KISS 24A RE ESC with firmware v.1.02 or higher
- customized KISS GUI (Google Chrome extension)
- special KISS FC firmware
- special KISS 24A firmware
This article was translated by Daniel. Thank you for this! =)