Wheel encoder on APM, PixFalcon and Mini Pixhawk


I’m very new in Ardurover, but have some experiments in Arducopter with APM and Pixhawk.

My problem is very simple : i would like to have live information about the distance the rover does with no GPS.
I’m using a 6x6 Wild Thumper underground for photos shooting and inspection.

  • The Wheel encoder guide of Ardurover explains how to connect to a Pixhawk on the AUX output (http://ardupilot.org/copter/docs/common-wheel-encoder.html ).
    On APM, there is no EKF, so the parameters to modify to use the Wheel encoder are not present… but I think we don’t need EKF to say how many rotations a Wheel made…?

  • On PixFalcon and Mini Pixhawk, there is no AUX output, so impossible to connect the two wheels encoders?

The only solution would be the “big” PixHawk and Dropix to use the EKF, and no way to connect encoder on APM to know the distance (without position)

Thanks for your response


By APM you are refering to APM 2.8 board right ? We don’t support this kind of board from long time, so you won’t be able to profit of recent developpement with it .

For now we only allow odometry on AUX Pins, so I assume that the only ones that get it are pixhawk size units … sorry

Just for information, what motor controler are you using on Wild Thumper ? A sabertooth ? We may add support for some rover controler, so that the odometry handling will be done by the motor controller, this could solve your problem.

Yes, APM 2.8 ok HKpilot 2.7 and micro HKpilots… I know they are discontinued, but the size is important!
Now, swhicthing to Pixhawk.

I’m using a SaberTooth 2x25A… but the wheel encoder cannot be connected to this controller, so I don’t know how you can get telemetry from the controller, except volts, intensity, steering or reverse mode?
What’s interesting (for me), is odometry, just the total distance of one (or two wheels)

The Roboclaw controllers have two encoder inputs.

There is an addon for the sabertooth available:


Very interesting!
To have a closed loop on the controller will help to control the motor by speed and not by power, great.

So one solution is Ardurover should now connect to the controller to get the wheel encoder with a mini Pixhawk or pixfalcon. Tis solutions won’t work now as Ardurover is not supporting Sabertooth with kangaroo or Roboclaw

Second working solution is Pixhawk with wheel encoders connected to AUX Output.
Is it possible to connect the wheel encoders to motor controller for speed control, AND the same wheel encoder to the pixhawk to get informations on distance?

How about this project? Named ArduRoller. It use arduino mega328 to connect the APM through the i2c bus. Arduino mega328 read the wheel encoder data, then send to APM. Like this:
Welcome to discuss it with me: ArduRoller - balanced car on pixhawk

1 Like


At the moment, Rover only uses the wheel encoders for estimating speed and position. It doesn’t directly use the encoders for controlling the speed of the wheels. I have a branch that I’m working on that adds that but it’s not complete yet. Still, for what I think you’re doing, the estimation part is the most important.

The motor controller boards can be connected to wheel encoders and they use that for control but I don’t know how the encoders could be connected to both the pixhawk and the motor controller boards. perhaps just split the cable. That’s a decent short-term solution until we add support for using the encoders for control… although like I said, I don’t think it’s as important as the estimation part that already works.