Jump to main content

Build a Haptic Glove with Arduino

1
2
3
4
5
29 reviews

Abstract

Have you ever used a video game or virtual reality (VR) controller that vibrates? The controller might vibrate when your character gets hit or when you crash in a racing game. This vibration provides additional information to your senses to help you understand what is happening in the game. What if you could feel these vibrations at different points on your skin through something you wear, like a glove? In this project, you will learn how to build and program your own customized glove with the same type of motors used in game controllers and cell phones. 

Summary

Areas of Science
Difficulty
Method
Time Required
Short (2-5 days)
Prerequisites

Previous Arduino experience is recommended. See our How to Use an Arduino page for tutorials.

Material Availability

A kit is available from our partner Home Science Tools®. Additional items required that are not included in the kit. See the Materials section for details. 

Cost
Average ($50 - $100)
Safety

No issues

Credits
Science Buddies is committed to creating content authored by scientists and educators. Learn more about our process and how we use AI.

Objective

Design and build a haptic glove with built-in vibration motors. 

Introduction

When you type on a physical computer keyboard, you can feel the buttons move up and down. The buttons are springy - it takes some force to push them down, and when you let go, they spring back to their original position. This makes it easy for your brain to register that you have pushed the button, even without looking at the keyboard.

What about touch screens on tablets and phones? There are no physical buttons that move up and down when you type. However, you might have noticed that your phone vibrates or pulses slightly when you tap on the letters to type out a text message. Your phone contains a tiny motor that makes it vibrate when you touch the screen. You can feel the vibration with your sense of touch. Even in the absence of a physical button, this helps your brain confirm that you have pushed something - it gives your brain feedback. This process of creating a sense of touch using forces, vibrations, or motion is called haptic feedback or simply haptics. "Haptic" comes from an ancient Greek word related to touch. Many other modern electronic devices, like smartwatches and video game controllers, use small vibration motors to create haptic feedback. 

Now think about virtual reality. Virtual reality (VR) headsets can let people see things that aren't really there, like an object floating in midair in front of them. However, without haptics, you cannot feel that virtual object in front of you. One approach to this problem is to use haptic gloves or controllers that the user wears or holds along with the headset (Figure 1). These peripherals can vibrate to simulate the sense of touch for the user.

a person wearing a virtual reality headset and haptic glovesImage Credit: NASA / Public domain
Figure 1. A person wearing a virtual reality headset and haptic gloves. 

In this project, you will build your own haptic glove with built-in vibration motors. You will not connect the glove to a full-fledged VR system with a headset. However, using a microcontroller like an Arduino, you can make your glove react to different electronic sensors. For example, you can make the glove vibrate when the user moves their hand closer to an ultrasonic distance sensor. You could even use this behavior to program a simple motion-based game, for example, that challenges the player to hold their hand as steady as possible a certain distance from the sensor. How you program the glove is up to you!

Before you continue, you may wish to watch the following videos about the ultrasonic distance sensor and vibration motors you will use in this project:

Terms and Concepts

Questions

Bibliography

Materials and Equipment Buy Kit

Recommended Project Supplies

Get the right supplies — selected and tested to work with this project.

View Kit

Disclaimer: Science Buddies participates in affiliate programs with Home Science Tools®, Amazon.com, Carolina Biological, and Jameco Electronics. Proceeds from the affiliate programs help support Science Buddies, a 501(c)(3) public charity, and keep our resources free for everyone. Our top priority is student learning. If you have any comments (positive or negative) related to purchases you've made for science projects from recommendations on our site, please let us know. Write to us at [email protected].

Experimental Procedure

This project follows the Engineering Design Process. Confirm with your teacher if this is acceptable for your project, and review the steps before you begin.
Before you begin: Review How to Use an Arduino Tutorials 1-3.

