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.
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
| Data | Source | Accuracy vs MAT |
|---|---|---|
| GPS position (lat/lon) | Logger | Exact |
| GPS speed | Logger | Exact |
| GPS altitude | Logger | Exact |
| ECU speed | Logger | ~99% |
| Engine RPM | Logger | ~98% |
| Throttle (%) | Derived by Brake Point | ~95% |
| Braking (%) | Derived from deceleration | ~98% |
| Vehicle name | Metadata | When available |
| Track name | Metadata | When available |
Partial data
| Data | Status |
|---|---|
| Lateral acceleration | Detected, but axes (lateral/longitudinal) may be swapped depending on the session |
| Longitudinal acceleration | Detected, but may contain lateral data (see above) |
| Lap splitting | Works 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_id | Actual data | Notes |
|---|---|---|
| 502 | GPS Latitude | Stored in radians, converted to degrees. Shared with CAN data (auto-filtered). |
| 532 | GPS Longitude | Same — radians → degrees, CAN filtering. |
| 213 | Engine RPM | Stored in rad/s — converted via ×9.549. |
Content-detected channels (vary per session)
| Data | Observed ch_ids | Detection method |
|---|---|---|
| ECU speed | 199, 168, 721, 112 | Range 0-70 m/s, 50Hz sample rate, RPM correlation |
| GPS speed | 281, 305, 304, 119 | Range 0-70 m/s, 10Hz sample rate |
| GPS altitude | 185, 151, 152 | Range 0-1000 m, 10Hz sample rate |
| Acceleration | 718, 712 | Range ±3 g — axes not reliably distinguishable |
| Lap counter | 224 | Integer values, 5Hz — present in ~50% of sessions |
Not mapped (derived or unavailable)
| Data | Method |
|---|---|
| Throttle (%) | Derived from speed + acceleration + RPM blend (~5% error vs MAT) |
| Braking (%) | Derived from longitudinal deceleration (~98% correlation vs MAT) |
| Gear ratio | Not 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
- Copy the
.pdsfile from your logger’s memory card - Log in to app.brakepoint.io
- 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.