Documentation

Documentation / 1027 Flat Coin Vibration Motor for Arduino, Raspberry Pi & ESP32 | ShillehTek Product Manual

1027 Flat Coin Vibration Motor for Arduino, Raspberry Pi & ESP32 | ShillehTek Product Manual

coin-vibration-motor-1027-arduino-esp32ESP32HapticsmanualshillehtekWearables

Overview

This 1027 flat coin vibration motor is the tiny pancake motor used for haptic feedback in wearables, game controllers, alert badges, and silent notifications. It spins an internal offset weight to produce a buzz, runs on about 3V, and is small and light enough to glue almost anywhere.

Although it sips little current, it still draws more than a microcontroller pin should source, so you drive it through a small NPN transistor or MOSFET with a flyback diode. From there an Arduino, ESP32, or Pico can buzz it on events or pulse patterns.

At a Glance

Type
Coin / pancake ERM
Voltage
~2.5-3.7V
Current
~75-100 mA
Diameter
10 mm
Leads
2 wires
Drive
Transistor + diode

Specifications

Parameter Value
Motor Type Coin ERM (eccentric rotating mass)
Rated Voltage ~3V (2.5 - 3.7V usable)
Operating Current ~75 - 100 mA
Diameter 10 mm (1027 = 10mm x 2.7mm)
Thickness ~2.7 mm
Connection Two flexible leads
Mounting Adhesive backing (common) or glue

Wiring Guide

Arduino / ESP32 Wiring

Switch the motor with a small NPN transistor (e.g., 2N2222) or a logic-level MOSFET, with a flyback diode across the motor.

Connection Goes To
Motor + 3.3V or external 3V
Motor - Transistor collector/drain
Transistor base/gate GPIO pin via ~1k resistor (e.g., D6)
Transistor emitter/source GND
Diode Across motor leads (cathode to +)
Warning: Do not wire the motor directly across a GPIO pin. The inrush and inductive kickback can damage the pin.
Tip: Use analogWrite (PWM) on the transistor base to vary buzz intensity for soft and strong haptic patterns.

Code Examples

Arduino

buzz.ino
// Coin motor via transistor on pin 6
const int MOTOR = 6;

void setup() {
  pinMode(MOTOR, OUTPUT);
}

void loop() {
  // double buzz
  analogWrite(MOTOR, 200);
  delay(150);
  analogWrite(MOTOR, 0);
  delay(100);
  analogWrite(MOTOR, 200);
  delay(150);
  analogWrite(MOTOR, 0);
  delay(2000);
}

Frequently Asked Questions

Can I power it from a 3.3V pin directly?
It may seem to work, but the startup current and electrical noise can crash or damage your board. Always switch it through a transistor or MOSFET.
Does it need a flyback diode?
Yes. Like any motor it generates an inductive spike when switched off. A small diode (1N4148 or 1N4007) across the leads protects the transistor.
Can I run it at 5V?
Briefly, but it is rated around 3V. Sustained 5V shortens its life. Use 3-3.3V, or PWM a 5V rail down to an effective lower voltage.
How do I make different buzz patterns?
Toggle or PWM the control pin in timed sequences. Short pulses feel like clicks; longer pulses feel like alerts. Vary PWM duty for soft versus strong.
Which lead is positive?
Coin ERM motors run either direction, so polarity is not critical for vibration. The red lead is conventionally positive if marked.