Assemble and Test Your Circuit

  1. Cut 10 pieces of stranded wire, each about 1 meter long. How you color-code the wires is up to you.
    1. You could use one color for positive (typically red) and one color for negative (typically black or blue). Each motor needs one positive and one negative wire. 
    2. Alternatively, you could use one color for each motor (red for one motor, green for the next motor, and so on). This will make it easier to keep track of which wires with which motor. 
  2. Strip about 1 cm of insulation from the ends of each wire.
  3. Solder a short piece of solid-core jumper wire to one end of each wire to make it easier to plug them into the breadboard.
  4. Solder the other end of each wire to one of the motor wires. Be careful when handling the motor wires. They are thin and fragile. You can reinforce where they connect to the motor with a dab of glue to make it harder to accidentally rip them out. 
  5. Use heat-shrink tubing or electrical tape to cover the exposed metal connections.
  6. Build the circuit shown in Figure 2. You can also access a Tinkercad Circuits version of the diagram here
    1. Important: the left/right positions of the power (+) and ground (-) buses on your breadboard may be reversed from what is shown in Figure 2. If your power buses are on the left and your ground buses are on the right, you can follow the diagram exactly. If your power buses are on the right and your ground buses are on the left, you will need to adjust the left/right position of your connections accordingly. For example, the wire going from the 5V pin on the Arduino to the breadboard should always go to the power bus, whether it is on the left or on the right. 
    2. Place your 5 MOSFETs in the breadboard. Each MOSFET pin should go in its own row, with the writing on the front of the MOSFET facing to your right.
      1. Connect the source pin of each MOSFET (toward the top of the breadboard diagram) to the ground bus with a jumper wire. 
      2. Connect one motor's negative wire to the drain (middle) pin of each MOSFET. 
      3. Connect each MOSFET's gate pin (toward the bottom of the breadboard diagram) to an Arduino pin. If you want to control the intensity of the vibrations instead of simply turning the motors fully on and off, make sure you connect to a pulse width modulation (PWM) pin marked with a "~". To use our example code, you should connect to pins 3, 5, 6, 9, and 10.
    3. Connect each motor's positive wire to the positive bus.
    4. Connect the ultrasonic sensor:
      1. VCC pin to positive bus (5V).
      2. TRIG pin to Arduino pin 13.
      3. ECHO pin to Arduino pin 12.
      4. GND pin to ground bus. 
    5. Connect power from the Arduino to the breadboard:
      1. 5V pin to power bus (+).
      2. GND pin to ground bus (-).
Figure 2. Breadboard diagram for the circuit.
  1. Download the haptic glove example code. Read the commented code so you understand how it works. 
  2. Make sure the ultrasonic sensor is positioned on the table, facing upward, with nothing obstructing its view.
  3. Upload the code to your Arduino. 
  4. Move your hand within 20 cm of the ultrasonic sensor. The motors should all start to vibrate.
  5. Move your hand away and the motors should stop.
  6. If the motors do not vibrate as expected, double-check that your circuit matches Figure 2 exactly. 

Build Your Glove

Once you have confirmed that your circuit and code are working properly, attach the motors to your glove.

  1. Consider where you will place the motors. The glove in this project has one at the tip of each finger, but you do not have to put them there. For example, you could mount motors on the back or palm of the glove. Figure 3 shows a close-up of a motor attached to a fingertip.
  2. Think about how you will manage the wires so the user does not get tangled when using the glove. Figure 4 shows how each pair of wires wraps around the respective finger and then all the wires are connected on the back of the glove. Figure 5 shows how all 10 wires are bundled together using zip ties. 
  3. Make sure you can put the glove on and take it off without causing any of the motors to fall off or any of the wires to tear. If the adhesive backing on the motors is not enough to hold them in place, you can use a small amount of glue. 
Figure 3. Vibration motor attached to glove fingertip.

Figure 4. Wires connected on the back of the glove. 

Figure 5. Entire setup with wires bundled to avoid tangling. 

Write Your Program

