DSHOT on Mbed

Overview

Implementation of DSHOT ESC Protocol on the MBed using DMA

DSHOT

Sending DSHOT Messages

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

1200
/media/uploads/bwest32/dshot_packet2.png

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.

/media/uploads/bwest32/sequencing_chart.png

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 :)

https://reefwingrobotics.blogspot.com/2020/05/arduino-esc-tester-adding-dshot.html

Please log in to post comments.