I'm working with two budget SmartArduino 9V 25mm motors on a radio control tank project.

Motor-A has a problem in that the encoder wheel is situated laterally above the Hall sensors. Motor-A does not produce pulses on the hall sensors without intervention. MotorA encoder

Motor-B's encoder has a very small overlap with the hall sensors. Motor-B does produce pulses on the hall sensors as the motor is manually rotated. MotorB encoder

There is lengthwise play in the shaft on which Motor-A's encoder wheel is fixed. If I press down on the encoder wheel while manually rotating the motor, then the Motor-A does produce pulses on the hall sensors. Intervention

Q1: Is there an optimal position for the placement of the encoder wheel in relation to the hall sensors? I had assumed that they would have been more overlapping with the face of the encoder wheel.

Q2: Are you able to suggest a workaround or repair to correct the situation?

  • \$\begingroup\$ Looks like the PCB is attached to the motor by being soldered to the 2 tabs. I'd apply a soldering iron to reach one at a time to lift the PCB up slightly away from the motor. \$\endgroup\$
    – brhans
    Apr 30, 2021 at 4:56
  • \$\begingroup\$ What brhans says OR melt solder on hall cells and pull out slightly OR add iron or steel shims on top of hall cells. Or... \$\endgroup\$
    – Russell McMahon
    Apr 30, 2021 at 5:08
  • \$\begingroup\$ Push the magnet wheel down, so that its surface will overlap with the hall sensor surface as much as possible. \$\endgroup\$ Apr 30, 2021 at 8:04
  • \$\begingroup\$ @MarkoBuršič Yeah I had a look at that it seems to be quite firmly fixed and i wasn't sure how much force it can withstand. It seems to have hot glue fixing it, do you know if the heat gun will likely damage the magnetic wheel? \$\endgroup\$
    – RowanP
    Apr 30, 2021 at 8:38
  • \$\begingroup\$ I have no idea how it looks like. Maybe the PM ring is fitted/glued on top of the metal wheel which is screwed laterally on the shaft. You would need to find the separate mounting instructions for that type of encoder. The assembly was wrong, the guy had no idea how it should be done correctly. \$\endgroup\$ Apr 30, 2021 at 8:42

1 Answer 1



Once the board is soldered to the motor, the magnetic encoder disc can be pushed onto the motor shaft. One easy way to accomplish this is to press the motor onto the disc while it is sitting on a flat surface, pushing until the shaft makes contact with that surface.Pushing the disc a little closer to the PCB can ensure strong signal and good performance.

You could use a flat surface with a hole to push further or to put it on bench vise.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.