Categories

Newsletter

Haptic Feedback Module: 3V - 5V

Control this Mini Vibrating Motor Disc from an Arduino or other microcontroller via PWM! 3 Pins: Power 3 to 5V, Ground 0V and IN which takes PWM input from any microcontroller. Motor included directly on the board!

More details

Availability: ✅ Ships Today

Last Updated: 09/01/2025

Tinkersphere

TS2965

$7.99

Control this Mini Vibrating Motor Disc from an Arduino or other microcontroller via PWM! 3 Pins: Power 3 to 5V, Ground 0V and IN which takes PWM input from any microcontroller. Motor included directly on the board!

Specification:

  • Operating Voltage: 3V - 5.3V
  • Motor Starting Voltage: 3.7V
  • Operating Current: 60mA
  • Motor Starting Current: 90mA
  • Onboard Motor Size: 10mm diameter x 2.7mm height
  • Board Size: 23mm x 21mm
  • Rated RPM: 9000
  • M3 3mm diameter mounting holes for easy mounting
  • Mounting Hole Pitch: 15mm
  • 3 Pin Connector Pinout
    • VCC: 3.7V to 5.3V
    • GND: 0V Ground
    • IN: Input (High is ON, Low is OFF) (connect to Arduino Digital Pin or other microcontroller PWM output pin)
  • Control the vibration intensity via PWM
  • Converts electrical PWM (pulse width modulation) signals to mechanical vibration
  • Header Pin Pitch: 2.54mm
  • Comes fully assembled (no soldering required)
  • Operating Temperature: -20 to 60C

 
/*
Haptic Feedback Module Arduino Sample Code
Connection Diagram:
Arduino GND -> Module GND
Arduino 5V -> Module VCC
Arduino Pin 9 -> Module VIN
*/
int VinPin = 9; //The signal input pin VIN is connected to pin 9 on the Arduino
void setup()
{
    pinMode(VinPin, OUTPUT);
}
void loop()
{
    //Turn ON to the highest setting for 1 second, then OFF for 1 second
    digitalWrite(VinPin, HIGH); //vibrate on max
    delay(1000); // delay one second
    digitalWrite(VinPin, LOW); //stop vibrating
    delay(1000); //wait one second.
 
    // Pulse gradually, intensity rises and falls
        // Fade on
        for(int strengthVal = 0; strengthVal <= 255; strengthVal +=1)
        {
            analogWrite(VinPin, strengthVal);
            delay(15);
        }
        // Fade off
        for(int strengthVal = 255; strengthVal >= 0; strengthVal -=1)
        {
            analogWrite(VinPin, strengthVal);
            delay(15);
        }
 
        delay(1000); //wait one second
}