Introduction: Maestro - Finger Mounted Input Device to Control the Cursor.

Maestro is wearable input device using the orientation of the finger. Wearable small devices on the finger has been investigated to provide easy access to PC and surrounding environment (NailO, HandSight). Maestro enables user to do pointing and scrolling based on the orientation of the finger and contact between fingers.


This Instructable was made as part of the CS graduate course "Tangible Interactive Computing" at the University of Maryland, College Park taught by Professor Jon Froehlich. Please see for more details.

Step 1: 3D Printing the Rings

To mount the components in Maestro, rings are used. Download the stl file and print it with 3D printer.

Step 2: Connect IMU Sensor Stick to Arduino

To mount the circuit to the finger, the circuit should be small. Therefore, Arduino Pro Mini is used. Connect the IMU sensor stick to Arduino Pro Mini as shown in the schematic. The detail of using IMU sensor stick is here.

Step 3: Connect Electrodes to Make Touch Sensors

As shown in the schematic above, 3 electrodes are used as a touch sensor. The touch sensor will be used to activate/deactivate the cursor movement and scroll.

Step 4: Upload the Arduino Code

The arduino code computes the orientation of IMU sensor and the proximity of finger to the touch sensor. The code is composite of these two tutorials. See them for detail.

IMU sensor code

Touch sensor code

Step 5: Putting It All Together

Put all electrical components as shown in the figure in the previous step.

Step 6: Install the Mouse Event Injection Code

You can download the mouse event injection code from the github repository.

In the repository, the java project named JavaBrowser is the mouse event injection program.

Step 7: Check the Serial Port and Set It in the JavaBrowser Code

The final step is changing the port name in the JavaBrowser code. Open the Arduino program and check what is the name of serial port connected to Arduino.

Find the line

CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("/dev/tty.usbserial-AE01COQ2");

in the and change the parameter to the name of your serial port.

Step 8: Try It!

That's it. You can try Maestro.