Thread Tools
Old Oct 10, 2016, 05:33 AM
juuuut is offline
Find More Posts by juuuut
Registered User
Discussion

Dshot, testing a new digital parallel ESC throttle signal


Hi,

as some might have seen in the kiss24A thread, we are testing a new digital ESC throttle signal

i use the STM32's DMA (direct memory access) controller to let the PWM timers send a 16-bit digital signal to the ESC. on the ESC side (kiss24A) the signal gets also read using DMA. like this there is almost no extra MCU power needed on the FC or the ESC.

the protocol we use ATM. sends a 11-bit throttle value (2048 steps) and a 4-bit CRC to verify its correctness. there is also one bit used to request the telemetry from one ESC.

here a oscilloscope pic of how it lookes:


the signal is sent individually on each PWM pin. it uses 600k bit rate and takes 26,7ÁS for one transmission like this a theoretical max loop time of 33khz would bepossible (as there need to be a space between) but im almost sure we will never need that

advantages compared to the most used analog signals like PWM as also oneshot125 or 42 are:
- no signal jitter.. if the FC sends 1375 the ESC will receive 1375
- high resolution (2048steps)
- no oscillator drift (nomore calibrateing ESC's)
- more robust against spikes
- safer as every singnal has a CRC (cyclic redundancy check)
- maybe later some goodies like having the ESC's beep with the buzzer signal or things like that

another good thing is that a change from PWM or oneshot PWM to this will only require new software (at last for KISSFC+KISS24A users). as the same wires and pins are used.

i can't really tell if it will improve the flight feeling or not.. a good working oneshot125 is quite accurate and fast too. so the "real world"
improvement might be more things like that it dont drifts and will be saver..

i did all this in cooperation with borisb (betaflight) they have it working (14.10.16)(https://github.com/betaflight/betaflight/pull/1282)



Update: some more info to Dshot can be found in the folowing links

http://kiss.flyduino.net/dshot-new-d...ocol-for-kiss/ (for the KISS24A and the KISSFC)

some blog posts:


more technical infos from blckmn, he worked since the start on the betaflight Dshot support:
https://blck.mn/2016/11/dshot-the-new-kid-on-the-block

mor generell:
http://blog.seidel-philipp.de/dshot-digital-esc-signal/




also if you like to try it:
be aware that it is not much tested! and we might change the protocoll untill the final release so there is no guarantee that the ESC FW will work with later versions of the FC's Dshot version.
i attached a GUI as we currently often change things during dev. the attached version will work with the Dshot FC FW.
the ESC FW can only be flashed onto the KISSESC bootloader using the GUI or my little standalone chrome app(kiss24A FW version 1.02 or later)
also just try it on your own risk!
of course every report will help

quadmovr successful flown it
warpquad230 f60 2450kv 5x4x3 dps hqprop kiss esc 24a kiss fc dshot 4s1550 75c (2 min 36 sec)



i will update this post when we have news .



regards

Felix

Update, and clean up from previous updates

T10 is now close to how it should be (the T10 ESC FW has no functional changes to T91 just the settings and beep is new).
the working GUI for the KISS FC T10 FW is still the attached T8 GUI

what do we have ATM (28.10.2016)

KISS24A ESC's (FW T10):
- PWM, Oneshot125, Oneshot42 and Dshot autodetect
- Dshot bitrate autodetect (100-1200khz)
- version T91 was tested succesfully (before we had some motor stops) (T10 is similar from the Dshot reading side)
- it now also accepts some settings and answers requests over Dshot:
request area is 1-47
the kiss24A uses 1-13 from it
1-5: beep (1= low freq. 5 = high freq.)
6: ESC info request (FW Version and SN sent over the tlm wire)
7: rotate in one direction
8: rotate in the other direction
9: 3d mode off
10: 3d mode on (3d mode dont workes with Dshot ATM)
11: ESC settings request (saved settings over the TLM wire) (planed but not there yet)
12: save Settings

if a setting or request value is sent, the motor must be standing still and the telemetry bit must also be 1.
critical things like rotation direction change, 3d mode on/off and save and reset, must be sent 10x in a row, and only take effect after save and reset.

KISSFC (T10)
- does Dshot150, Dshot300 and Dshot600 for the first four motor outputs
- the ESC version reading workes now with Dshot(T10)
- the FC can make the ESC's beep (will be used for buzzer/ beacon in future) now it just beeps _- _-- after gyro is calibrated removed in T10.1

betaflight
also is working on the support for more targets..
(betaflight Dshot wiki https://github.com/betaflight/betafl...%20and%20Dshot)

BLheli
workes now also with Dshot on the most BB2 ESC's
BLheli test Hex files: https://github.com/bitdump/BLHeli/tr...eli_S%20SiLabs

overall does all of this needs much more testing to find problems that might remain. at this point i want to thank all testers for risking their quads just to help developing this faster

but still, be very carefull when using these test versions.. this thread exists because things are not save for now.. only use it if you like to try new things and know that it might damage your stuff..

Update T10.4 and T10.7xx(FC FW only).
T10.4 seems to be stable from the Dshot side
T10.7xx is the same Dshot code as T10.4, but its filters are improved to work better with some quads.
for now the filters in 10.7xx dont seem to have any disadvantages so i would suggest to go with it







just for all that might cry now: why not using CAN BUS?
1. because the most low cost MCU's mostly used on ESC's dont have can
2. every ESC will need to have one additional tranceiver IC
3. to come to the same speed you would need to have CAN working at 2.4Mbit (4x600k).. eaven faster as you will have to send adresses
4. CAN is a serial network where you need ID's on every ESC
Last edited by juuuut; Dec 16, 2016 at 03:31 AM.
Sign up now
to remove ads between posts
Old Oct 10, 2016, 05:53 AM
Hanni1312 is offline
Find More Posts by Hanni1312
Team WarpSquad
Good time to update my Kiss24 ESCs now. I give it try. Cant hurt to help with the development of new stuff.
Old Oct 10, 2016, 05:58 AM
Boris B is online now
Find More Posts by Boris B
Registered User
Boris B's Avatar
Epic finally going digital! Goodbye old analog communication

There are so many new options opening now with this form of communication.
Old Oct 10, 2016, 06:08 AM
Final Glide is offline
Find More Posts by Final Glide
Team Warpsquad
Final Glide's Avatar
Soooooo I can talk about it now?????
Old Oct 10, 2016, 06:23 AM
CoolD is online now
Find More Posts by CoolD
Registered User
Sweet. Now do the silabs Mcu used by blheli support DMA ?
Old Oct 10, 2016, 06:25 AM
DRONE LEGION is offline
Find More Posts by DRONE LEGION
Subscribe join the LEGION!
DRONE LEGION's Avatar
Quote:
Originally Posted by Final Glide View Post
Soooooo I can talk about it now?????
So thats why your ESCs sounded different...?

Can we update, or hold our pants...?
Old Oct 10, 2016, 06:53 AM
Adamtfc is offline
Find More Posts by Adamtfc
Registered User
Will this be compatible with blheli_s / F3 flight controllers eventually by any chance?
Old Oct 10, 2016, 07:09 AM
juuuut is offline
Find More Posts by juuuut
Registered User
Quote:
Originally Posted by Final Glide View Post
Soooooo I can talk about it now?????
for sure


Quote:
Originally Posted by CoolD View Post
Sweet. Now do the silabs Mcu used by blheli support DMA ?
i dont know much abaut these silabs MCU's .. their core is quite old .. but they seem to refresh them from time to time .. maybe they spend it a DMA

Quote:
Originally Posted by DRONE LEGION View Post
So thats why your ESCs sounded different...?

Can we update, or hold our pants...?
if you like to try new things and be ok with the risk of having a failure that is unknowen for now, feel free!

Quote:
Originally Posted by Adamtfc View Post
Will this be compatible with blheli_s / F3 flight controllers eventually by any chance?
F3 MCU's work for sure! but the DMA channels must fit to the PWM pins so there might be layouts that wont work well.

i cant tell if blheli will, or is able to support it...


regards

Felix
Old Oct 10, 2016, 07:23 AM
DRONE LEGION is offline
Find More Posts by DRONE LEGION
Subscribe join the LEGION!
DRONE LEGION's Avatar
Pants on for now... ive been having too many failures lately!
Thanks for your reply and keep the ideas flowing...
Old Oct 10, 2016, 08:19 AM
downloader9 is online now
Find More Posts by downloader9
Registered User
Kiss always on the front.
Old Oct 10, 2016, 08:47 AM
sorich is offline
Find More Posts by sorich
Registered User
This sounds awesome......
Old Oct 10, 2016, 08:52 AM
skullq is offline
Find More Posts by skullq
Registered User
V-good firefly also stm32 based ESC. Do you have any plan to porting DShot into V-good firefly ESC?
Both ESCs are exactly same ARM Cortex STM32F051 microcontroller. ;-)
Last edited by skullq; Oct 10, 2016 at 09:50 AM.
Old Oct 10, 2016, 10:31 AM
Motard Geek is offline
Find More Posts by Motard Geek
Registered User
Quote:
Originally Posted by juuuut View Post
also if you like to try it:
be aware that it is not much tested! and we might change the protocoll untill the final release so there is no guarantee that the ESC FW will work with later versions of the FC's Dshot version.
i attached a GUI as we currently often change things during dev. the attached version will work with the Dshot FC FW.
the ESC FW can only be flashed onto the KISSESC bootloader using the GUI or my little standalone chrome app(kiss24A FW version 1.02 or later)
also just try it on your own risk!
I guess it's reversible, can downgrade back to RC29 + 1.03h in case of problem ?

As I understand it, I just have to flash FC and ESC with the GUI provided to give a try ?

Anyway, thank you for the work
Old Oct 10, 2016, 11:02 AM
ronnw is offline
Find More Posts by ronnw
Registered User
Ok cool, I was hoping that another thread would open up about this. Good job guys!

@Final Glide So how has your testing gone so far? What was your initial reaction after updating? Or is it too early to tell? Appreciate any incite you might have so far for us...
Old Oct 10, 2016, 11:05 AM
juuuut is offline
Find More Posts by juuuut
Registered User
Quote:
Originally Posted by skullq View Post
V-good firefly also stm32 based ESC. Do you have any plan to porting DShot into V-good firefly ESC?
Both ESCs are exactly same ARM Cortex STM32F051 microcontroller. ;-)
in theory they should be able to support it.. but we dont have plans to support them with the kissESC FW..

Quote:
Originally Posted by Motard Geek View Post
I guess it's reversible, can downgrade back to RC29 + 1.03h in case of problem ?

As I understand it, I just have to flash FC and ESC with the GUI provided to give a try ?

Anyway, thank you for the work
you can flash everything back to what you like.. for sure!


regards

Felix


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Question kk2.1 In the receiver test it only shows throttle as no signal prc.aae Multirotor Talk 0 Apr 08, 2014 01:05 AM
Discussion esc goes full throttle when signal lost Brother Bob Power Systems 0 May 18, 2013 01:06 AM
Help! ESC does not respond to throttle signal in programming mode roshanrevankar Power Systems 8 Jan 09, 2013 10:39 PM
Question Getting throttle signal to the ESC? dave440c Electric Plane Talk 11 Mar 03, 2011 08:23 AM
zero throttle signal(to the esc). Gigaah Power Systems 7 Jan 22, 2004 01:43 PM