Skip to content

KMIDS-GFM Self-Driving Car (WRO 2025)

An autonomous rear-wheel-drive robot built for the WRO Future Engineers 2025 competition, using a Raspberry Pi 5, RPLIDAR S2 and a fish-eye camera to navigate and avoid obstacles.

  • Self-driving 1:10
  • Open source
  • ROS 2
  • 3D printable

Suggested by Robotheca, created by @Chayanon-Ninyawee (opens in a new tab), from github.com/Chayanon-Ninyawee/KMIDS-GFM-Future-Engineer-2025 (opens in a new tab). Pinned to commit aebc4ca (opens in a new tab).

Photo and 3D model

Weight
48 g

What it can do

Written by Robotheca from the project's documents.

  • Autonomous navigation of the WRO Future Engineers open and obstacle challenges, including three laps and parallel parking.
  • Rear-wheel differential drive driven by an N20 motor with encoder, giving closed-loop speed control.
  • Front-wheel Ackermann-style steering using an S0009M servo.
  • Wall following and collision avoidance using the RPLIDAR S2 scanner.
  • Obstacle detection and colour-based pillar recognition using a fish-eye camera.
  • Turn direction is chosen from detected walls, with a fallback when no rule matches.

Bill of materials

40 parts

40 of 40 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1Raspberry Pi 51–Gammaco: buy Raspberry Pi 5, opens in a new tab
2Raspberry Pi Pico 21–Cytron: buy Raspberry Pi Pico 2, opens in a new tab
3UPS EP-01361–52Pi: buy UPS EP-0136, opens in a new tab
418650 Lithium-ion Battery2–Cytron: buy 18650 Lithium-ion Battery, opens in a new tab
5RPLidar S21–SLAMTEC: buy RPLidar S2, opens in a new tab
65MP Fish-Eye Camera1–Cytron: buy 5MP Fish-Eye Camera, opens in a new tab
7BNO085 IMU1–Shopee: buy BNO085 IMU, opens in a new tab
8S0009M Servo1–Shopee: buy S0009M Servo, opens in a new tab
9N20 DC Motor + Encoder2–Shopee: buy N20 DC Motor + Encoder, opens in a new tab
10Raspberry Pi M.2 HAT+1–Shopee: buy Raspberry Pi M.2 HAT+, opens in a new tab
11DRV8871 Motor Driver1–Shopee: buy DRV8871 Motor Driver, opens in a new tab
12DC-DC Boost Step-Up Module1––
13N-Channel MOSFET Transistor1––
144.4 kΩ Resistor1––
15Wires–––
16eSUN PLA+ Spool––eSUN: buy eSUN PLA+ Spool, opens in a new tab
17Screws (M2 & M2.6 & M3)–––
18Tape–––
19Lithium Grease–––
20Axle Holder3––
21Back Wheel Axle2––
22Back Wheel Connector2––
23Back Wheel Stopper2––
24Chassis1––
25Front Cover1––
26Front Wheel Axle (Left)1––
27Front Wheel Axle (Right)1––
28Front Wheel Stopper2––
29Lidar Plate1––
30Motor Gear1––
31Motor Holder1––
32Motor Plate1––
33T-Bone Linkage (Bottom)1––
34T-Bone Linkage (Top)1––
35Transfer Linkage (Left)1––
36Transfer Linkage (Right)1––
37Wheel Linkage (Bottom Left)1––
38Wheel Linkage (Bottom Right)1––
39Wheel Linkage (Top Left)1––
40Wheel Linkage (Top Right)1––

40 of 40 parts have no price in the source, so there is no parts total. Read from README.md at the pinned commit.

Build guide

The guide appears here as you scroll.

Guide by @Chayanon-Ninyawee (README.md), under MIT.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Raspberry Pi 5 as the high-level processing unit.
  • Raspberry Pi Pico 2 as the low-level controller for motor, servo and sensor I/O.
  • N20 DC motor with encoder, driven through a DRV8871 motor driver.
  • Step-up converter raising 5V to 12V for the motor supply.
  • N-channel MOSFET and 4.4 kΩ resistor for switching the motor power.
  • S0009M digital servo for steering.
  • RPLIDAR S2 360° laser scanner.
  • 5MP fish-eye Raspberry Pi camera.
  • Raspberry Pi M.2 HAT+ adapter for an NVMe SSD.

Connections

  • Motor power is separate from the Raspberry Pi supply, with a MOSFET and 4.4 kΩ resistor between gate and source and the drain on the step-up converter negative side.
  • The Raspberry Pi Pico 2 connects to the motor driver and motor wires.
  • The Pico 2 communicates with the Raspberry Pi 5 over UART.
  • The M.2 HAT+ connects to the Raspberry Pi 5 through its 16-pin FPC PCIe connector.
  • Two 18650 cells are wired in series in the UPS to give 7.4V nominal.
  • Components are joined with jumper wires rather than a custom PCB.

Cables and connectors

From the parts list.

  • Wires
  • Back Wheel Connector × 2