Support for DShot and BLHeli ESC telemetry has been added to ArduPilot’s ChibiOS firmware and will be available to testers once Copter-3.6 and Plane-3.9 begin beta testing in a few weeks.
The DShot ESC protocol is a digital protocol for communication between a flight board and an ESC. The key advantages are:
no need to do any ESC throttle range calibration
all values sent to the ESC are protected with a 4 bit CRC to improve reliability
low latency, high bandwidth
ESC telemetry allows feedback from each ESC including:
RPM
voltage and current
temperature
total current consumed since power-up (could be more accurate that what the flight controller has)
BLHeli pass-through support allows configuring and upgrading the ESCs firmware without having to disconnect them from your vehicle. This can really save time and ensure all the ESCs are identically configured.
We suspect that a lot of users are going to move to BLHeli ESCs in the future and we have plans including increasing our main loop rates to take even more advantage of these ESCs.
That is going to be a real time saver. Plus all the telemetry coming from the esc allows for a better understanding of the vehicle’s performance. Thanks
Fnoop,
Copter-3.6 will default to NuttX in the mission planner (and probably other ground stations) but we will make both NuttX and ChibiOS available and we hope the beta testers will help us test both when testing start in the next few days.
I think for the moment at least the telemetry requires using dShot. The reason is that because the ESCs’ telemetry connections (which are serial) are all connected to a single serial port on the flight controller, we need to use the dShot connection to tell the ESC when the line is clear for them to send their message. If we didn’t do this then the messages from the ESCs could (and probably would) arrive at the same time and they would end up corrupted.
Nate, glad to see you are pursuing this. I just read your issue 8579 writeup. It implies that reverse throttle works as expected for non-dShot. Is that the case?
What are you doing/thinking re ESC telemetry display while in flight?
I think I tested reverse thrust on the bench and it worked well with PWM (continuous smooth throttle range). I haven’t flown with it yet, but I don’t anticipate any issues.
I would really like to see the percent throttle for every motor while in-flight. For my twin-engine planes, that would be a -100% to 100% range for each motor. That way I can monitor their health and tune.
support for realtime ESC telemetry is now in master. It is also in the latest releases of pymavlink and MAVProxy.
What we need next is a way to display it in MissionPlanner and QGC
I am using a pixracer and due to the need to run a second GPS on the Telem2 port, was trying to use the FRsky connector for the ESC telemetry connection, which according to this page http://ardupilot.org/copter/docs/common-pixracer-overview.html is serial 4, however this may not be the case as I am also not able to get that port to read a known working GPS receiver.