Telemetry-Analysis / README.md
nasim-raj-laskar
readme metadata updated
05ffbfb
metadata
title: Telemetry Analysis Dashboard
emoji: πŸ“ˆ
colorFrom: indigo
colorTo: gray
sdk: docker
pinned: false
tags:
  - telemetry
  - assetto-corsa
  - motorsport
  - data-visualization
  - dash
  - plotly
  - time-series
short_description: Assetto Corsa telemetry explorer dashboard.

AC Telemetry Analysis β€” Demo Dashboard

Interactive dashboard for exploring Assetto Corsa telemetry sessions recorded by AC-Datalogger β€” a high-frequency telemetry logger that reads directly from the game's Windows shared memory interface.

This Space ships with two pre-recorded demo sessions so you can explore the dashboard without running the logger yourself.


What you're looking at

AC-Datalogger polls Assetto Corsa's shared memory (acpmf_physics, acpmf_graphic, acpmf_static) at ~65Hz and writes every sample to a session folder as Parquet + JSON. This dashboard loads those sessions and lets you explore 83 telemetry channels across five tabs:

Tab Contents
Driver Inputs Speed, pedals, gear & RPM, steering angle
Vehicle Dynamics G-forces, angular rates, wheel slip, wheel load
Tyres Pressure, core temp, surface temp, wear, brake temps
Aero / Misc Ride height, turbo boost, environment temps, fuel, driver aids
Track Map pos_x/pos_z trace coloured by any channel, with a position scrubber

The Track Map renders the full lap trace coloured by a selectable channel (speed, throttle, brake, lateral G, longitudinal G). The scrub slider moves the car marker along the trace entirely in the browser via Plotly.restyle β€” no server round-trip.


Record your own sessions

The logger runs on Windows alongside Assetto Corsa. No plugins or game modification required β€” just enable shared memory in AC settings and run the script.

# install
pip install pandas pyarrow pyyaml

# record a session (while AC is running)
python main.py

Full setup, configuration, and captured feature reference β†’ AC-Datalogger on GitHub


Session data format

Each recorded session is a folder named track_car_YYYYMMDD_HHMMSS/ containing:

session_info.json      # car, track, max_rpm, max_fuel_kg, …
telemetry.parquet      # 83-column DataFrame at ~65Hz
telemetry.csv          # same data as CSV

session_info.json example:

{
  "car": "ferrari_458_gt2",
  "track": "monza",
  "track_configuration": "gp",
  "max_rpm": 9000,
  "max_fuel_kg": 120.0
}

To use your own sessions with this dashboard, drop the session folder into sessions/ and restart.