Hi everyone,
I’m working on a classic 2WD line follower robot, but I’ve hit a wall and could really use a fresh perspective from the community. Despite tweaking the logic multiple times, my robot either spins in circles or completely ignores the black line.
My Hardware Setup:
Microcontroller: ATmega328PB (Arduino-compatible)
Motor Driver: L298N
Sensors: BFD-1000 5-sensor array (S0 to S4, center is S2)
Chassis: Standard 2WD differential drive with a mirrored motor setup.
What I’ve Diagnosed & Tried So Far:
Sensor Verification: Checked via Serial Monitor that the sensors actually register changes between white surfaces and the black line.
Motor Polarity: Fixed the initial "spinning in circles" caused by mirrored motors by inverting the signal logic so both wheels push forward when commanded.
PWM & Friction: Raised the minimum PWM values so the inner/outer wheels don't stall under friction when trying to turn.
Logic Adjustments: Tried standard if/else conditional steering (e.g., speeding up the outer…