In this study an FPGA-based single-chip controller for DC motors is developed. The controller contains 8 sets of A/D converters, one D/A converter whose output ranges from 0 to 10V, 8 D/I ports with photo couplers for isolation of disturbances, 8 D/O with 2803 Darlington amplifiers and photo couplers, a two-bit encoder, a 7-segment display, and a 485 serial interface. Through the flexible coding of FPGA, the signal-chip controller can output the PWM signal and voltage signal to control DC motors. Finally, the experiments show that the FPGA-based single-chip controller has excellent working performance.