A system on a chip (SoC) for a motion controller using a field-programmable gate array (FPGA) and ARM processors is developed, and a task-partitioning technique is presented. Motion control requires fast and real-time input and output and the FPGA is a good tool to manage them. However, flexible and complex command generations are difficult to implement. Here, the SoC FPGA is a good solution because it has processors beside the FPGA. In designing on this platform, a feedback controller achieving high robustness is on the FPGA, and a feedforward controller determining a motion is on the processor. Then, a disturbance observer (DOB), one of the 2-degree-of-freedom (DOF) controllers, and an acceleration controller are introduced to decouple these designs. The DOB is simple to design with a few parameters and then provides a general framework for motion control. Introduction of the SoC FPGA enables to attain both the high robustness and the flexible command generation.