The Wahoo Speed sensor doesn't use a magnet to count the RPM, it's a single-unit and "(...) a 3-axis accelerometer is used to determine the rotation of the hub and thus your speed" (source)

Wahoo RPM Sensor

Wahoo RPM Sensor installed

How does it derive the speed from RPM, given there's no need to input the wheel/tyre size at any point? As a matter of fact, I don't think there's even such option in the ELEMNT smartphone app.

Edit: After several people pointed it out I found the option to set the wheel size, which implies that "automatic" is the default. The question still stands: how does "automatic" work?

  • 6
    I can't find it referenced anywhere, but I believe it uses the gps of whatever it is connected to get a reference for the distance and then computes the wheel size from that. Once it has self calibrated, it can then much more precisely and quickly tell you your speed (while GPS has a significant lag, random variations, and is occasionally unusable) .
    – Jonathon
    Feb 28, 2018 at 11:53
  • 2
    Technically it could use accelerometer to do enough dead reckoning to calibrate wheel size, but GPS is much more plausible.
    – ojs
    Feb 28, 2018 at 12:01
  • 3
    The combination of forward motion of the bike and the rotation of the hub makes the sensor take a sort of "flat spiral" track through space. I guess that you can analyze the acceleration that results from that track and separate out the horizontal and rotational components of the motion, and the horizontal component is exactly the speed of the bike. Feb 28, 2018 at 15:30
  • 2
    The sensor has no need to know the wheel size. Both ANT+ and BTLE protocols the sensor only transmits the wheel revolution count and the time taken for the last revolution. The head unit converts this to speed and it's the head unit that need to know the wheel size. In practice the wahoo sensor has some filtering on the last revolution time calculation so it's not actually as responsive as the magnet based setups. I have an app trying to estimate the gear from the speed and cadence and it works far better with magnet based sensors.
    – Ifor
    Mar 3, 2018 at 17:19
  • I suspect the same as @DavidRicherby. For a given rotational acceleration, a small wheel would produce a small linear (forward) acceleration whereas a large diameter wheel will produce larger linear acceleration. My guess is that the software has a lookup table of rotational/linear accelerations and re calibrates itself on some preset interval.
    – Jahaziel
    Sep 16, 2020 at 23:14

2 Answers 2


They use a tiny MEMS gyroscope to measure RPM. These are solid state devices that can measure axial rotation so it can count how many rotations per minute the bike’s axle is rotating. The actual structure of the MEMS gyro is quite interesting (and different from a MEMS accelerometer)- there’s a good description on Wikipedia.

Because the gyro is measuring axle RPMs and not speed directly, it does somehow have to know the tire size so that it can convert RPMs to travel speed. See further discussion below.

mems devices

Many MEMS gyros are packaged with accelerometers (the combo gyro/accelerometer is called an IMU) and there are also some with compasses, some with barometer/altimeters, and some are in the same package as GPS sensors - although GPS uses much too much power for a tiny device that is operated by coin cell batteries, so the Wahoo most definitely does not have GPS built into the sensor. If all you’re measuring is speed and you already you know the tire circumference, then all you need is a basic gyro unit. However, IMUs have become really cheap due to their implementation in cell phones and they allow for more flexibility than gyros alone.

The OP clarified their device doesn’t need the wheel size so it’s either 1) using an IMU to analyze accelerometer data to calibrate the wheel size internally against the gyro -- or 2) it's using the receiver/phone's GPS to calibrate wheel size.

1) Using just the accelerometer on an IMU isn’t going to be as accurate as using a direct measurement of the wheel. It's hard to accurately measure velocity from acceleration data, especially when your sensor is also rotating slightly off-axially in space on a bumpy road -- and so to 'cheat', the sensor CPU is likely doing a rough calculation and then using the closest pre-set in an internal table of values (i.e, one pre-set for 700c wheelsets, one for 26", etc. but it wouldn't be able to tell a 23mm tire from a 28mm tire). However, because most people don’t accurately measure their wheel circumference anyway and just use preprinted cheat sheets anyway, the loss in precision isn’t really of great concern to the end user (see manual calibration note at end).

2) Using the GPS in the receiver would be the most accurate way to calibrate wheel size, especially over longer distances as you can precisely divide (say) 1000 meters by the number of revolutions to get a measurement of wheelsize accurate to 1% (GPS is accurate to about 10 meters) - although any bends or curves would greatly throw off the GPS measurement of linear distance.

Where these inertial units are the most helpful for end-users are in conjunction with GPS at very slow speeds or curvy roads where the GPS has trouble tracking speed-over-ground or measuring distance-over-ground over bendy roads. The data from the IMU can help the receiver better calibrate and ensure that you're properly credited for all those slow, tight hairpin turns as you get KOM.

Note: looking at the manual for the Wahoo, there is an option for entering the wheel circumference directly for when the automatic measurement fails.

Wahoo Bolt Speed Sensor

  • The OP says there's no need to input the wheel size, though I suspect you're right
    – Chris H
    Feb 28, 2018 at 16:50

Contrary to the claim in the question, the ELEMNT smartphone app does have an option to set the wheel size. You can choose from an extensive list of common wheel and tyre sizes, manually enter the tyre circumference, or choose "automatic". In the last case, I assume the head unit uses GPS to infer the tyre circumference when it has a good signal.

Your Answer

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

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