# Free-Hand Input and Interaction in Virtual Reality Using a Custom Force-Based Digital Thimble
## 3 A Force-Based Digital Thimble  
The Digital Thimble enables free-hand input and interaction in VR by varying the touch contact force on a surface. This approach is based on the premise that accurate tracking of finger movements can enable a wide range of interactions. The device is worn on the index finger and is versatile enough to function on nearly any diffuse opaque surface, including rough or uneven surfaces and even the human body.  
The Digital Thimble uses an optical mouse sensor to track the finger's movements. As the thimble moves across a surface, the sensor captures a series of consecutive images and applies digital signal processing techniques to analyze them. By comparing these images, the sensor precisely computes both the distance and direction of the thimble's movement, which is then used to control an on-screen cursor. During development, various approaches to finger tracking were explored, including RGB and depth cameras, magnetism, gyroscopes, and IR sensors [56; 57; 58; 59]. Ultimately, an optical sensor was chosen due to its widespread availability, affordability, and effectiveness across a wide range of surfaces [57; 60; 61].  
The optical sensor integrated into the thimble is the FCT 3065-XY, PixArt, Hsinchu, Taiwan, which has a resolution of 1200 dpi. This high resolution makes it suitable for accurately tracking finger gestures with precision and control. The sensor was extracted from the Unique Station Mini Wireless Finger Mouse, China, and repurposed its circuit board for integration into the thimble (Figure 1). The sensor is mounted on the side of the index finger using a 3D-printed frame. This frame positions the sensor within a 3D-printed cap that has a flat surface, enhancing its tracking capability even on uneven or irregular surfaces.  
The Digital Thimble is constructed from a lightweight and comfortable fabric material. The design of the frame casing underwent an iterative process to ensure that the sensor cap makes contact with the surface in a way that aligns with a comfortable finger posture. Various sensor placement options were evaluated, including positioning it underneath the index finger and over the index finger. However, placing the sensor in these positions compromised both comfort and the functionality of the pressure sensor. As a result, the sensor was positioned on the side of the finger, achieving an optimal balance between tracking accuracy and user comfort.  
To detect touch and contact forces, a Force Sensing Resistor (FSR) 400 series, Interlink Electronics, Camarillo, CA, USA, pressure sensor (FSR 400: [[https://digikey.com/en/htmldatasets/production/1184367/0/0/1/34-00022](https://digikey.com/en/htmldatasets/production/1184367/0/0/1/34-00022)]([https://digikey.com/en/htmldatasets/production/1184367/0/0/1/34-00022](https://digikey.com/en/htmldatasets/production/1184367/0/0/1/34-00022)) (accessed on 11 March 2024)) was attached to the tip of the index finger; it was coated with silicon to prevent irritation. The sensor has a 12.7 mm diameter with a 20 mm\({}^{2}\) sensing area and a sensing range between 100 g and 10 kg, which is sufficient for detecting the contact force from an index finger. The circular shape of the sensor is ideal for measuring force from the fingertip. The FSR is connected to an Arduino Uno REV3 microcontroller, Arduino, Ivrea, Italy, housed within a 3D-printed casing worn on the wrist (Figure 1). In the absence of force, the FSR exhibits a resistance slightly greater than 1 M\(\Omega\). As the pressure on the sensor increases, its resistance decreases correspondingly, allowing for the measurement of the applied force.  
The design prioritizes user comfort and wearability. Hence, lightweight components were selected for the circuitry to ensure that the device is comfortable to wear on the wrist. Additionally, a flexible material was chosen for the thimble to accommodate various finger sizes, enhancing the device's versatility and practicality for extended use.