Embedded Systems Project

Autonomous
Arduino Race Car

A speed-focused autonomous vehicle developed to navigate an obstacle course using sensor feedback, servo steering, and bidirectional motor control.

Second Place
Completed autonomous Arduino race car viewed from the front

Final autonomous race-car configuration

Duration

4 Weeks

Competition

University Race

Contribution

Programming & Electronics

Result

Second Place

The Objective

Engineering Challenge

Design and program an autonomous vehicle capable of navigating an obstacle course at competitive speed while avoiding collisions through sensor feedback and real-time steering corrections.

The design needed to combine obstacle detection, steering, propulsion, and reverse recovery into one reliable control system.

My Contribution

Programming and Integration

  • ●Developed and refined the autonomous steering and recovery logic.
  • ●Integrated ultrasonic and infrared sensors with the Arduino control system.
  • ●Tested sensor behavior and helped isolate unreliable hardware.
  • ●Tuned steering response and motor behavior through repeated course testing.

System Design

Control Architecture

Environmental data was collected by the sensors, interpreted by the Arduino, and converted into steering and motor-control commands.

1

Three Ultrasonic Sensors

Measured forward and lateral obstacle distances to support real-time steering decisions.

2

Servo Steering

Actuated the front steering mechanism based on sensor feedback from the Arduino.

3

H-Bridge Motor Control

Allowed the rear drive motors to move forward or reverse during navigation and recovery.

4

Infrared Sensor

Supported reverse behavior when the vehicle encountered an obstacle or became trapped.

Sensors→Arduino Control Logic→Servo Steering+Motor Control

Primary Technical Challenge

Resolving Unreliable Sensor Readings

The ultrasonic sensors initially produced inconsistent measurements. Because the symptoms could have originated from the wiring, hardware, timing, or control logic, the problem required an iterative troubleshooting process.

STEP 01

Identify inconsistent behavior

Initial testing produced unreliable ultrasonic readings, causing incorrect steering decisions and unstable navigation.

STEP 02

Separate software and hardware causes

We reviewed the control logic, checked wiring, and tested each sensor individually rather than assuming the code was the only issue.

STEP 03

Replace unreliable components

Multiple ultrasonic sensors were replaced and retested until the hardware produced dependable distance measurements.

STEP 04

Tune and validate the complete system

The steering and reverse logic were refined through repeated course testing until the vehicle could navigate consistently at competition speed.

Development Gallery

From Assembly to Competition

Early assembly stage of the Arduino race car
Initial mechanical and electronic assembly
Completed Arduino race car assembly
Completed vehicle assembly
Front view of the completed autonomous race car
Front sensor arrangement
Side view of the completed autonomous race car
Completed vehicle side view
Ultrasonic sensor assembly used on the Arduino race car
Ultrasonic sensor integration
CAD or engineering view of the race car steering system
Servo-actuated steering system

Demonstration

Testing and Competition

These videos document obstacle-avoidance testing and the vehicle’s successful competition finish.

Obstacle-Avoidance Test

Validation of autonomous steering, obstacle detection, and sensor response under realistic course conditions.

Competition Finish

The completed vehicle successfully finished the autonomous race and earned second place.

Final Result

2ndPlace

Autonomous Speed Competition

Competition Placement

The vehicle successfully completed the autonomous course after resolving its sensor and integration issues.

Reflection

Lessons Learned

Troubleshoot systematically

Testing components individually made it possible to separate faulty hardware from errors in the control logic.

Component quality affects development time

Inconsistent low-cost sensors increased debugging time and made it more difficult to separate hardware failures from software problems. More reliable components would improve repeatability and reduce unnecessary troubleshooting.

Wheel selection must match the operating surface

The wheels provided limited traction on the smooth competition floor, reducing acceleration, steering accuracy, and stability. A future design should validate wheel material, tread, and grip on the actual operating surface.

Reliable power delivery is essential

The AA battery configuration did not provide sufficiently consistent power for the combined motor, sensor, and control-system demands. A rechargeable battery pack selected for the required voltage, current capacity, runtime, and weight would improve reliability.

Integration determines performance

Functional sensors, motors, and code were not enough individually. The complete system required repeated testing and tuning under realistic operating conditions.

Reliability matters as much as speed

Consistently completing the course was more valuable than maximizing speed with unstable sensing, poor traction, or unreliable power delivery.

Technical Documentation

Arduino Race Car Report

View the complete project report for additional information on the vehicle, control system, testing, and final results.

View Project Report