News

Pi Research PDS: we reverse-engineered the native binary format

Brake Point now supports direct import of PDS files from Pi Research / Cosworth loggers — no Pi Toolbox Pro needed.

By Henrique

When you build a telemetry platform, you eventually hit a wall: proprietary formats. Every logger manufacturer uses their own binary format, rarely documented, often locked behind paid software.

That’s exactly the case with Pi Research (now Cosworth). Until now, Pi logger users had to export their data to MAT via Pi Toolbox Pro — a paid Windows application. We thought we could do better.

What we did

We reverse-engineered the PDS (Pi Data Series) format, the native binary format of Pi Research loggers. This means you can now import your .pds file directly into Brake Point, with no intermediate software.

No more Pi Toolbox. No more manual channel-by-channel export. Plug in the logger, copy the file, upload it.

Extracted data

PDS support is experimental — here’s what Brake Point can extract today:

Reliable data

DataSourceAccuracy vs MAT
GPS position (lat/lon)LoggerExact
GPS speedLoggerExact
GPS altitudeLoggerExact
ECU speedLogger~99%
Engine RPMLogger~98%
Throttle (%)Derived by Brake Point~95%
Braking (%)Derived from deceleration~98%
Vehicle nameMetadataWhen available
Track nameMetadataWhen available

Partial data

DataStatus
Lateral accelerationDetected, but axes (lateral/longitudinal) may be swapped depending on the session
Longitudinal accelerationDetected, but may contain lateral data (see above)
Lap splittingWorks on roughly half of sessions — otherwise, GPS-based S/F line splitting takes over

Data not available

  • Gear ratio: not available. In MAT, this data is only available with compatible telemetry hardware.

Why is some data only partial?

The PDS format records raw CAN bus data as it comes from the logger. The problem: the mapping between channel names and actual data depends entirely on the CAN configuration set up by the user (or the engineer who installed the logger). Since every installation is different, the same channel names can carry completely different data from one car to another — or even between sessions on the same vehicle if the configuration was modified.

This is why Brake Point doesn’t rely on channel names and instead uses content-based detection (value ranges, sample rates, signal correlations) to automatically identify each data stream.

This is what makes acceleration tricky: both axes have similar value ranges and cannot be reliably distinguished without an external reference. For laps, the channel carrying the lap counter is not always present in the raw file.

Tip: if you work with an engineer or technician who configures your Pi Research logger, ask them to follow the channel mapping listed below. This will ensure optimal data detection by Brake Point.

Supported channel mapping

For the technically curious, here are the PDS channels Brake Point currently supports. “Stable” channels always carry the same data; “content-detected” channels vary between sessions and are identified automatically by analyzing value patterns.

Stable channels

ch_idActual dataNotes
502GPS LatitudeStored in radians, converted to degrees. Shared with CAN data (auto-filtered).
532GPS LongitudeSame — radians → degrees, CAN filtering.
213Engine RPMStored in rad/s — converted via ×9.549.

Content-detected channels (vary per session)

DataObserved ch_idsDetection method
ECU speed199, 168, 721, 112Range 0-70 m/s, 50Hz sample rate, RPM correlation
GPS speed281, 305, 304, 119Range 0-70 m/s, 10Hz sample rate
GPS altitude185, 151, 152Range 0-1000 m, 10Hz sample rate
Acceleration718, 712Range ±3 g — axes not reliably distinguishable
Lap counter224Integer values, 5Hz — present in ~50% of sessions

Not mapped (derived or unavailable)

DataMethod
Throttle (%)Derived from speed + acceleration + RPM blend (~5% error vs MAT)
Braking (%)Derived from longitudinal deceleration (~98% correlation vs MAT)
Gear ratioNot available — no channel identified

Braking: derived from deceleration

The PDS file does not contain a usable brake pressure channel. So we took a different approach: derive braking from longitudinal deceleration.

When the car decelerates, we normalize the deceleration intensity to a percentage. Compared against the MAT brake data (direct sensor), this achieves a 98% correlation (Pearson r=0.979). It doesn’t distinguish pedal pressure from engine braking, but it accurately captures every braking event.

Throttle: derived by Brake Point

The PDS file does not contain a directly usable throttle channel. This is a reality of Pi Research loggers: the hardware doesn’t always collect throttle position in its native storage slots. Software like Pi Toolbox Pro uses its own reconstruction algorithms to restore this data during MAT export.

We developed our own derivation method, combining multiple available signals in the file to reconstruct throttle position with an error margin of approximately 5% compared to MAT data. Braking zones remain clean at 0%.

Current limitations

  • Acceleration axes: lateral and longitudinal acceleration are detected, but may be swapped depending on the session. Impacts G-G diagrams.
  • Lap splitting: works on ~50% of sessions. When the channel is not detected, the file is imported as a single continuous session.
  • RPM gaps: the ICD-Lite spreads RPM data across alternating blocks in the file. As a result, roughly half the laps show RPM=0. This is a hardware-level limitation — Pi Toolbox Pro reconstructs the data during MAT export, but the raw file is incomplete on this channel.
  • Gear: no gear ratio channel identified yet. In MAT, this data is only available with compatible telemetry hardware.
  • Validated on a single logger model: ICD-Lite / GT4 RS. Other logger/vehicle combinations may require adjustments.

How to import a PDS file

  1. Copy the .pds file from your logger’s memory card
  2. Log in to app.brakepoint.io
  3. Upload the file — Brake Point handles the rest

The full guide is available here.

What’s next?

Every PDS file we receive helps us refine detection. If you have a Pi Research logger (Sigma, Delta, Omega, ICD, Cosworth), send us your files — even if the import fails, it helps us expand support.

We’re tackling other undocumented binary formats. Every format we unlock is one less paid software standing between your data and your analysis.

Analyze your own sessions

Join the beta and get 5 free BudAI analyses per week.

Join the beta