Multi-channel DC Motor Controller Project

Status: Reference Design | Educational Use Only

Project Background

This DC motor controller project began in 2006, just before I started my university studies. What started as a simple motor controller for an agricultural machine gradually evolved into a multi-channel, general-purpose brushed DC motor controller, capable of driving multiple independent motors with feedback control.

Over time, it became the heart of several experimental platforms — including the mobile robot used in the "Hungarians on Mars" engineering competition.

The current hardware is the third-generation design, serving as a reference build to explore motor control topology, embedded communication, and power electronics integration.

This project is not for sale and is shared solely for educational and reference purposes.


Key Features

  • Voltage Range: 6V – 15V

  • Channels: 4 independent full H-bridge outputs

  • Power Output: Up to 4 × 150W @15V input. (600W total)

  • Control Mode: Closed-loop PI speed control

  • Microcontroller: Atmel ATXMEGA128 (8-bit)

  • Interface: USB to UART with CLI command interface

  • Isolation: functional optical isolation between the MOSFETs and uC 

  • PCB Size: Compact 100mm × 160mm

  • Protections: Overcurrent protection circuitry


Areas for Future Improvement

While the current version performs reliably in test conditions, here are some areas I would refine in a next-gen version:

  • Replace the obsolete ATXMEGA128 with a 32-bit ARM Cortex-M4 or M7 for better performance and scalability

  • Use resettable fuses or electronic overcurrent protection for enhanced fault tolerance

  • Upgrade the MOSFET packages from D-pack to Power SO-8 (5x6mm) or 3.3x3.3mm high-efficiency formats

  • Introduce poke-yoke power connectors to prevent reverse voltage application

  • Consider raising the input voltage range to increase maximum output power


Use Case Example

This controller was successfully deployed in a 4WD mobile robot as part of a long-term educational robotics platform. It managed simultaneous speed control across four wheels, with independent channel feedback and user-tuned PI loops — all monitored through a simple USB CLI interface.


Disclaimer

This is a personal, non-commercial project, developed for educational and experimental purposes only. The design files and hardware are shared "as-is" and are not intended for production or resale.

Photos

FIGURE 001 The motor control box, front

FIGURE 002 The motor control box, rear

FIGURE 003 The PCB

FIGURE 004 The motor control box and the PCB

FIGURE 005 The motor control PCB, 4 layers

FIGURE 006 PCB Design in Eagle