DSHOT on Mbed


Implementation of DSHOT ESC Protocol on the MBed using DMA


Sending DSHOT Messages

  • DSHOT frame is 2 bytes
    • Throttle level, 11 bits
    • Telemetry Request, 1 bit
    • CRC, 4 bits


DSHOT Protocol

DSHOT protocols runs at several different baud rates:

  • DSHOT150 - 150k baud
  • DSHOT300 - 300k baud
  • DSHOT600 - 600k baud
  • DSHOT1200 - 1200k baud

1's and 0's are generated through different high signal pulse widths. Where 1 and 0 is represented by a 74.850% and 37.425% duty cycle respectively.


Arming the ESC

To arm the ESC, send a throttle command. Then a throttle of zero. 600

Import libraryDSHOT150

DSHOT150 algorithm using digital IO pins on the LPC-1768

Useful Links

2 comments on DSHOT on Mbed:

01 Jul 2020

Is this dshot frame supposed to be sent continuously or with pauses between them?

It there start/stop bit or something?

how the receiving part is supposed to distinguish between dshot frames?

02 Oct 2020

Hi! I know this is an old post but I think this will help :)


Please log in to post comments.