Differential Drive Robot with Wireless Control

Built a two-wheeled robot with PWM motor control and wireless joystick command interface.

System architecture:

Controller board reads joystick ADC input and transmits commands over UART at 10Hz. Robot board receives serial data, calculates differential steering (left_motor = forward + rotation, right_motor = forward - rotation), and drives H-bridge motor controllers via Timer1 PWM outputs.

Extended with dual photoresistor sensors for autonomous light-tracking. The robot measures differential brightness and adjusts steering to follow the light source — closed-loop control responding to real-time sensor feedback.

Technical details:

Fast PWM mode with ICR1 frequency control, interrupt-driven serial reception with buffer overflow protection, sensor threshold tuning to handle ambient light variation.

Ultrasonic Range Sensor with Interrupt-Driven Timing

Built a precise distance measurement system using a PING ultrasonic sensor and ATmega2560. The sensor uses a single pin for both trigger and echo, requiring dynamic pin mode switching coordinated with timer interrupts.

Implemented an interrupt-driven state machine with Timer1 configured at 0.5µs resolution (16MHz clock, /8 prescaler). The firmware handles minimum pulse validation (2cm range floor), timeout detection (3m range ceiling), and mandatory 200µs cooldown between measurements.

Key challenge:

microsecond-level timing where small errors cause measurement failures. Solution required careful datasheet reading and precise timer peripheral register configuration.

CAD & Mechanical Design

Completed SolidWorks and AutoCAD coursework including part modelling, assemblies, technical drawings with GD&T, and tolerance analysis.