PDR data decoded...
This isn't really new, but I thought I'd put it out there. I've written a python script that pulls all the meta data out of the PDR recordings. All the data and the Metadata tags (keys to decoding the data) are in the mp4 files recorded by the PDR. There are other tools that can pull the data, but I wanted to write one in Python. When the script is done running, it outputs a csv file with all tags on the top (67 parameters), time at the left and the rest of the spreadsheet filled with the data sampled during the mp4 recording.
It's interesting to see this information all in one place. One thing I've done with it so far is a lap analyzer. This is my first session of the day at Portland International Raceway.
Lap Analysis:
================================================================================
Lap Clock Time Lap Time Speed @ S/F GPS Location
--------------------------------------------------------------------------------
1 2.22 min N/A N/A 45.594689, -122.693509
2 4.13 min 114.58s N/A 45.594682, -122.693499
3 5.98 min 111.10s N/A 45.594681, -122.693471
4 7.81 min 110.00s N/A 45.594683, -122.693511
5 9.61 min 108.10s N/A 45.594677, -122.693490
6 11.50 min 113.10s N/A 45.594681, -122.693507
7 13.33 min 110.10s N/A 45.594709, -122.693513
8 15.02 min 101.29s N/A 45.594681, -122.693499
9 16.83 min 108.50s N/A 45.594687, -122.693503
Lap Time Statistics:
--------------------------------------------------------------------------------
Fastest lap: 101.29s (Lap 8)
Slowest lap: 114.58s (Lap 2)
Average lap time: 109.60s
Total session time: 876.77s (14.61 min)
If anyone has any suggestions for this tool, let me know. It's a public repo on github if you want the code.
ACV
Channel 01: Boost Pressure Ind
Channel 02: Coolant Temp
Channel 03: Intake Boost Pressure
Channel 04: Oil Pressure
Channel 05: Oil Temp
Channel 06: RPM
Channel 07: Accelerator
Channel 08: Clutch Pos
Channel 09: Brake Pos
Channel 10: LF Tyre Pressure
Channel 11: RF Tyre Pressure
Channel 12: LR Tyre Pressure
Channel 13: RR Tyre Pressure
Channel 14: LF Tyre Pressure Status
Channel 15: RF Tyre Pressure Status
Channel 16: LR Tyre Pressure Status
Channel 17: RR Tyre Pressure Status
Channel 18: LF Tyre Temp
Channel 19: RF Tyre Temp
Channel 20: LR Tyre Temp
Channel 21: RR Tyre Temp
Channel 22: Gear
Channel 23: Trans Oil Temp
Channel 24: Fuel Level
Channel 25: Fuel Capacity
Channel 26: Steering Angle
Channel 27: Distance
Channel 28: Speed
Channel 29: ABS Active
Channel 30: Traction Control Active
Channel 31: Vehicle Stability Active
Channel 32: Performance Traction Management
Channel 33: Driver Performance Mode
Channel 34: Battery Voltage
Channel 35: Lateral Acceleration
Channel 36: Longitudinal Acceleration
Channel 37: Vertical Acceleration
Channel 38: Latitude
Channel 39: Longitude
Channel 40: Altitude
Channel 41: Heading
Channel 42: GPS Fix
Channel 43: GPS Precision
Channel 44: Number of Satellites
Channel 45: Beacon
Channel 46: Temperature Multimedia Processor
Channel 47: CPU User
Channel 48: CPU System
Channel 49: CPU Idle
Channel 50: CPU IO Wait
Channel 51: CPU IRQ
Channel 52: SD Card Read Data Rate
Channel 53: SD Card Read Operations Rate
Channel 54: SD Card Read Time
Channel 55: SD Card Write Data Rate
Channel 56: SD Card Write Operations Rate
Channel 57: SD Card Write Time
Channel 58: Recording Event Odometer
Channel 59: Wheel Speed Left Front
Channel 60: Wheel Speed Right Front
Channel 61: Wheel Speed Left Rear
Channel 62: Wheel Speed Right Rear
Channel 63: Outside Air Temperature
Channel 64: Intake Air Temperature
Channel 65: Temperature Internal Board
Channel 66: Temperature Camera Module
Channel 67: Yaw Rate
For me this journey started when the ZR1 did not crush the overall Nürburgring record. I believe it has to do with active aero. I decided to see what the PDR had in terms of data to decide if it was enough to control an active aero wing and dive planes. In short: it is. My thought was I could make a demo of this using small servo motors and a microcontroller. Imagine watching the PRD video and having a small wing / dive planes on the desktop reacting to the what's happening on screen. Also, with the speed of these cars, I would add a pitot tube to the system to get static and dynamic pressure, so the wing is working like a true airfoil. It's reacting to the driver input and the air around the car -- just like a modern fighter jet. All of this is not only possible but cost effective.
It took me a minute to figure out what to do with everything, but some Google and AI queries got me squared away.
I'm able to extract the meta data and create the .csv file. Unfortunately I'm a google sheets person and not a MS Office person. Google can't handle more than about 147,000 rows with the full data (limited to 10M cells). Excel can handle a LOT more, but I don't have it.
Is it possible to be able to tack a single PDR input file and break out the .csv of the meta data by lap? So the output would be PDR_####-Lap-1.csv, PDR_####-Lap-2.csv, etc.?
If that's possible then Google Sheets could handle the resulting number of output cells required by lap for a large session.
I use a Garmin Catalyst for the coaching part, so far I've loved it.
Using the files from HiPo driver on his website I've been able to do lap to lap comparisons just fine. (https://www.hipodriver.com/resources)
You'll want to scroll down and download this: PDR2-Lite-2022-11
If other drivers would share their files one could simply import their data and compare it to their own data and overlay the two in Cosworth Pi.
One thing I would LOVE is to be able to edit the files and keep the meta data. I haven't found a video editor (yet) that doesn't destroy the meta data. Is it possible to scrape the data into a file, edit the video file in your editor of choice, and then write back the correct data? I could understand if the trim was only made at the end this might be possible, but if I trim 10s from the start and 20 mins. from the end how do you sync the data back up?
Last edited by rlhammon; Oct 15, 2025 at 12:05 PM. Reason: add lap break out comment
Care to share the Github link?
Keep in mind that Cosworth Toolbox (a limited version for GM) and Pi Toolbox (the full Cosworth product) have very different capabilities.
The GM Cosworth one is very limited. Pi toolbox lets you do lap analysis, turn analysis and comparisons and such, so has most of the capabilities being referenced.
The Best of Corvette for Corvette Enthusiasts
Channel 01: Boost Pressure Ind
Channel 02: Coolant Temp
Channel 03: Intake Boost Pressure
Channel 04: Oil Pressure
Channel 05: Oil Temp
Channel 06: RPM
Channel 07: Accelerator
Channel 08: Clutch Pos
Channel 09: Brake Pos
Channel 10: LF Tyre Pressure
Channel 11: RF Tyre Pressure
Channel 12: LR Tyre Pressure
Channel 13: RR Tyre Pressure
Channel 14: LF Tyre Pressure Status
Channel 15: RF Tyre Pressure Status
Channel 16: LR Tyre Pressure Status
Channel 17: RR Tyre Pressure Status
Channel 18: LF Tyre Temp
Channel 19: RF Tyre Temp
Channel 20: LR Tyre Temp
Channel 21: RR Tyre Temp
Channel 22: Gear
Channel 23: Trans Oil Temp
Channel 24: Fuel Level
Channel 25: Fuel Capacity
Channel 26: Steering Angle
Channel 27: Distance
Channel 28: Speed
Channel 29: ABS Active
Channel 30: Traction Control Active
Channel 31: Vehicle Stability Active
Channel 32: Performance Traction Management
Channel 33: Driver Performance Mode
Channel 34: Battery Voltage
Channel 35: Lateral Acceleration
Channel 36: Longitudinal Acceleration
Channel 37: Vertical Acceleration
Channel 38: Latitude
Channel 39: Longitude
Channel 40: Altitude
Channel 41: Heading
Channel 42: GPS Fix
Channel 43: GPS Precision
Channel 44: Number of Satellites
Channel 45: Beacon
Channel 46: Temperature Multimedia Processor
Channel 47: CPU User
Channel 48: CPU System
Channel 49: CPU Idle
Channel 50: CPU IO Wait
Channel 51: CPU IRQ
Channel 52: SD Card Read Data Rate
Channel 53: SD Card Read Operations Rate
Channel 54: SD Card Read Time
Channel 55: SD Card Write Data Rate
Channel 56: SD Card Write Operations Rate
Channel 57: SD Card Write Time
Channel 58: Recording Event Odometer
Channel 59: Wheel Speed Left Front
Channel 60: Wheel Speed Right Front
Channel 61: Wheel Speed Left Rear
Channel 62: Wheel Speed Right Rear
Channel 63: Outside Air Temperature
Channel 64: Intake Air Temperature
Channel 65: Temperature Internal Board
Channel 66: Temperature Camera Module
Channel 67: Yaw Rate
I'm trying to use the PDR data on a site called Firelaps, but talking with the creator he says the PDR GPS information isn't correct. I was hoping a7v7 could chime in with some details from what he has discovered.
Essentially, in order to use Firelaps it requires the absolute GPS time, and according to the sample from your script I sent them, what is extracted is only the session time (how long since start, not when start - well, started).
Hoping this is something we could get from the MP4 still.
I'm trying to use the PDR data on a site called Firelaps, but talking with the creator he says the PDR GPS information isn't correct. I was hoping a7v7 could chime in with some details from what he has discovered.
Essentially, in order to use Firelaps it requires the absolute GPS time, and according to the sample from your script I sent them, what is extracted is only the session time (how long since start, not when start - well, started).
Hoping this is something we could get from the MP4 still.
I already use the Cosworth Pi software, and not only is it cumbersome, it lacks some basic functionality. HiPo has done a great job working with the limits, but frankly it's not worth the effort (time) for the output. I get far more insight out of my Garmin Catalyst in minutes, then I do having to pull the SD card, connect my laptop, start up the software, load the file, and then start.
Firelaps is a great alternative, and as it's web based it's super easy to gain insight from. Sure, you have to upload the data from the SD card still if you went that route with the PDR, but Firelaps has a device that collects and submits data automatically.
For now I'm using a $149 Racebox Mini (price has gone up since the initial launch). It collects data, I download it on my phone from the website, and I upload it back to Firelaps. I get analysis and results back in about 60s. I can run it on a tablet vs. hauling around a laptop at the track as well.














