DC motors are everywhere, from hobby applications to robotics and industrial areas. Therefore there is wide usage and request for suitable and powerful DC motor drivers. In this article, we will learn to build one. You can control it using a Microcontroller, an Arduino, a Raspberry Pi or even a standalone PWM generator chip. By using a proper heatsink and cooling methods, this circuit can handle currents up to 30A.