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.