USB joystick control with 0 THROTTLE at Down NOT center


I am using mission planner to control a hexacopter. The USB joystick i use for MP is not a commercial USB gamepad BUT a modified HK-T6A rc transmitter case… with an embedded arduino leonardo that works as usb gamepad. In this way i have the same feeling as i use my traditional RC transmitter.

All works ok except THROTTLE. My usb controller has not spring centered throttle. This means that zero throttle is way down and not the center of the axis (as happens in gamepads). Mission planner in the USB joystick function starts to increase throttle only if the stick is above center (and from center to down throttle is zero). This situation reduces too much the working range i have to control throttle and make flying more difficult.

I have searched alot in forum and Google and i can’t find a way to configure MP to use as throttle - zero position the down point and not the center.

FINAL QUESTION: Is it possible to configure MP where throttle starts (down or center)? or is only center by default?

thank you very much for your time.


I would rather adjust it in the arduino code. Normal joysticks outputs 0-1024 on y axis, where 0 is full down. If your arduino sends such data then MP will work just fine.

thanks for your answer. my code sends data for each axis in full scale… from bottom down to full up. The same happens for throttle. When i check the output through various joystick test programs, the zero throttle is down and in center i have 50%. HOWEVER inside joystick panel of Mission Planner, the MP ignores all positions from center to down and starts to send throttle when the stick is positioned above center. OK this is made to overcome the problem of the USB gamepads where the mini joysticks have strings and return to center BUT my controller doesn’t have string in throttle axis and i want to start thr.
from bottom down, is it possible???

Did you do a joy calibration in windows ?

yes, its not problem of windows or the controller. its Mission Planner that sends throttle to the copter ONLY from center to up position of the stick… because it ASSUMES that you have connected a usb gamepad that has joystick with strings that returns in idle position all axis to the center. The problem is that my controller is not a trivial usb gamepad. the throttle axis does not have string and doesn’t auto return to center… you set it and leave it wherever you want.

I don’t think so. I tested a normal joystick and had no problem to assign axis Y to throttle. And it was worked as it supposed to, full down zero throttle full up full throttle, and I has a spring return.
Mission planner has nothing to do with you stick spring center. As long as you got a non negative value for lowest) Did you test the calibration in windows and checked raw values ?
Do you have link to the Arduino code that you use ? Do you set the axis range on the throttle correctly (0 min and 1023 max ?) (Most of the examples of the arduino libraries i saw set the axis range to -127 to +127 which is wrong)

So in the joystick panel on mission planner, do you see changing values for joystick input when moving the throttle axis from 0 - 50% range?

If not then i would be looking at arduino or tx, not mp.

yes it changes.
Here is a small test program I wrote a while ago, just run it and see if the axis that you move is changing. And the value is between 65535 and 0 (These are the values that SharpDX library gives back to Mission Planner).

thank you for your time to answer. I made tests with the arduino code with limits from (-) to (+) and from (0) to (+) and made no difference. Of course after each code change and upload… i made new calibration and test in Mission Planner.


  • When i test the custom usb joystick with the MP NOT CONNECTED with the copter (via usb or telemetry) the throttle (on the joystick window) starts with zero at bottom down. this is what i see in the green bars…

  • When i connect the MP to the copter via usb or telemetry and after all parameters have been downloaded to the MP, THEN the throttle remains zero from bottom down until the center and then increases from center to full up.

how can i explain this?? is it any parameter stored in the flight controller firmware that affects how MP will work the throttle (zero at bottom down OR center) ?

whats is your rc3_trim value set to?