Tag Archives: L293D


Making a smart I2C DC motor controller

A full-fledged DC motor controlling application requires a lot of I/O resources and MCU time. This project is about making a dedicated DC motor controllerthat would release the main microcontroller from this duty so that it could do other important tasks more efficiently. The controller uses Atmega168 as a slave I2C device that receives commands from a host MCU through I2C signal lines, and controls two DC motors using the L293D high-current H-driver chip. Separate PWM signals are used for each motor to achieve precise motor steering. The built-in motor steering library routines makes the motor control much easier.

Smart DC motor controller with I2C interface