GT7 Bot / Gran Turismo 7
GT7 Bot is a PC-based driving automation system for Gran Turismo 7. Drive one clean lap. The bot records it, replays it, and grinds credits while you do anything else. No mods. No jailbreaks. Just a Raspberry Pi Pico and a USB hub.
How it works
GT7 broadcasts UDP packets over your local network. The bot listens directly — no SimHub, no middleware. Speed, RPM, gear, throttle, brake, tyre temps, lap times — all live at 20Hz.
Run the recorder, cross the start line, drive your cleanest lap. Every input — throttle, brake, steering — is captured at 20Hz and saved to JSON. One lap per track. That's all it needs.
A Raspberry Pi Pico (any variant — Pico, Pico W, Pico 2, Pico 2 W) plugs into a powered USB hub alongside your PS4/PS5. The console sees it as a genuine USB gamepad. The PC sends drive commands over serial. Pico executes them as HID inputs.
The bot replays your recorded inputs, corrects in real time using live telemetry, and adapts for different cars using car profiles. Set it, walk away. It handles everything — including returning to the pits, retrying, and keeping score.
Development
Good software comes from scrapping bad ideas. Here's what we tried, why it didn't work, and what replaced it.
The original approach required SimHub open in the background, configured as a UDP forwarder on port 33741, to pass GT7 telemetry to the bot. It worked, but it was fragile — SimHub had to be running, correctly configured, and in the right mode. One wrong setting and nothing connected. We cut it entirely. GT7 already broadcasts UDP directly. We just listen.
For a while the Pico W did double duty — it connected to WiFi, received GT7 UDP packets directly, wrapped them in a custom frame (GT7 + 2-byte length + raw bytes), and forwarded them to the PC over USB serial. The idea was to consolidate hardware. In practice it meant WiFi credentials on the Pico, more failure points, and a completely different code path for W vs non-W boards. We scrapped it. The PC handles telemetry directly. The Pico is pure HID on all four variants — identical code, zero WiFi dependency.
Clean split. PC handles all telemetry — listens on UDP port 33741, decrypts packets, parses data. Pico handles only HID — receives drive commands over USB serial, moves joystick axes, taps buttons. No WiFi. No SimHub. Works on every Pico variant with identical firmware. Simpler, faster, more reliable.
GT7 Telem / Standalone
GT7 Telem is the telemetry layer, packaged as a standalone tool. If you just want a live dashboard and lap recording — no bot, no Pico — this is it. Your PC and PS4/PS5 on the same WiFi is all you need.
Set your PS4/PS5 IP in config.py — find it under Settings → Network → View Connection Status. Then:
pip install -r gt7telem/requirements.txt
python gt7telem/gt7telem.py
Dashboard opens. GT7 running on your console, same WiFi — data starts flowing instantly.
The packet decryption method and GT7 UDP offset mappings that power GT7 Telem — and the telemetry layer inside GT7 Bot — are the work of Bornhall. Without that reverse engineering, none of this exists.
We added the live dashboard, lap recording, JSON export, and session tooling on top. The foundation is his.
github.com/Bornhall/gt7telemetry ↗Download
Both are free. Bot includes everything — Telem is already built in. Grab Telem standalone if you just want the dashboard.
The full package. Bot, telemetry, Pico firmware, setup tools, guides — everything.
Just the telemetry dashboard. No Pico, no bot. Connect to your PS4/PS5 and get live data in minutes.