USB Servo Motor Controller
A Radio-Controlled (RC) Servo USB Controller, that can control up to 9 servo motors and 9 general outputs.
Application and Usages
Many robotics applications require the usage of several motors at the same time. Some examples are controlling a robotic arm, a pan\tilt camera, the reception angle of an antenna, robot wheels, and so on.
This controller significantly simplifies the motor control of such projects – the controller is connected to a computer (or an Embedded board) and the motor control is done using very simple commands.
You can see several demonstrations in the following clips:
Software interfacing of the Controller
After connecting the controller to the computer, a new serial port will appear (COM# in windows, or /dev/ttyACM# in linux). Then, controlling the motors is as easy as sending a simple textual command to the serial port!
Drivers and Code Samples
The controller is supported under the following operating systems:
- Windows XP \ Windows 200
- Windows Vista
- Linux
- Mac
I will soon add C# .Net and C\C++ code samples
CAD model and Printer Circuit Board (PCB)

Advantages of using a Controller to drive RC Servo Motors
Servo motor control is done by generating a PWM (pulse width modulation) signal. Generating such a singal is CPU intensive as it requires a lot of Interrupt calls. Generating several PWM signals at the same time (if several motors are controlled) is an even harder tast for a computer — it the best case it will cause a high system load, and in the worst case it will cause a wrong PWM signal generation, and hence an erroneous movement of the motor. This is why, besides the ease of use, an dedicated servo controller is recommended for interfacing servo control to a PC.
USB or UART interface?
Specifications
- Controlling up to 9 servo motors at the same time
- 9 outputs for general usage (can be used to turn on switches, LEDs, etc)
- Serial Connection: RS-232 2400, 9600, 38.4k, 115.2k, N81
- Computer Interface: USB2.0 Full Speed
- Servo movement range: 180 degrees
- Servo resolution: 0.7 degrees, 1uS.
- Dimensions: 50mm x 50mm








