Did you know that you can capture Gran Turismo 7 (GT7) telemetry on an external PC, including speed, throttle, brake, and engine RPM while driving?

You do not need dedicated measurement equipment. A PS5 and PC can receive the driving data over your network.

This article explains how GT7 telemetry can be captured and introduces gt-telem, the Python library used to receive it.

1. Can you capture GT7 telemetry?

Yes, GT7 telemetry can be captured in real time.

GT7 has a mechanism for sending the car’s driving state to external devices over a network.

A PC can receive the driving data sent by GT7 at approximately 60 Hz, or about 60 times per second.

The main available information includes:

Category Example data
Vehicle state Speed, engine RPM, gear
Driver inputs Throttle, brake
Vehicle motion Position, velocity vector, vehicle orientation, angular velocity
Tyres and suspension Individual wheel rotation speeds, suspension-related information
Other Fuel level, lap times, and more

Only information sent externally by GT7 is available. This does not provide access to every value used internally by the game.

2. How does capture work?

GT7 sends telemetry using UDP (User Datagram Protocol).

UDP is a network transport protocol. Unlike TCP, it does not provide built-in delivery acknowledgements or retransmission.

Its relatively simple communication mechanism suits a continuous stream of driving-state updates such as GT7 telemetry.

The communication flow is shown below.

The PC sends heartbeats to the PS5 and receives telemetry from GT7. The PS5 and PC must be on the same network and able to communicate with each other.

When the PC periodically sends a signal called a heartbeat to the PS5, GT7 returns telemetry data.

The incoming data is encrypted with Salsa20, so the individual signal values cannot be read directly.

The receiver must decrypt the packets and parse the binary data.

You do not have to implement all of this from scratch.

3. What is the gt-telem Python library?

One way to capture GT7 telemetry is to use the open-source Python library gt-telem.

gt-telem

GitHub: RaceCrewAI/gt-telem

gt-telem is a Python library for receiving telemetry from the Gran Turismo series.

It handles the following tasks:

  1. UDP communication with the PS5
  2. Receiving telemetry data
  3. Decrypting Salsa20-encrypted packets
  4. Parsing the binary data
  5. Converting the results into objects that Python can work with

This means you can work with driving data in Python without handling the details of the communication protocol yourself.

For example, you can extract speed and engine RPM from received telemetry and process them in your Python program.

I also use gt-telem and am developing a tool that saves driving data received from a PS5 as CSV files.

4. What do you need?

The basic requirements are:

Requirement Purpose
PS5 and GT7 Telemetry source
PC Receiving and saving data
Python 3.10 or later Running the receiving program
gt-telem Communication, decryption, and data parsing

Connect the PS5 and PC to the same network, with communication allowed between them.

There is no need to install additional software on the console. Normal reception also does not require a dedicated GT7 setting to enable telemetry. Start GT7, enter a circuit, and send heartbeats from the receiving program on the PC.

Once your Python environment is ready, install gt-telem with:

pip install gt-telem

The gt-telem GitHub repository includes usage instructions and example code. With basic Python knowledge, you can use these as a starting point for trying telemetry capture.

5. Things to keep in mind

There are a few limitations to understand when capturing GT7 telemetry.

This method does not use an official public GT7 API. It relies on a communication specification that the community has investigated.

Game updates may therefore change the protocol or the available signals.

Telemetry is sent at approximately 60 Hz while driving, but UDP does not guarantee delivery, so packets can be lost. Receiving exactly 60 updates per second on the PC is not guaranteed.

For some signals, the physical meaning or units are not fully understood.

Keep these limitations in mind when using the captured data.

Summary

GT7 telemetry can be received from a PS5 over a network.

The open-source Python library gt-telem lets you capture driving data without implementing UDP communication and packet decryption yourself.

With a PS5, PC, and Python, you can try GT7 telemetry capture without dedicated measurement equipment.

If you are interested, start with the gt-telem GitHub repository.