*4.3. Modifying the Joystick Controller*

The original controller was kept intact to maintain its original functions, while external modifications were done to the joystick of the controller as shown in Figure 15. The gaze estimation algorithm produces decision on every frame; however, the average of each 10 frames was used to send command to the joystick. This step reduces any potential random error of the control system and reduces ambiguous command. An Arduino Uno microcontroller board was interfaced to Mini-computer using USB interface, which received the commands from gaze algorithm and controlled two servo motors accordingly. Figure 16 shows how two servo motors can produce stop, forward, left, and right directions using two slider with the help of existing joystick controller.

**Figure 15.** Two servo motors along with two moving arms were attached to original joystick with 3D printed support structure for motion control.

**Figure 16.** Four different positions of the servo motors to control four different classes of the system.
