Every chart on this site is computed from raw DIMO telemetry that the vehicle owner cryptographically granted us the right to read. Here's exactly how each number was derived, what signals we used, and what we deliberately didn't show.
DIMO's telemetry API exposes five detection mechanisms. We used frequency analysis, which detects activity by signal-update rate rather than relying on the isIgnitionOn signal (which didn't start reporting until 25 Oct 2025). This gave us a consistent view across the full observation window.
Our first detector relied on a single signal: the ratio of engine revolutions per mile per hour. For a 2025 Ram 1500 with the 3.0 L Hurricane twin-turbo I6 and 8HP70 transmission, unloaded highway cruise sits at roughly 26.2 RPM per MPH. When hauling, that ratio climbs because the transmission holds a lower gear. Simple, and mostly correct — except it flagged one February trip that turned out to be a driver who'd bumped the steering-wheel gear-limiter down a step. Same elevated ratio, no trailer.
V2 requires two signals to agree. A real tow burns obviously more fuel (7–10 MPG vs. 17–22 unloaded) and spikes RPM hard when accelerating from stops. Either alone is noise. Both together are unambiguous.
The fuel-level signal (powertrainFuelSystemRelativeLevel) returns a dash-gauge percentage. DIMO's refuel-segment detector identifies each time the level jumps up significantly. Between consecutive refuel events, miles travelled are computed from powertrainTransmissionTravelledDistance deltas; gallons used are inferred by multiplying the pre-refuel level decrease by the effective dash-range tank capacity.
Tank-size calibration. The physical fuel tank on this Ram is 33 US gallons (the Max Fuel Tank package on the Laramie 4x4 build). But the dash gauge's 0–100% does not span all 33 nominal gallons. The needle holds at 100 for the first several gallons of consumption after a fill (top buffer), and the low-fuel warning triggers with roughly 3 gallons still in the tank (reserve below 0%). The actual fuel transit across the 0–100 dash swing is closer to 25 gallons. We have to do gallons-from-percent math because the dash percentage is the only fuel-level signal DIMO exposes. We calibrated the effective gauge swing against the owner's pump-receipt log: 29 matched DIMO refuel events totaled 606 gallons of pump fuel against 24.5 tank-equivalents of gauge swing, which gives 25 gallons per 100% swing. Using that effective capacity, our DIMO-derived lifetime MPG lands within 0.17 of receipt truth.
A cold start is defined as a trip whose first powertrainCombustionEngineECT (engine coolant temperature) reading is within 10 °C of the first exteriorAirTemperature reading, with ECT subsequently rising by at least 30 °C. That excludes trips where the engine was already warm.
We classify an ignition session (isIgnitionOn → ON → OFF) as a remote start when: duration is between 60 seconds and 25 minutes, no speed sample exceeds 3 km/h during the session, and ECT rises by at least 10 °C. That catches the signature of a truck warming up without moving.
Real-world telemetry is not perfectly clean. This is what we noticed and chose to disclose:
chassisAxleRow*WheelLeft/RightTirePressure signals went silent that day and never returned. Possible causes: a device firmware update, the device being reseated in the OBD port, or the truck's TPMS broadcasting on a frequency that stopped getting polled. We left it as-is rather than imputing.The vehicle owner granted us specific signal permissions via an on-chain SACD document, including exact GPS. For privacy reasons in this public write-up we have:
privilege:GetVINCredential grant)The DIMO protocol exposes a separate privilege:GetApproximateLocation scope that can automatically snap all coordinates to H3 resolution-6 cells (∼3 km across). That's how an owner typically grants "yes, show where I drove, but not my driveway."
Every chart on this site is derived from data available via DIMO's public-ish GraphQL APIs. Anyone with a developer license and the owner's SACD grant can query the same data. The complete pipeline is:
telemetry-api.dimo.zone/query for signals / events / segmentsOur raw CSVs are available on the RAW DATA section of the home page.