About Features Leaderboard Files Privacy Archived Set It Up → Support
Archived Project · Hall Of Shame

Before TRACE,
There Was GTRAS.

The About page gives you the polite, two-sentence version. This is the full, unfiltered origin story: a robot that never drove, a Raspberry Pi that flat-out refused to work, and a landing page so convincing it fooled everyone — including me.

Share this disaster
// the pitch

I Tried To Build
A Robot That Games
For Me.

TRACE didn't start life as a telemetry dashboard. It started as GTRAS — my plan to make GT7 play itself. The idea: eavesdrop on the game's live telemetry over UDP, record my one good lap like a hostage tape, then wire up a Raspberry Pi Pico to pretend to be a real controller and replay that lap back to the console forever — steering, throttle, brakes, the whole performance. A bonus mode just held full throttle through one race, unattended, overnight, farming in-game credits while I slept like a criminal mastermind.

The telemetry-reading part was only ever meant to be plumbing for the robot. Everything that TRACE actually is today — the dashboard, the lap analyst, all of it — started life as exhaust fumes from a doomed automation scheme.

// spoiler

It Never
Worked. At All.

Let's not dress this up: nothing ever ran end-to-end. code.py flatly refused to run on the Pico — not "sometimes glitchy," a dignified, unconditional no, no matter how much I begged it via a powered USB hub. And it wasn't just the one thing, either — there was a whole supporting cast of compounding issues stacked underneath it, each one quietly making sure the others never got a fair chance to fail on their own.

The actual answer — gamepad.mpy, the one CircuitPython library that lets a Pico pretend to be a USB gamepad, never got copied onto the board — I only figured out long after I'd already returned the Pico to Amazon and long after TRACE existed as its own thing. So no, it never got fixed. It's just sitting there in the return warehouse somewhere, still not knowing how to be a gamepad, blissfully unaware it ruined my whole summer. I built a robot whose entire job was faking a controller, and shipped it back to Amazon before discovering I'd forgotten to give it the file that fakes a controller. The car never drove itself. The overnight credit farm never farmed a single credit. And the fancier ideas stacked on top — spin recovery, auto pit-stops, full race automation — never even got past the whiteboard, because step one was busy being on fire in at least three different ways at once.

So the robot got the axe, unceremoniously and somewhat deservedly. The one part that quietly worked the whole time — the telemetry reader nobody was watching, because nobody thought the boring part would be the one that survived — just kept growing until, congratulations, it was the entire project.

// peak main-character energy

I Built The Website
Before The Robot
Could Move.

Here's the actual, deeply embarrassing timeline. Step one: build a slick, cinematic landing page at gtras.co — noise-grain texture, staggered fade-ins, a logo so huge it needed clamp() just to fit on the screen. Step two: write the tagline "Records your best lap. Replays it. Wins while you sleep." Step three — the one I conveniently skipped — actually check any of that was true. It was not. The Pico had already died on a missing library file before step three could even begin. Zero laps were ever driven, asleep or otherwise, by human or machine. "No PS5 mods · No jailbreak" was technically accurate, in the same way a car with no engine also needs no oil changes. This is what marketing-before-product looks like in its natural habitat. Preserved here as a monument, and a warning.

// receipts, in full

The Full Robot
Code — Yes, Really.

This page used to leave out the Pico firmware and control code entirely, out of pure embarrassment. It's here now, for the same "show your work" honesty as everything else on this page — but let's be crystal clear about what you're downloading: a working automation tool this is not. The Pico is still missing that one gamepad library it needed to be a gamepad, the lap-replay never functioned, and the credit farm never once farmed. It's also worth saying plainly: automating gameplay like this — including unattended credit farming — breaks Gran Turismo's and PlayStation's terms of service, on top of simply not working. So this download is a museum piece, not a shortcut to anything.

What's in the box: Pico firmware (boot.py, code.py, the board's .uf2 files), the PC↔Pico control code (bot.py, gui.py, car_profiles.py, recorder.py), setup notes, and the old roadmap. Everything's read-only. Recorded lap-replay files and compiled bytecode were left out — nobody needs those.
// the one survivor

The One Piece
That Actually Worked.

Buried in the wreckage was one honest, functioning thing: a plain telemetry reader that owed nothing to the Pico or the robot dream. UDP capture, Salsa20 decryption, a little Tkinter window showing speed/RPM/gear/tyres, and a basic lap recorder that saved to JSON. No hardware, no automation, no ambition beyond "show me numbers." That's the seed the About page means when it says the telemetry recorder survived the crash.

Fair warning: this is an old, frozen-in-time snapshot kept purely for the history books — not part of TRACE, no support, and it predates fixes (yes, even the gear-ratio math) that TRACE has now. If you actually want a working GT7 telemetry tool, go grab TRACE instead — this one's for the curious, not the practical.

← Back to how TRACE actually turned out fine, eventually