← Portfolio
Hardware

Scanning Rover

Apr 2026

An Arduino rover that checks three directions with an ultrasonic sensor and drives toward the most open one.

What it does

Before every move, a servo turns the sensor left, center and right, and the rover drives toward whichever way has the most room. Three readings is the fewest that let it pick a direction instead of only reacting to what's straight ahead.

HC-SR04 sensor in its housing.
HC-SR04 sensor in its housing.
Servo mount and battery placement.
Servo mount and battery placement.
Serial telemetry during a run.
Serial telemetry during a run.
L298N motor driver and wiring.
L298N motor driver and wiring.

Technical details

Controller
Arduino UNO
Sensing
HC-SR04 ultrasonic rangefinder on an SG90 servo
Drive
Two TT gearmotors, an L298N H-bridge and a LEGO Technic chassis
Control loop
It scans three headings, measures the distance at each and steers toward the one with the most clearance.
Recovery
When it's blocked it reverses, stops and scans again before moving.

Engineering decisions

The sensor only looks forward, so the steering has to protect the back of the rover. It turns in arcs, with both wheels running at different speeds through PWM, instead of pivoting on one wheel. The tail sweeps a wider path and stays clear of whatever the rover just turned away from.

Links