Zumo robot with mismatched motors!

Good day,
could you helpl me with one issue please?
in 2016 I bought a Zumo Robot for Arduino kit v. 1.2 (assembled with 75:1 HP Motors) in one of the Australian online shops.
Just after receiving the item I noticed that one of the motors is relatively faster than the other one.
I didn’t pay much attention to it as I could compensate the speed difference programmatically.
Unfortunately, yesterday the “slower motor” died and I opened Zumo for the motor replacement.
I was surprised that instead of claimed HP 75:1 motors there are absolutely different ones:

  1. 163F8X - 10:1 Micro Metal Gearmotor HP 6V;
  2. 163E2L - 30:1 Micro Metal Gearmotor LP 6V.

It means my Zumo was sold with wrong motors! How can you comment this problem and advise what I should do?
Any pictures (including the original box) can be provided if required.

Thank you.

Hello, Alexius.

I am sorry one of your Zumo’s motors has stopped working. I am confused about your conclusion that your Zumo has mismatched motors, though. How did you determine that those motors are 10:1 HP and 30:1 LP?

If you are just basing it on the codes on the motors (rather than something like empirical measurements), please note that the codes on the motors don’t tell you anything about the gear ratio since we use the same motors with many different gearboxes, and both codes you listed would correspond to 6V HP motors if they were really from us. Furthermore, if the motors were as you say, neither would have had enough torque to make a Zumo move (and even if you could surmount that hurdle, the differences between motors would be much too great to compensate for in software).


Hi Derrill,
thank you very much for your reply.
Yes, I’m based on the motor codes (163F8X, 163E2L) and like I said, it was noticeable from the beginning that one motor is faster than another.
Also, the reason why I think that the motors are like I specified (10:1 HP and 30:1 LP) is because if you type these motor codes in Google the first links you get will be on your site which declares that the motors are not HP 75:1.
Sorry if I confused you, but I’m confused myself also.
Thank you.

1 Like

I also noticed those results come up when I did a Google search. I can assure you that those codes don’t actually correspond to those motors, however, and as you can see, we don’t have them written anywhere on those pages, so I have no idea how Google is coming up with those search results.

It is normal for the speed of a brushed DC motor to vary from unit to unit, and unless you carefully select well matched motors from a larger pool, you will almost always need to compensate for this difference in software (either through empirically derived calibration factors or through closed-loop feedback) if you want your differential-drive robot to be able to go straight. Did you characterize how different the speeds were? For example, what speeds would you need to set in your programs to get the Zumo to drive straight at full speed?


basically I did this:
int leftMotor = map(y.toInt(), 0, 1024, 400, -400);
int rightMotor = map(y.toInt(), 0, 1024, 340, -340); // to compensate the speed difference
That means I slowed down the right motor up to 15% to make my Zumo go straight.

Thank you for the additional information. That amount of variation is on the higher end of normal, but it is still consistent with potential unit-to-unit variation, which can typically be as much as ±10% (the speed difference would be much more pronounced if your motors had different windings or gearboxes, and you would also notice significant differences in things like torque and acceleration).


Ok, I’m going to buy a new HP 75:1 motor (https://core-electronics.com.au/75-1-micro-metal-gearmotor-hp.html?utm_source=google_shopping&gclid=Cj0KCQjwhoLWBRD9ARIsADIRaxTZvqkk9LGoPos8CqYgKh1N5-QT30qSdhHZXv8FCQdttI4RHm-57ZcaAkUzEALw_wcB) and really want to see how much different the motors will be.