Motors not spinning on new build. Strange servo output values

Hello, I have built a new Hexa which refuses to spin its motors. In addition, I suspect the servo outputs are very suspicious. The hardware is a brand new Pixhawk Cube, flashed days ago with the latest stable. The vehicle has had its various sensor, RC, ESC calibration steps (many, many ESC calibrations, apparently successful).

Here is a link to a log I have uploaded to clarify what I have found.

The actions behind this log are as follows:

  1. Plug USB cable into Pixhawk, battery disconnected, RC off. Connect to QGroundControl.

  2. Plot an output Channel

Notice that the value is reported as 900 but nothing is plotted. Not sure if 900 is just a placeholder value.

  1. Plug in battery. ESCs beep typically (three short beeps in ascending pitch).

  2. Using QGC, running a motor test: press safety button, no response (button should be disabled by params). Move QGC safety slider (prints: “Careful: Motor sliders are enabled”). Moving sliders has no effect on motors. This action is captured in the uploaded log here:

  3. Battery disconnected.

  4. Again, plotting servo output in QGC, not much happening:

  1. Turning RC on. Servo output plotted by QGC goes into sawtooth pattern. Value printed on QGC flickers very rapidly between 900 and 1500:


    Notice that this sawtooth output is not present in the Actuator Output of the uploaded log.

  2. Moving throttle stick has no effect on this servo output.

  3. Plotting the RC throttle input shows realistic values, moving from ~990 when stick is down to ~2000 when stick is up as shown by this QGC plot:

  4. Now that the sawtooth pattern is reported by QGC (but not in the uploaded log), plugging in battery makes ESCs go into calibration mode, judging by the tones they play.

  5. The sawtooth pattern on output channel 3 does not go away after a software reboot. It only resets after resetting by disconnecting and reconnecting the USB.

  6. Finally, connecting an ESC directly to radio receiver works as expected, spinning the motor.

So, this is the problem more or less. QGC seems to report a sawtooth pattern that the log does not but judging by the behaviour of the ESCs, it seems that they see a high PWM so I assume the QGC report is correct. Apart from what I have described (which reflects the log I have uploaded), I have also tried arming and disarming, using both QGC and radio. The Pixhawk seems to think the arming is happening but the ESCs do not seem to agree.

One further thing to report is that, if plotting a servo channel in QGC when arming (for example, via RC), I see the sawtooth pattern but it responds to throttle stick only at one end. So, stick down shows 900-1500 sawtooth. As I increase, the 900 increases, e.g. 1100-1500, 1200-1500 etc. As I keep increasing, it passes the 1500 value and reverses, e.g. 1800-1500, 2000-1500. For some absolutely bizarre reason, it seems that a 1500 is thrown in between the actual stick input.

Any ideas?

Replying to answer my own question. It was human error. My ESCs are DShot capable so, when building, I had plugged them in to the AUX outputs according to the documentation here. However, when I got to flashing and configuring, I forgot about configuring for DShot via SYS_USE_IO.