This part of the project is open-ended. The example code provided simply turns all five motors on full speed when an object is detected within a certain distance of the ultrasonic sensor. Can you make your code do something more interesting, for example, increase the intensity of the vibration gradually as your hand gets closer to the sensor? You can do this using the Arduino analogWrite function. See the Variations section for more ideas on what you can do for your project. 

icon scientific method

Ask an Expert

Do you have specific questions about your science project? Our team of volunteer scientists can help. Our Experts won't do the work for you, but they will make suggestions, offer guidance, and help you troubleshoot.

Global Goals

The United Nations Sustainable Development Goals (UNSDGs) are a blueprint to achieve a better and more sustainable future for all.

This project explores topics key to Industry, Innovation and Infrastructure: Build resilient infrastructure, promote sustainable industrialization and foster innovation.

Variations

  • Control the motors separately instead of turning them on and off all at once. What different sensations can you create by controlling the motors independently?
  • Using one or more ultrasonic sensors, create a simple game using haptic feedback. For example, challenge the player to hold their hand as steady as possible a certain distance from the sensor. Increase the intensity of vibrations if their hand moves too far from the target position. 
  • In addition to haptic feedback, incorporate visual and/or audible feedback into your project using LEDs or buzzers

Careers

If you like this project, you might enjoy exploring these related careers:

Career Profile
Just as a potter forms clay, or a steel worker molds molten steel, electrical and electronics engineers gather and shape electricity and use it to make products that transmit power or transmit information. Electrical and electronics engineers may specialize in one of the millions of products that make or use electricity, like cell phones, electric motors, microwaves, medical instruments, airline navigation system, or handheld games. Read more
Career Profile
Have you watched "The Transformers" cartoon series or seen the "Transformers" movies? Both shows are about how good and evil robots fight each other and the humans who get in the middle. Many TV shows and movies show robots and humans interacting with each other. While this is, at present, fantasy, in real life robots play a helpful role. Robots do jobs that can be dangerous for humans. For example, some robots defuse landmines in war-stricken countries; others work in harsh environments like… Read more
Career Profile
Are you interested in developing cool video game software for computers? Would you like to learn how to make software run faster and more reliably on different kinds of computers and operating systems? Do you like to apply your computer science skills to solve problems? If so, then you might be interested in the career of a computer software engineer. Read more
Home Science Tools®

Contact Us

Our kits are developed in partnership with Home Science Tools®. If you have purchased a kit for this project, Home Science Tools® is pleased to answer any questions.

In your email, please follow these instructions:
  1. Include your Home Science Tools® order number.
  2. Please describe how you need help as thoroughly as possible:

    Examples

    Good Question I'm trying to do Experimental Procedure step #5, "Scrape the insulation from the wire. . ." How do I know when I've scraped enough?
    Good Question I'm at Experimental Procedure step #7, "Move the magnet back and forth . . ." and the LED is not lighting up.
    Bad Question I don't understand the instructions. Help!
    Good Question I am purchasing my materials. Can I substitute a 1N34 diode for the 1N25 diode called for in the material list?
    Bad Question Can I use a different part?

Contact Support

News Feed on This Topic

 
, ,

Cite This Page

General citation information is provided here. Be sure to check the formatting, including capitalization, for the method you are using and update your citation, as needed.

MLA Style

Finio, Ben. "Build a Haptic Glove with Arduino." Science Buddies, 10 Apr. 2026, https://www.sciencebuddies.org/science-fair-projects/project-ideas/VirtualReality_p007/virtual-reality/arduino-VR-haptic-glove. Accessed 6 June 2026.

APA Style

Finio, B. (2026, April 10). Build a Haptic Glove with Arduino. Retrieved from https://www.sciencebuddies.org/science-fair-projects/project-ideas/VirtualReality_p007/virtual-reality/arduino-VR-haptic-glove


Last edit date: 2026-04-10
Top
Free science fair projects.