External Position Control of a Quadrotor Using USB2PPM

Jaeyoung Lim


A USB2PPM interface was developed which enables a PC to interact directly with the RC transmitter trainer port. External Position Control was successfully demonstrated to show that the computer can successfully control real-time applications using the USB2PPM controller. This can be used for sending simple data in long distances (~2km) in a robust and simple way.

A position control using external angle inputs from the transmitter was successfully demonstrated using USB2PPM. The drift in the yaw input is due to the bias of pwm command in the yaw channel.

System setup


The state was measured using the Vicon motion cature system which is received by the ground control computer. The ground control computer runs a controller to control the position of the quadrotor and sends the commands to the usb2ppm interface. These commands are converted into ppm signals as stick inputs controlled by the pilot.


Markers for the Vicon motion capture system was attached to measure the attitude of the quadrotor. More than four markers are needed to determine the attitude of the quadrotor. The quadrotor is a quadrotor research platform used in the Interactive Network Robotics Laboratoryractive Network Robotics Laboratory in Seoul National University.


USB2PPM Controller

제목 없음

A usb2ppm controller was built to read command inputs from the ground station and send ppm commands to access the trainer port of the transmitter. The controller is based on the USB2PPM interface that is discussed in a previous article. The controller incorporates an arduino UNO and connections for switches. f


The controller includes a Arm/Disarm switch, an enable switch for each channel a Trim enable switch and trim knobs that are used for correcting the center point.


The PPM signals will be sent as the picture above. The start signals will be generated every 2200us and the channel values will come after the start signal with different pulse positions depending on the channel value. Thus the whole command frequency is about 50Hz. The maximum channel value shows 2ms between the pulses and the minmum pulse is 1400 us.


The controller is connected to the computer via USB. The command inputs are delivered in packets. The inputs are translated into ppm pulse position values.

Arming Procedure

Arming switch sends arming signals to arm and disarm the flight controller. The switch will blink when the quadrotor is unarmed and will turn in to solid red if armed. The arm switch works individually with the trim switch so the arm/disarm switch can work with any configuration of the rest of the controller.

Trim Knobs

Trim knobs are used to select the center point of the signal. The trim is a software trim, which only redefines the zero input not the whole range of the signal. The video shows the trim knobs working.

PC Commands

Video is a demonstration of the command inputs from the PC to the computer.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s