Skip to main content
Back to home
Beta · AI-assisted analysis · 8 sources

Technical Test Report
Data Quality Comparison

Comparison of 8 motorcycle apps based on our own recording data (GPX & JSON). As of: April 16, 2026 · updated September 28, 2026 with Curve Tracker, the data basis and the addendum on sampling rate.

Overall Rating

MotionRecord PRO
JSON · up to 100 Hz IMU · Smartphone
★★★★★
32 IMU + 13 GPS + 8 Baro + 37 Processed Calibration · Signal processing · LiDAR · Heart Rate
RaceBox RACING
VBO/GPX · 25 Hz GNSS + IMU · Dedicated
★★★★★
25 Hz GPS + Lean angle + 3-axis IMU Lap timing · Start/Finish · Splits
RideLink CONSUMER
JSON · ~1 Hz GPS + 3-axis gyroscope (internal)
★★★☆☆
Hardware lean angle · 3-axis gyro · 14 fields GPS gaps up to 40 s · Dedicated tracker
Calimoto BASIC
GPX · ~1 Hz GPS
★★☆☆☆
Barometric altitude No IMU data
Curve Tracker BASIC
storage.json · ~1 Hz GPS · GPX without time
★★☆☆☆
Speed + GPS altitude direct (app database) Sensor angle without recognizable gyro fusion · GPX export without timestamps
Motobit BASIC
GPX · ~1 Hz GPS
★★☆☆☆
lat/lon/time only Millisecond-burst artifact
Relive BASIC
GPX · 0.3–0.7 Hz GPS
★☆☆☆☆
Altitude 77% empty Gaps up to 119 s
Komoot BASIC
GPX · 0.2–1 Hz GPS
★☆☆☆☆
Gaps up to 63 s (April file) September file: 1.00 Hz

Data Volume in 10 Seconds of Cornering

Estimated number of measurements per 10-second corner (all fields combined).

MotionRecord
32,000
RaceBox
3,250
Curve Tracker
250* in a corner
RideLink
140
Calimoto
40
Motobit
30
Relive
16
Komoot
8
RaceBox calculation: 25 Hz GPS × 13 fields = 3,250 measurements in 10 s. That is 10× more than RideLink, but still ~10× less than MotionRecord (which additionally delivers up to 100 Hz IMU with 69 processed fields).
* Curve Tracker: 10 × 5 GPS fields + about 200 sensor angles (20 Hz) — the angles exist only inside detected corners, and they are not reference-grade (section 3). Volume is not quality.

1 · The 8 Sources at a Glance

Analyzed recordings from our own test rides, exported in each app's format. April 2026: one file per source. Curve Tracker: cross-check of September 22, 2026 (section 9).

SourceFormatData pointsDurationEff. rateFields / point
MotionRecord JSON 3,000 IMU + 75 GPS + 100 Baro 30 s chunk up to 100 Hz (IMU), 1 Hz (GPS) 32 IMU + 13 GPS + 8 Baro + 37 Processed
RaceBox VBO / GPX ~54,000 (25 Hz × 2.4 h) ~2.4 h 25 Hz stable (40 ms) 13 (GPS + IMU + Lean)
RideLink WingMan JSON 18,447 6.3 h (305 km / 190 mi) ~1 Hz 14
Motobit GPX 9,509 2.7 h ~1 Hz 3 (lat, lon, time)
Calimoto GPX 11,240 3.8 h ~0.8 Hz 4 (lat, lon, ele, time)
Curve Tracker storage.json / GPX 4,213 (app database) 67 min (49.9 km) ~1 Hz (JSON) · GPX without timestamps 5 + angle series in corners (JSON) · 2 (GPX: lat, lon)
Relive GPX ~8,000 variable 0.3–0.7 Hz (gaps up to 119 s) 4 (lat, lon, ele 77% empty, time)
Komoot GPX 7,099 8.8 h 0.2 Hz (gaps up to 63 s) 4 (lat, lon, ele, time)

2 · GPS Quality

