Featured case study

BattleBot autonomous robotics project

An Arduino-based robot designed to follow lines, avoid obstacles, track movement, and complete relay-style tasks through sensor-driven control logic.

Role

Embedded systems developer

I worked on the software logic, sensor calibration, movement behavior, and testing needed to make the robot operate autonomously.

Stack

Arduino, C/C++, sensors

The robot used motors, line sensors, rotation encoders, an ultrasonic sensor, and a servo-driven gripper controlled from Arduino code.

Challenge

Reliable autonomous behavior

The hardest part was turning noisy real-world sensor input into stable decisions for line following, turning, stopping, and object interaction.

Project story

From prototype to competition-ready robot.

The BattleBot project was a hands-on embedded systems assignment where the goal was to build a robot capable of navigating a track independently. The robot had to read its environment, follow a line, avoid obstacles, and complete tasks without direct human control.

On the software side, I developed control logic in C/C++ using the Arduino IDE. The implementation included PID-based line following, state-machine behavior, and real-time sensor processing. This made it possible to switch between actions such as line following, turning, stopping at markers, and using the gripper.

A large part of the work involved testing and calibration. Lighting changes, sensor thresholds, wheel movement, and physical friction all affected the robot, so the project required careful debugging and repeated improvement.

Key skills

What this project strengthened.

Embedded programming
Sensor calibration
PID control
State machines
Hardware debugging
System testing

Downloads

Project files and supporting work.

Requirements Analysis Download
Technical Design Download
Weekly Assignments Download
Race Day Code Download