Hand-2-Hand is a physical computing project that bridges digital and physical communication by transforming virtual interactions into tangible experiences. Using robotic arms, our system enables remote users to physically interact across distances, creating a new dimension of collaboration and emotional expression.
The system consists of paired robotic hands that mirror movements and gestures in real-time. When one user moves their robotic arm flex and pressure sensors capture these inputs and transmit the data to a corresponding robotic hand at another location, which replicates the exact movements. This creates a sense of physical presence during remote interactions, allowing people to "lend a hand" across any distance.
What sets Hand-2-Hand apart is its approach to data physicalisation, transforming digital gesture data into physical movements that can be physically experienced. Users can physically interact with the data, like responding to a fist bump given from the other end. As an enhanced collaboration tool, Hand-2-Hand addresses the lack of physical connection in remote work enabling intuitive collaboration for tasks requiring manual demonstration.











Physical Form
Our project features 2 identical mechanical right hands and forearms, 3D printed to mirror the
movement of one hand to the other and vice versa. Each finger joint is bolted with 3mm by an
assortment of 25, 20 and 15mm length screws and rotates a natural angle mimicking human hand
movement. One hand mimics the other through a marionette system, as the finger changes position, the
flex sensor works, triggering servo motors to turn, and the finger is able to curl and uncurl accordingly.
The wrist rotation and flexion work based off 2 servo motor joints creating a 180 degree turning angle
for the forearm in both axes. The base of our project can clamp to the side of the table, similar to a table
mount in order to position the hand in a convenient place for users to access.
Technology Hardware
- 3D printed plastic fingers, palm, wrist and servo bed. Basis - of the project.
- Bolts, nuts, and screws. Connectors for the hand, fingers, and joints.
- 10 micro servo motors. 180 degree turning angle. 9g torque.
- 4 servo motors. 180 degree turning angle.
- 2 arduino megas,
- 2x 12V external power supply for the servo motor power.
- Wiring to connect the entire project from arduino to boards to all functionality hardware.
- Flex sensors 2.2" to detect flex angle changes in the fingers and reflect it to the receiving hand.
- RP-C18.3-LT Thin Film Pressure sensors to detect taps, slaps, and give impact feedback.
- Rgb Leds.
Software
Our project was coded with Arduino IDE. When the users interact with our project, a list of functions can be completed and some restrictions are placed. Users can only move hand when led is green, and will need to wait to receive gestures if the led if red (input output system). When a user manually moves a finger or multiple fingers, the flex sensor reacts and the micro servo motor is programmed to move using the marionette joint system until the flex of the other hand is identical. Users can also make movements to the rotation and flexion of the wrist to show positive and negative feedback and the servos are programmed to reflect identical change. After a gesture is made, the servo motors are programmed to return back to a default position (hand palm relaxed fingers straight). The pressure sensor at the top of the palm triggers a search function when activated (pairing mode). The sensor in the palm will trigger a high 5 where all fingers are upright and wrist is rotated to a convenient position. Pressure sensor on the knuckle will reflect a fist bump when activated only when all 3 flex sensors are bent in a way to reflect a fist curled up. This minimises false triggering and sets preconditions for our hands. We also coded a website to measure success and give incentives for completing games and tasks with the hand.
Technical decisions
For the mirroring of hands, we initially planned to utilise the string tension to move the servo spools directly. This proved to be ineffective due to the inconsistent tension when curling or uncurling the fingers. Our updated approach featured flex sensors on each individual finger, which measures the bend through a changed resistance. This "flex" value is received by the flex sensor on the other hand, and the corresponding servo motor spins until the second flex sensor reaches the same flex value. Furthermore, we planned to use a rounded wrist for the servo bed but realised it was too small due to its curved shape. We then designed a rectangular servo bed with a wrist holder to keep a consistent tension in the forearm for finger movement. Aside from these decisions, our spools went through several iterations. The first few were either too short, didn’t tense the strings when needed or didn’t release the tension. The second last iteration worked until the tension broke the printed plastic. Our final iteration which sealed our design decision was a 4 hole curved spool that was able to thread strings in a way to effectively switch tension when needed.