Hoverboard motor hall sensor replacement

I have a couple Hoverboard (self-balancing scooter) motors that I’m intending to use for a project with an oDrive motor controller. One of the motors was causing an ERROR_ILLEGAL_HALL_STATE on the oDrive and after swapping the motor channels and some troubleshooting with a multimeter I had determined that 1 of the 3 internal hall-effect sensors was not functioning as expected.
Digi-Key has a nice article on how these hall sensors function in BLDC (Brushless DC) motors.

I disconnected the motor from the controller and hooked up a 5V bench supply to the positive and ground of the hall sensor cables. Then I connected a multimeter to ground and one of the 3 hall signal wires at a time. On the working sensors I could rotate the motor on the shaft and cause the multimeter reading to cycle between high and low. I disassembled the motor and determined that the wiring was fine but noticed that the internal resistance of the defective sensor was not the same as the working sensors.

I desoldered the defective sensor with some solder wick and then used some pliers to pull it out of the metal motor housing. It appears to have been held in place with Super Glue (cyanoacrylate) but it wasn’t too difficult to remove. Unfortunately I couldn’t see any markings on the sensor so I had to make some guesses as to what to replace it with.
I found a number of e-bike hub motor hall sensor replacement guides that mentioned using a Honeywell SS41 replacement. After reviewing the part dimensions in the datasheet and making some measurements of the sensor I removed, I thought it might be a good fit.

I ordered a handful of the Honeywell SS41 sensors from Digi-Key.

I added some heat shrink around each lead and bent them into shape. With a bit of effort I threaded the sensor into the motor housing and the leads into the PCB and soldered everything back together.

It worked!

If you’re not in a hurry you might be able to get a free sample directly from Honeywell.