Single-Hand Gesture Controller for Quadcopters

Hi! My name is Yucan Liu. This is my thesis research for my senior year in Union College. I majored in Computer Engineering. This senior project was advised by Professor Cherrice Traver.


Drones technology was relatively new and rapidly developing. Even though the ethical concerns about the drone were still debatable, drones were widely used in agriculture, land management, GIS, warfare, energy, and architecture. In most of the drone technology applications, only one hand of the pilot would be available. For example, when an architect was using a drone to inspect the high-level structure of a building, he always needed an assistant to hold the building’s blueprint for him while he was using the controller. In this case, a single-hand controller would be helpful and more convenient. At the same time, the traditional controller used two joysticks to control the drone’s movement. In America, the left joystick would control the altitude and yaw. And the right joystick would control the pitch and roll. However, this two-joystick control mode was not intuitive enough to most of the intro-level pilots. Most newbies needed several experimental flights to understand how to control the drone. After then, the pilots still needed more practices to be able to fly a drone safely. With all of these considerations, this project focused on building a single gesture controller for drones, especially quadcopters, as a replacement of the traditional two-hand controllers.

Figure 1. Block Diagram

The final design of the single-hand gesture controller (Figure 1) included two sections: a controller on hand (hand controller, Figure 2) and a modified control board (modified board, Figure 3). The hand controller was made from scratch, and the modified board was disassembled and rebuilt from the original controller that came with the SYMA X5C-1 drone (Figure 4).

-The hand controller included a 9 DOF IMU, a force touch pad, an Arduino Pro Mini, and an XBee (wireless serial transmitter).

-The modified board included an XBee (wireless serial receiver), an Arduino Pro Mini, and a modified board from the SMYA drone’s controller.

Figure 2. Single-Hand Controller

Figure 3. Modified Board

Figure 4. Test Drone

The 9 DOF IMU and force touch pad would detect user’s hand gestures (step 1). Then, the first Arduino Pro Mini would store the incoming data (step2) and send to the XBee transmitter in serial (step 3). When the XBee receiver received enough data (step 4), the second Arduino Pro Mini would store the data into local variables, and then translate to PWM values (step 5). Then, the second Arduino Pro Mini would output the PWM signals (step 6) based on their values to the modified board to mimic the two joysticks’ movements. Finally, the modified controller board would transmit the signal to the SYMA drone and control the four motors on it (step 7).