I got the same issues that you guys have! Of course I was not expecting a precision instrument for 40$, but my old Garmin foodpod is much more accurate and in the same price range.
The Milestone is more a kind of cadence or “running technique” detector, because when running on the treadmill at constant speed and increasing cadence, the indicated speed will go up significantly. Even is cadence is almost contant and you change your body position ever so slightly or just the height of your backswinging foot, the speed will change!
As all the data just comes from an acceleration sensor, my old Garmin is of course also suscepticle to cadence changes (using the same technical principle), but the algorithms in that pod seem much better. The pace change will normally be around 10 seconds/km maximum! Whereas the Milestone will be up or down by 2km/h or even more!
I have calibrated so many times and even tried to calibrate with outdoor GPS data, but during intervals I’m still off by around 2km/h, which can be annoying, as it does matter whether you run 10x400m or 10x 460m!
The three step calibration also only works in one out of three times for me. Maybe because the sensed speed from the pod seems to be to low, even if the treadmill is set correctly?! If I do the intervals at 16,6km/h (about 5:47min/mile), the pod will indicate 14.5km/h (6:37min/mile). So during the third calibration interval I might often not be in the range, that the calibration will accept as coorrect and subsequently terminate the calibration process.
I have three possible solutions for this:
1.) Above a certain speed that is selected for calibration, it should not only be three steps, but four, five or even more (maybe even user selectable?!) to increase the range of calibrated speeds.
2.) If only using three steps during calibration, the “spread” of the three selected speeds should increase with the selection of the initial speed.
I.e when selecting 10 km/h, the calibration should be at 10, 8, and 12 km/h
When selecting 12km/h, speeds sould be 12, 8 and 15 km/h
Of course it is just meant as an example and not as exact figures…
And during this process, the range of speed, that is accepted as being correct, should be larger than it is up to date, avoiding nuisance calibration aborts.
3.) Maybe as a final (and golden) solution, the algorithms in the pod itself should be updated, so they are no longer as sensitive to cadence changes as they are right now.