SourceAccuracyRateExtrasOverall
MotionRecordhAcc / vAcc included1 Hz stableSpeed, course, altitude from chip★★★★★
RaceBox14–16 satellites (SIV field)25 Hz stable (40 ms)Speed (km/h), heading, height★★★★★
RideLinkNo accuracy data~1 Hz (gaps up to 40 s)Speed + course + height★★★☆☆
MotobitNone~1 Hz (ms bursts!)lat / lon / time only★★☆☆☆
CalimotoNone~0.5–1 Hz (2 s interval)+ Barometric altitude★★★☆☆
Curve TrackerNone~1 Hz (storage.json) · GPX: not measurable without timeSpeed (9.7% of points without a value) + GPS altitude (JSON only)★★★☆☆
ReliveNone0.3–0.7 Hz (gaps up to 119 s)Altitude (77% empty)★☆☆☆☆
KomootNone0.2 Hz (gaps up to 63 s)+ Altitude (interpolated?)★★☆☆☆
RaceBox = GPS strength: 25 Hz GPS updates with a dedicated GNSS chip (u-blox) are 25× faster than smartphone GPS (1 Hz). In a hairpin at 60 km/h (37 mph), RaceBox delivers a GPS point roughly every ~0.67 m (~2.2 ft) — smartphones only every ~16.7 m (~55 ft). This makes RaceBox the most precise GPS source for corner geometry.
Motobit artifact: Millisecond timestamps produce so-called "phantom bursts" on GPS reacquisition — computed speeds can mathematically reach wildly inflated values. MotionRecord avoids this through separate monotonic and wall-clock timestamps.
Curve Tracker — two export paths: The GPX export (MotoLeaning / Geo Converter) contains only latitude and longitude; timestamps and altitude are missing, lean angle and speed appear as text in waypoint names (<wpt name="33° 62km/h">). Without time, any evaluation has to estimate the speed. The app database storage.json (the app's Documents folder, reachable via file sharing) carries timestamp, GPS altitude and speed per point. The stars apply to this path — the GPX export would sit at ★.

3 · Sensors / IMU

SourceAccelerometerGyroscopeMagnetometerQuaternionLean AngleOverall
MotionRecordRaw + User + Gravity (up to 100 Hz)Raw + Fused (up to 100 Hz)µT + calibrationW / X / Y / ZFrom roll (direct)★★★★★
RaceBoxLongAcc + LatAcc + VertAcc (25 Hz)X / Y / Z rotation (25 Hz)——Direct (°, hardware)★★★★☆
RideLink WingMan ProX / Y / Z (1 Hz, hardware)3-axis gyroscope (internal)——Hardware gyro (direct, calibrated)★★★☆☆
Motobit—————☆☆☆☆☆
Calimoto—————☆☆☆☆☆
Curve Tracker— (not exported)———Sensor angle (~20 Hz in corners), no recognizable gyro fusion — not reference-grade★☆☆☆☆
Relive—————☆☆☆☆☆
Komoot—————☆☆☆☆☆
RaceBox vs. MotionRecord IMU: RaceBox already delivers pre-sorted axes (longitudinal/lateral/vertical) — ideal for motorsport. MotionRecord additionally provides raw data, quaternions and magnetometer, offering more flexibility for custom fusion algorithms. RaceBox: "ready for the pit wall." MotionRecord: "ready for research."
Curve Tracker sensor angle — cross-check September 22, 2026: The same ride (67 min, 49.9 km) ran in parallel with RaceBox (25 Hz, gyroscope) and Curve Tracker (iPhone 11). The zero point of the Curve Tracker angle sat at 47.6° (median) — on June 7 it was 47.7°, so it is the mounting position, not a one-off. After subtracting the zero point the signal stayed flat: 3.5 s above 5° versus 100 s for the RaceBox (factor 29). Further evidence from our data: 48° with the motorcycle standing still (0.2 km/h), maxRightAngle exactly 0 on an Alpine tour. The cause is physical: gravity and centrifugal force add up in a corner to one vector along the motorcycle's axis — without gyroscope fusion the lean angle stays invisible to a pure accelerometer. That is exactly how the signal behaves; whether the app fuses sensors, we do not know. From the app database Kurvenfokus therefore takes only the GPS track and derives the lean angle from speed and corner radius; on the GPX path the import places the few corner maxima from the waypoints.

4 · Signal Processing

SourceCalibrationFiltersJerkFrequency bandsOverall
MotionRecordStandstill + mount (3-phase)LP, HP, MA, ButterworthX / Y / Z + magnitudeLow / Mid / High★★★★★
RaceBoxFactory-calibrated (hardware)None (raw data)NoNo★★☆☆☆
RideLinkFactory-calibrated (hardware)NoneNoNo★★☆☆☆
Motobit————☆☆☆☆☆
Calimoto————☆☆☆☆☆
Curve Tracker————☆☆☆☆☆
Relive————☆☆☆☆☆
Komoot————☆☆☆☆☆

5 · Additional Sensors & Export Formats

SourceBarometerHeart RateLiDARLap timingExport formatsOverall
MotionRecordkPa + relAltApple Watch3D mesh (iOS Pro)—JSON, GPX, CSV, KML, HTML★★★★★
RaceBox———Start/Finish + SplitsVBO, GPX, KML★★★☆☆
RideLink————JSON☆☆☆☆☆
Motobit————GPX☆☆☆☆☆
CalimotoBaro altitude———GPX★☆☆☆☆
Curve Tracker————storage.json (app DB), GPX★☆☆☆☆
Relivepatchy———GPX☆☆☆☆☆
Komoot————GPX☆☆☆☆☆

6 · What Can Be Derived From Each Source?

Analysis featureMotionRecordRaceBoxRideLinkMotobitCalimotoCurve TrackerReliveKomoot
Corner position (GPS) ✓✓ 25 Hz!✓✓✓✓⚠⚠
Cornering speed ✓ direct✓ direct✓ direct⚠ computed⚠ computed⚠ JSON direct · GPX estimated✗✗
Lean angle (direct) ✓ up to 100 Hz✓ 25 Hz✓ hardware✗✗⚠ sensor, no recognizable gyro fusion✗✗
Braking / acceleration forces ✓ up to 100 Hz✓ 25 Hz (3-axis)✓ 1 Hz✗✗✗✗✗
3-axis gyroscope ✓ Raw + Fused✓ X/Y/Z (°/s)✗✗✗✗✗✗
Road surface quality (vibration) ✓ frequency bands✗✗✗✗✗✗✗
Elevation profile ✓ GPS + Baro✓ GPS (25 Hz)✓ GPS✗✓ Baro⚠ JSON yes · GPX no⚠ patchy✓
Racing analysis (jerk, G-force) ✓⚠ G-force direct, jerk derivable✗✗✗✗✗✗
Lap timing / splits ✗✓ Start/Finish + Splits✗✗✗✗✗✗
Mounting compensation ✓ 3-phase✗✗✗✗✗✗✗

7 · Field Comparison in Detail

MotionRecord — motionSample (32 fields, up to 100 Hz)

GroupFieldsUnit
TimestampstMono, tWalls / ISO 8601
Raw AccelerometerrawAccX, rawAccY, rawAccZg
Raw GyroscoperawGyroX, rawGyroY, rawGyroZrad/s
MagnetometermagX, magY, magZ, magCalibAccuracyµT / 0–3
Attitude (Euler)roll, pitch, yawrad
QuaternionquatW, quatX, quatY, quatZ—
Rotation Rate (fused)rotX, rotY, rotZrad/s
User AccelerationuserAccX, userAccY, userAccZg
GravitygravX, gravY, gravZg

MotionRecord — processedSample (37 fields, up to 100 Hz)

GroupFieldsDescription
CalibratedcorrAccX/Y/Z, corrGyroX/Y/ZBias-corrected
ButterworthbwAccX/Y/Z, bwGyroX/Y/ZNoise-filtered
Low-PasslpAccX/Y/ZSlow motions
High-PasshpAccX/Y/ZFast changes
Moving AveragemaAccX/Y/ZSmoothed
JerkjerkX/Y/Z, jerkMagnitudeRate of change of acceleration (d/dt)
Frequency band LowbandLowX/Y/Z< 1 Hz: posture / lean
Frequency band MidbandMidX/Y/Z1–20 Hz: steering inputs
Frequency band HighbandHighX/Y/Z> 20 Hz: road vibration

RaceBox — VBO format (13 fields, 25 Hz)

FieldUnitDescription
timeHHMMSS.ccUTC timestamp (centisecond precision)
lat, lngDDDMM.MMMMMPosition (NMEA format)
velocitykm/hGPS speed (direct)
heading°Direction of travel
heightmGPS altitude
LongAccgLongitudinal acceleration (braking/throttle)
LatAccgLateral acceleration (cornering force)*
VertAccgVertical acceleration (bumps)
x/y/z-rotation-gyroscope°/s3-axis rotation rate
lean-angle°Lean angle (track mode)*
satscountSatellites in view (quality indicator)
* Drag vs. track mode: Track mode contains lean-angle (lean angle), but only LongAcc + VertAcc. Drag mode contains LatAcc (lateral acceleration), but no lean angle.

RideLink WingMan Pro — data (14 fields, ~1 Hz, dedicated tracker with 3-axis gyroscope)

FieldUnitDescription
gpsLat, gpsLon°Position
gpsSpeedm/sSpeed
gpsTrueCourse°Course
gpsHeightmAltitude
accX, accY, accZgAcceleration (hardware)
gyroLeaningAngle°Lean angle (hardware gyro)
adapterSerialNumber—Device ID

Curve Tracker — storage.json (app database: track points ~1 Hz, sensor angles ~20 Hz inside detected corners)

FieldUnitDescription
driveCoordinates[].latitude, longitude°Position, ~1 Hz
driveCoordinates[].timestamps (Unix)Timestamp — missing in the GPX export
driveCoordinates[].altitudemGPS altitude — missing in the GPX export
driveCoordinates[].speedm/sSpeed direct; −1 = no valid value (9.7% of points in the cross-check)
curves[].angles° (~20 Hz)Sensor lean angle only inside detected corners (~4% of track points), no timestamps of its own
curves[].calculatedDurationsDuration of the detected corner
maxLeftAngle, maxRightAngle°Maxima per ride (left corners positive)
calculatedDistancemRide distance in meters (not kilometers)
calculatedMaxGForcegMaximum according to the app (computed)

Field names from the app database, read for the Kurvenfokus import (since September 11, 2026). Of these, the GPX export contains only latitude and longitude.

8 · Overall Rating by Category

SourceGPSSensorsProcessingExtrasOVERALL
MotionRecord★★★★★★★★★★★★★★★★★★★★★★★★★
RaceBox★★★★★★★★★☆★★☆☆☆★★★☆☆★★★★☆
RideLink WingMan★★★☆☆★★★☆☆★★☆☆☆☆☆☆☆☆★★★☆☆
Calimoto★★★☆☆☆☆☆☆☆☆☆☆☆☆★☆☆☆☆★★☆☆☆
Curve Tracker★★★☆☆★☆☆☆☆☆☆☆☆☆★☆☆☆☆★★☆☆☆
Motobit★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★☆☆☆☆
Relive★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★☆☆☆☆
Komoot★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★☆☆☆☆

9 · Data Basis — Which Data, When, How Often

This report grew in several steps. Every table above carries its date; this section states what each one rests on — and where the recordings come from.

Measurement seriesDateQuestionData set
Sensor depth (sections 1–8)April 16, 2026Which fields does a source deliver per data point?One file per source (Relive two): Calimoto 11,240 points · Motobit 9,509 · Komoot 7,099 · RideLink 18,447 · RaceBox 20,673 · Relive 17,982 + 4,419 · MotionRecord one session
GPS geometry (addendum below)September 15, 2026Point spacing, gaps, corners per km212 rides, 14 sources: Calimoto 28 rides / 10,095 km · Motobit 18 / 4,860 km · RideLink WingMan (JSON) 111 / 7,292 km — 423 rides in the archive since Sept 26 · Curve Tracker 18 / 2,566 km + MotoLeaning export 8 / 1,555 km · RaceBox 9 / 559 km · Kurviger 6 / 3,245 km · Relive 2 / 243 km · Komoot 1 / 128 km
Cross-check Curve Tracker ↔ RaceBoxSeptember 22, 2026Sensor lean angle on the same ride1 ride, 67 min, 49.9 km, 4,213 points (iPhone 11 + RaceBox Mini S in parallel)
Device spreadSeptember 15, 2026How far apart are two phones on the same ride?1 ride on May 23, 2026 with iPhone 11, iPhone 12 and Samsung at once: unfiltered 85.72 vs. 90.24 km (+5.3%), with a 25 m filter +0.07 km

Population: the ride archive (as of September 28, 2026)

The samples come from our own archive with 688 rides, 61,592 km, August 2019 to September 2026. The figures come from the catalog via SQL, not from estimates.

SourceRecordingsRidesPeriodkmGPS points
Calimoto22622608/2019 – 09/202640,4702.23 M
RideLink WingMan570 (147 of them variants)42309/2023 – 06/202617,8081.18 M
MotionRecord51 (10 reconstructed)2606/2026 – 09/20261,40771 K (GPS, 1 Hz)
Curve Tracker201809/2025 – 09/20262,630146 K
RaceBox13309/2026195252 K (25 Hz)

Motobit, Komoot, Relive and Kurviger exist only as individual GPX files (evaluation of September 15), not in the archive. RideLink: 147 of the 570 recordings are file variants of the same ride and count only once for rides, kilometers and GPS points. Kilometers per source via the assigned rides; six rides (770 km) were recorded by several devices at once, 2 of them by three; they count for each source, which adds 918 km of multiple counting — that is why the column adds up to 62,510 km instead of 61,592 km. Sampling rates come from the interval between consecutive points — not from the recording duration, which includes breaks.

Method: our own recordings and rides from test riders with their consent. Corner counting with the production code of Kurvenfokus iOS, point density in Python, catalog figures via SQL. Evaluation with AI assistance, cross-checks by hand.

Addendum September 15, 2026 — point spacing is speed: Measured across 212 rides, Motobit, Komoot, Calimoto, RideLink GPX and the Kurvenfokus export sample at exactly 1.00 Hz, Kurviger at 0.77 Hz, RaceBox at 25 Hz. The mean point spacing of a recording is therefore speed ÷ sampling rate: Motobit rides looking "denser" at 12.3 m than Calimoto at 15.9 m only means they were ridden more slowly (41 vs. 52 km/h). The April values in the cards above and in sections 1 and 2 come from one file each: Calimoto ~0.8 Hz (across 28 rides in September: 1.00 s interval) and Komoot 0.2 Hz with gaps up to 63 s (our September file: a recording at 1.00 Hz). Three things reliably distinguish sources: the sampling rate, the gap rate (1–8 gaps per 100 km in recordings, 195–313 in planned routes) and the fields supplied (altitude, GPS accuracy, measured lean angle). And: without naming the device, a kilometer or corner count is accurate to about 5%.

Conclusion

MotionRecord is, according to the analysis, the most comprehensive source: up to 100 Hz IMU with calibration, signal processing and frequency-band separation — research-grade data straight from the smartphone. GPS is "only" 1 Hz, but this is compensated by the high-frequency IMU.

RaceBox is the GPS-strength contender: 25 Hz position data with a dedicated GNSS chip is particularly well suited for corner geometry and lap timing. Add to that an IMU with lean angle and pre-sorted acceleration — great for motorsport telemetry. No signal processing, but per the analysis the raw data is first-class.

Ideal combination: MotionRecord (up to 100 Hz IMU + processing) + RaceBox (25 Hz GPS) would be, according to this analysis, the most comprehensive telemetry setup — smartphone + dedicated GNSS receiver complement each other structurally very well.

RideLink WingMan Pro is a dedicated tracker with an integrated 3-axis gyroscope and delivers true hardware lean angle — but only at a ~1 Hz sampling rate. The GPX apps (Motobit, Calimoto, Relive, Komoot) at best deliver "where was I and when" according to the analysis — not sufficient for riding-dynamics analysis.

Curve Tracker delivers a usable GPS track in its app database (~1 Hz, speed and altitude direct) — the GPX export loses time and altitude. In our recordings the sensor lean angle is not reference-grade: the zero point depends on the mounting position (median 47.6°), and without gyroscope fusion the signal stays flat in corners — on the same ride the RaceBox measured 100 s above 5°, Curve Tracker 3.5 s. From the app database Kurvenfokus therefore imports the track, not the angles.

Methodological Limitations

All ratings are based on the AI-assisted analysis of our own recording data (GPX/JSON exports from personal test rides). The star ratings reflect the data structure and information content of the respective export formats — not the quality of the apps as navigation or route-planning tools. No laboratory measurements were performed, no manufacturers were commissioned, and no independent validation was carried out. The Curve Tracker findings come from an iPhone 11 in one fixed mounting position; a different mounting position may yield different zero points. All information without guarantee. As of: April 16, 2026, updated September 28, 2026.

AI analysis: Claude (Anthropic) GPT-4 (OpenAI) Data basis: Own recordings (GPX/JSON) Ride archive · 688 rides · as of Sept 28, 2026