Slef Self-Driving Car (WRO 2025)
A self-driving robot built by Team Double-X for the WRO 2025 Future Engineers challenge, navigating a track with walls and obstacles using a camera and stepper-driven steering.
- Self-driving 1:10
- Open source
- 3D printable
Suggested by Robotheca, created by @ejm22 (opens in a new tab), from github.com/ejm22/WRO-FE-XX (opens in a new tab). Pinned to commit 97a78ea (opens in a new tab).
- Hardware license
- MIT (opens in a new tab)
- Software license
- MIT (opens in a new tab)
- Commercial use
- Allowed
Photo and 3D model

3D preview converted from github.com/ejm22/WRO-FE-XX at 97a78ea, under MIT. View the original files from GitHub (1.5 MB) (opens in a new tab)
- Power
- 14.4 V
What it can do
Written by Robotheca from the project's documents.
- Autonomous driving around a track using a single camera for wall following, with a PD-style steering controller.
- Obstacle avoidance for green and red blocks, with green passed on the right and red passed on the left.
- Outer and inner wall crash detection that overrides normal steering to avoid collisions.
- Lap tracking and direction detection, plus a parking routine.
- Stepper-driven drive with a servo for steering, with Ackermann geometry, targeting WRO 2025 Future Engineers challenges.
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The creator's steps, each with its instructions.
- 1Watch the summary video and review the parts list
- 23D print the parts from the mech/CAD_3D_Printed_Pieces folder
- 3Adjust the DRV8825 current limit using the custom calibration circuit
- 4Assemble the three-layer mechanical structure
- 5Wire the electrical system following the electrical drawings
- 6Set up the Raspberry Pi environment and install dependencies
- 7Upload the Arduino motor control code and run the Python vision software
The guide appears here as you scroll.
Guide by @ejm22 (README.md), under MIT.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Raspberry Pi 5 as the main controller running vision and logic in Python.
- Arduino Uno R3 controlling the steering servo and the stepper driver over serial.
- Pi Camera 3 Wide for vision.
- NEMA 17 stepper motor driven by a DRV8825 driver on a breadboard.
- Steering servo motor.
- 4s1p 18650 Li-ion battery pack (14.4V) with a DC/DC converter to 5V, a 3A fuse, and a voltmeter.
- Main switch and driver switch for power control.
Connections
- The Raspberry Pi connects to the Arduino Uno R3 over USB serial, with the Arduino receiving commands from the Pi.
- The Arduino drives the servo and the stepper driver, and the DRV8825 powers the NEMA 17 stepper.
- The Pi camera connects to the Raspberry Pi.
- The battery pack feeds the DC/DC converter for 5V loads and the 12V stepper driver through a fuse and switches, distributed via terminal blocks and a breadboard.
- Electrical drawings are provided in the repository as Electric_Planning.pdf.