Using hall sensors to calculate motor position

I am trying to make a servo out of a geared dc motor.

I have a geared DC motor with hall speed sensors. I want to count signals from the sensor to get position of the motor. Hall sensor has resolution of 12 CPR. Gear ratio is 1:810, which means that I don't really need very precise measurement to get close to the desired position.

But in reality it doesn't work. I run the motor at the same direction trying to get exactly 360 degrees. Sometimes I am close to the position I set, sometimes I am too far (like 300 degrees instead of 360).

The code is simple. I just attached the hall sensor to an interrupt pin and count raises of the signal, only an increment in the interrupt handler.

Has anybody tried that? Does anybody knows some obvious problem which causes me to fail such miserably?

Here is the motor I am using:

I have a geared DC motor with hall speed sensors.

A hall-effect sensor does NOT measure speed. It detects that there is, or is not, a magnet near enough to matter. From that, you can determine position, which, as it changes over time, gives the speed of the motor. The sensor does not do all that work, though.

Here is the motor I am using:

Useless. From that picture, we can only tell what color the motor is. Which doesn't matter in the least.

What does matter is voltage, amperage, torque, and wiring. Post a link, not a useless picture.

Does anybody knows some obvious problem which causes me to fail such miserably?

There are any number of possibilities. Post a schematic. Post the code. Guessing is for game shows, not programming.