About This Project
Robo Relay is a hands-on robotics project built around controlling an RC car over the internet using a PS4 controller. Instead of custom hardware on the operator side, it starts with something familiar. A desktop app reads controller input and turns it into live steering and throttle commands.
Those commands are sent up to a hosted service and then pulled down by the RC car itself, an Arrma Granite, which reacts in real time. The goal is simple and a little fun: drive a real RC car from anywhere and understand every layer in between.
The system is kept intentionally straightforward. There is a desktop app that acts as the driver, a cloud layer that holds the current control state, and the car on the other end that executes it. The cloud piece is not trying to make decisions or add intelligence.
Demo Video
Left: the web dashboard showing live control state. Right: the Node.js desktop app receiving PS4 controller input.
Safety & Control
A lot of care goes into the moments when things do not go as planned. The car will not move until it is deliberately armed, it can be stopped instantly with a single button, and acceleration is smoothed so it behaves more like a controlled vehicle than a toy.
If input stops arriving or becomes outdated, the safest option is chosen automatically and the car comes to a stop.
Under The Hood
Under the hood, the car is powered by an ESP32 that handles both networking and direct control of the motor and steering. Control updates are delivered through an MQTT message broker, allowing commands to stream continuously rather than relying on periodic polling.
This approach reduces latency, makes connection health easier to monitor, and keeps the system responsive even over less reliable networks. By consolidating communication and control onto a single microcontroller, the project stays simple, robust, and flexible enough to grow into more advanced robotics work over time.
See It In Action
Check out the live relay dashboard to see real-time controller data.