A Calustra - Eloy Coto Pereiro Home About Books

Real-Time Racing Data with Rust, RP2350, and a DIY Dashboard

on

A little while ago I finished up a personal project that made me genuinely happy. It brought together few things I enjoy: tinkering with hardware, Rust, and slot car racing.

I’ve been into slot cars for about 20 years now. In my village the scene is surprisingly big, and the competitions can get intense. Naturally, being a nerd, I couldn’t just race, I wanted to understand the details behind each different lap. That curiosity led me straight into another rabbit hole.

Slot First Dashboard

The standard setup we use relies on a commercial timing tool with a light sensor that triggers when a car crosses the line. It works fine, but the data is only available at the very end of the race. No useful lap-by-lap details, no real-time insight, nothing live for others. For someone like me, that was just begging to be improved.

The timing device had an RS232 interface, which I’d experimented with before for central counting. This time I decided to go further. With the help of some custom hardware and the RP2350’s PIO interfaces(Thanks Pedro), I built a datalogger. To make the data accessible, I hooked up a budget-friendly OrangePI with HDMI output. On top of that, I wrote a Ratatui application to create a live dashboard.

The result is something like a WRC-style dashboard: live, interactive, and fun for everyone participating in the race. Instead of waiting until the end, we now get a clear picture of what’s happening as it happens.

Here’s how the setup looks:

The first working prototype looked like this:

Slot First Prototype

One of the neatest parts is how the memory works. All data is kept in RAM just for the duration of the race. Exporting is optional, but nothing ever writes to the SD card. The moment the TV powers on, the whole system boots up ready to go.

Building this project was fun. I learned a ton about the RP2350’s PIO ports, got to stretch my Rust and PCB design skills, and in the end created something my friends and I can actually use. Honestly, that combination of learning and sharing the fun is what makes this project so fun!

Thanks Antonmry for the TV screen <3

Tags

Related articles: