Project detail • Hardware / Unity Integration • 2024

Interactive Racing Wheel System

An Arduino-based racing wheel prototype with steering input, paddle shifting, and LED rev feedback, connected to Unity for live wheel angle, gear, revs, and speed display.

Arduino Uno Unity C# Serial Servo DotStar LEDs

Project summary

This project was built as an interactive racing wheel prototype that combines physical hardware input with real-time visualization in Unity. The goal was to simulate core racing interactions such as steering, shifting gears, and monitoring engine revs through both physical controls and digital feedback.

The final system uses an Arduino Uno, a servo motor with analog feedback, two paddle-style microswitches, and an 8-LED DotStar strip. Unity receives the live hardware data over serial communication and displays wheel angle, current gear, rev percentage, and calculated speed. The result is a compact prototype that demonstrates how hardware and software can work together to create a more tactile driving interface.

Main media

Gallery

Overview

The project was designed to simulate a simplified racing wheel system using physical controls and visual feedback. Instead of building a full force-feedback wheel, the focus was on capturing a few important elements of racing input: steering position, paddle shifting, and engine rev indication.

Steering is measured using a 270° servo motor with analog feedback, while two microswitches act as paddle shifters for gear up and gear down. An 8-LED DotStar strip visualizes engine revs, and Unity receives the live data to present speed, gear, rev percentage, and wheel angle on screen. This made the project both a hardware prototype and a real-time software integration exercise.

My role

This was a solo project, so I was responsible for both the hardware and software sides of the system, from the physical assembly to the Arduino logic and Unity visualization.

Process and development

The system was developed as a combination of hardware assembly and software logic. On the hardware side, the servo motor was mounted in the center of a circular base to act as the steering mechanism, while two microswitches were placed on either side to mimic paddle shifters. The DotStar LED strip was mounted on the base and connected to the Arduino for rev visualization.

The software was split into two parts. The Arduino handled input reading, rev calculations, LED control, and serial transmission. Unity handled the real-time visualization of the data. This separation made the system easier to structure and allowed the physical wheel to act as a live input device while Unity focused on presenting the information clearly to the user.

The rev system was designed to behave somewhat like a race car: revs increase automatically, shifting up reduces revs, and shifting down boosts them. The LED strip maps rev percentage to the number of lit LEDs, while Unity displays the same state numerically as gear, speed, revs, and steering angle.

Challenges and solutions

Challenge

One of the main challenges was synchronizing the data exchange between Arduino and Unity. Timing issues could cause unstable updates or inconsistent readings when both sides tried to send and receive data too quickly. Another challenge was making rev behaviour feel consistent when shifting between gears.

Solution

I addressed the communication issue by alternating read and write operations more carefully, which made the serial exchange more stable. For the rev logic, I added rev-cut and rev-boost behaviour tied to gear changes so transitions felt more controlled and predictable during use.

Outcome and reflection

The final result was a working prototype that successfully connected real-time hardware input with a Unity-based display system. Steering, gear changes, rev logic, and LED feedback all worked together to create a simple but convincing racing control concept.

The project was especially useful as an exercise in combining physical prototyping with software visualization. It showed how even a relatively simple setup can become much more engaging when the hardware input and digital feedback are tightly connected.

Looking back, the next natural steps would be to expand the system with pedals, a clutch, a dedicated gear display, and a more advanced Unity dashboard. Even in its current form, though, the project works well as a proof of concept for hardware-driven game input.

Want to see more?

You can go back to the projects overview or get in touch if you want to know more about this project.