
DeLorean RC
An autonomous vehicle inspired by the DeLorean from Back to the Future. A robotics project combining remote control, autonomous navigation, AI vision, and a distributed master-slave architecture. Includes obstacle detection, video streaming, and OTA updates.
In development - available soon
What is it?
An RC car inspired by the DeLorean from Back to the Future that, under the hood, is a small distributed system: a Raspberry Pi acts as master and several ESP32s act as slaves, each with a single responsibility (drive, steering, lights, sensors). The end goal is to control it from a phone or PC over WiFi, watch its camera feed in real time, have it detect obstacles, and eventually drive itself with AI vision. All with OTA updates so I don't have to open it up every time I change the firmware.
The repository is called CamperBot; the DeLorean body is the final layer of the project and the one I'm most looking forward to showing off.
Why I built it
I wanted a robotics project done "properly" rather than one giant Arduino sketch: independent modules with clear interfaces, a shared protocol, unit and integration tests, CI on GitHub Actions and a disciplined git workflow. It's my sandbox for PlatformIO, microcontroller communication, computer vision and navigation, and a handy excuse to print a DeLorean.
How it works
Master-slave architecture
- Master (Raspberry Pi, Python): the brain. It exposes a REST API for configuration and status, a WebSocket for real-time control and telemetry, and groups the modules for slave communication, perception (camera, object detection) and navigation (path planning, obstacle avoidance, localisation).
- Slaves (ESP32, C++ with PlatformIO):
motor_controller,steering_controller,light_controllerandsensor_hub. They talk to the master through a shared protocol defined incommon/protocols; the current transport is serial, with I2C, CAN and Ethernet already provisioned in the configuration. - Clients: a React web app and a React Native mobile app for direct control, autonomous mode, video and telemetry.
What already works
- Drive and steering: brushed motor through an H-bridge with PWM (5 kHz, 8-bit) and a 0–180° steering servo. It's driven with serial commands such as
FORWARD,BACKWARD,STOP,SPEED:0-255,STEER:0-180,CENTER,SWEEP:ON/OFF, plus aTESTsequence that combines movements. - Lights: headlights, tail lights, turn signals blinking at 500 ms, and a hazard mode that takes priority over individual signals (
FRONT:ON,LEFT:ON,HAZARD:ON...).
Roadmap
| Phase | Scope | Status |
|---|---|---|
| 1. Infrastructure | Chassis, motors and assembly | Done |
| 2. Electronics | Motor, steering, lights, solar charging | In progress |
| 3. Communication | Master-slave protocol, remote control, obstacle sensors | Pending |
| 4. Perception | Camera and streaming, object detection, basic autonomous navigation | Pending |
| 5. Optimisation | CAN/Ethernet, AI vision, OTA updates | Pending |
Stack
- Master: Python,
pytest - Slaves: C++ on ESP32, PlatformIO, tests with Unity
- Communication: serial (UART) today; I2C, CAN and Ethernet on the roadmap
- Clients: React (web) and React Native (mobile)
- CI: GitHub Actions blocking merges when tests fail
- Hardware: schematics and PCB in KiCad, 3D parts in STL/STEP, BOM in CSV
- Git: trunk-based,
feature/*andfix/*branches, always--no-ffmerges
Status
In development. There's working firmware for drive, steering and lights; the master has its structure and configuration in place, but the control loop and the slave protocol are still to be implemented. Next steps:
- Finish the master-slave protocol and remote control from the web client.
- Distance sensors in the
sensor_huband obstacle stop. - Camera streaming and, from there, object detection.
Links
- Repository: https://github.com/Guilleloma/CamperBot