As it turns out the three speeds for DSHOT culminating in DSHOT 600 (more info in a prior post here) is not the end of it. A new speed has been added to the DSHOT list in the latest release candidates for Betaflight 3.1. It is now twice as fast as DSHOT 600, and so has been aptly named DSHOT 1200. The digital shot speeds are named after the bitrate, so increasing numbers means faster transmission speeds, and ultimately lower latency.

With DSHOT 600 it was theoretically possible to run 32khz motor updates, however the timing was exceptionally close and so the slower ESCs would have been overwhelmed and not able to process the incoming frame before the next one arrived. As an idea 32khz is once every 31.25 microseconds. At 26 microseconds for DSHOT 600, there is only circa 5.25 microseconds between the end of the last frame and the beginning of the next. It should be noted though that those ESCs that struggled with DSHOT 600 will not likely be able to process DSHOT 1200, as it is just that much faster. So at this stage it looks like DSHOT 1200 will be limited to ESCs that have a reasonably fast processor, e.g. STM32F0.

The increase in speed though does mean that 32khz motor updates are easily possible for those ESCs that support it. Currently this has been flight tested successfully with KISS24A. So future updates of other very fast ESCs will likely see the new DSHOT speed adopted as has already been done by the KISS development team.

Twice as fast
So besides the 32khz motor updates, just how fast is DSHOT 1200 compared to existing protocols. If you recall Multishot, previously the fastest, has a full throttle timing of 25 microseconds, however it is variable timing so a mid-throttle position will give a timing of 15 microseconds. In the air this means that, unless your quad is falling, your updates to ESCs will be in the range of 15 microseconds to 25 microseconds.

DSHOT on the other hand is digital and so has a fixed length to transmit both 0% throttle and 100% throttle. DSHOT 1200 hums along at a blistering 13 microseconds to send its frame.

dshot1200-chart

The benefits
So:

  • not only is DSHOT more accurate – its resolution is very precise, including circa 2000 possible throttle steps (exceeding most ESCs available resolution),
  • not only can DSHOT detect an error – a CRC is built into the protocol allowing an ESC to reject invalid frames,
  • not only does DSHOT have the ability to request an ESC to send telemetry sensor data back to the flight controller (via an alternate serial channel for example),
  • it is now arguably the fastest protocol available.

NOTE: There has been some conjecture by contrarians out there that this extra fast speed for DSHOT has been implemented to improve KISS ESC market share. Whilst KISS is indeed the first known successfully tested ESC with DSHOT 1200, there is no reason any ESCs with reasonably fast processors could not support this. Any ESC based on the tried and proven STM32F051 should be able to run this speed without any difficulty. There are plenty of variants of those 32 bit ESCs out there, and if those manufacturers would like to get in touch with the Betaflight team to test / discuss DSHOT 1200 – please do.

4 thoughts on “DSHOT 1200 – taking it to another level

  1. are you saying something like this could run blheli_s and dshot1200?

  2. is there a point in using dshot 1200 when the gyro is only capable of running at 8khz?

    1. Absolutely. Lower time taken to send the motor values to the ESCs. Reduces the latency – every bit counts.

Leave a Reply

Your email address will not be published. Required fields are marked *