HOW WE GOT
THE NUMBERS.

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.

DATA SOURCES.

Contract0xbA5738...cF
Aftermarket deviceRuptela R1 · serial R1-016528000122590
Query endpointstelemetry-api.dimo.zone, identity-api.dimo.zone
Auth modelDeveloper JWT → Vehicle JWT via SACD-gated token exchange
Raw signals collected3,938,654 across 19 signal types
Behavior events collected3,695 (extreme braking + harsh cornering)
Observation window27 Jul 2025 → 15 Apr 2026 (263 days)

TRIP DETECTION.

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.

MechanismfrequencyAnalysis
Min duration10 minutes
Max gap merge300 seconds (default)
Detected trips (≥ 10 min)419
Detected trips (all)555

TOWING DETECTION.

For every highway sample in every trip, we pair the speed signal with the powertrainCombustionEngineSpeed signal by nearest timestamp, then compute the ratio. For a 2025 Ram 1500 with the 5.7 L Hemi and 8HP70 transmission, unloaded highway cruise sits at roughly 26.2 RPM per MPH. When the truck is pulling a load, the transmission holds a lower gear and that ratio climbs.

Sample filter45 ≤ mph ≤ 75 & rpm > 500
Per-trip metricmedian(rpm ÷ mph) at highway
Unloaded baseline26.2 RPM/MPH (empirically verified)
Flag thresholdratio ≥ 30
Min highway samples15
Trips flagged3 of 280 with sufficient data

MPG ESTIMATION.

The fuel-level signal (powertrainFuelSystemRelativeLevel) returns a 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 published tank capacity.

Tank capacity assumed26.0 US gallons (standard 2025 Ram 1500)
Refuel events detected31
Tanks analyzed29 (30 - discarded outliers)
Sanity filter3 ≤ mpg ≤ 60 & miles ≥ 10
Lifetime real-world MPG15.77
EPA combined20.0

COLD-START DETECTION.

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.

REMOTE-START DETECTION.

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.

DATA GAPS WE FOUND.

Real-world telemetry is not perfectly clean. This is what we noticed and chose to disclose:

WHAT WE DIDN'T SHOW.

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:

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."

REPLICATE EVERY NUMBER.

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:

1. Get a developer JWT from auth.dimo.zone
2. Exchange for a vehicle JWT (Token Exchange API, scoped to #183644)
3. Query telemetry-api.dimo.zone/query for signals / events / segments
4. Join, aggregate, chart — as shown above

Our raw CSVs are available on the RAW DATA section of the home page.