TK30DIGITALPWMbeginner

Vibration Motor

A 10 mm coin vibration motor on a TinkerBlock board, switched by a MOSFET and fed from the board's own 3.3 V regulator. SIGNAL HIGH buzzes, LOW stops, analogWrite sets the strength. VCC only feeds the regulator, so 5V on VCC is safe beside a 3.3 V board, and 3V3 or 5V both give the motor about 3.3 V.

Comes in this kit — not sold separately

Specifications

TypeCoin vibration motor with its driver: a MOSFET switch, a 3.3 V regulator, a flyback diode and an indicator LED. HIGH on SIGNAL buzzes, LOW stops
MotorLEADER LCM1027A2445F, Ø10 × 2.7 mm, laid flat on its own tape. Rated 3.0 V, for 2.7 to 3.3 V; 13500 ± 3500 rpm at 3.0 V
Motor current80 mA max running and 120 mA max starting (datasheet); about 54 mA typical at 3.3 V. None of it flows through SIGNAL
DriverAO3400A N-channel MOSFET between the motor and GND. Gate threshold 0.7 to 1.4 V, so 3.3 V and 5 V logic both switch it fully on
SIGNALThe MOSFET's gate with 10 kΩ to GND: 0.33 mA from a 3.3 V pin, 0.5 mA from 5 V. Off when unconnected. PWM sets the strength
Supply5V or 3V3 on VCC, on any board: VCC only feeds the 3.3 V regulator and never reaches SIGNAL, so 5V is safe beside a 3.3 V board. Either gives the motor about 3.3 V
Motor voltageAbout 3.3 V from the XC6206P332MR regulator, measured on a board with 5 V on VCC and with 3.3 V on VCC
StartA stopped motor is guaranteed to start from 2.3 V: about 178 of 255 from 5V on VCC. Below that, kick it at 255 first
ProtectionSS14 Schottky diode across the motor for the switch-off kick, and 100 nF across it for noise. Nothing to add
Pins to wire3 of the 4: GND, VCC and SIGNAL. NC is connected to nothing on the board
Header4-pin right-angle male, 2.54 mm pitch: GND, VCC, NC, SIGNAL, with GND on the square pad
Board22.4 × 30.4 mm, two 4.8 mm mounting holes 16 mm apart. The LED lights while the motor is driven
In the box1 × TK30 block. It also ships inside the TinkerBlock kits

What it is

A coin vibration motor and the circuit that drives it. The motor is 10 mm across, lies flat on the board on its own tape, and spins an off-centre weight at about fifteen thousand rpm. The rest of the board is its driver: a MOSFET that switches it, a 10 kΩ that keeps it off when nothing drives SIGNAL, a 3.3 V regulator that feeds it, a diode that takes the kick when it stops, and an LED that lights while it is driven.

The TK30 at an angle: a black board with a wide gold border, a flat round steel coin motor near the top, red and blue leads running from its tab under a small black three-legged part and up the right edge to two pads, a black diode at the top left, a small LED and a brown capacitor in the middle, a regulator and a capacitor at the bottom right, two big mounting holes, lonely binary along the left edge, and a right-angle header whose four pins point out past the bottom edge.
The TK30. The motor is the steel disc; everything else on the board drives it.

SIGNAL HIGH closes the MOSFET and the motor runs; LOW opens it and the motor coasts to a stop. analogWrite sets the strength, down to about 178 of 255 from rest; below that, start it at full power and then drop. The motor's current, about 54 mA running and up to 120 mA starting, never passes through your board's pin, which only drives the MOSFET's gate.

The page this replaces left the regulator out, and suggested a separate supply and a large capacitor for the motor. On this board the motor already has its own supply, the regulator, and VCC can be 5V or 3V3 on every board.

VCC feeds the regulator, and nothing else

Your boardVCC toSIGNAL toThe motor gets
Arduino Uno5VD93.3 V
ESP325VGPIO 43.3 V
ESP32-S35VGPIO 43.3 V
Raspberry Pi PicoVBUSGP153.3 V

5V on VCC beside a 3.3 V board is safe here: VCC reaches only the regulator and its capacitor, and SIGNAL reaches only the MOSFET's gate. The motor is a 3.0 V part rated for 2.7 to 3.3 V, and the regulator holds it at 3.3 V. VCC on 3V3 gives it about 3.3 V too, measured on a board, so on a battery with no 5 V pin, or whenever 3V3 is nearer, use 3V3.

Which pin is which

Parts up, header at the bottom, reading left to right:

GNDto your board's GNDthe square pad: count from here
VCCto 5V (VBUS on a Pico)feeds the 3.3 V regulator
NCnothingnot connected on the board
SIGNALto a digital or PWM pinHIGH buzzes, LOW stops

The back prints TK30 VIBRATION MOTOR and, along the bottom, VIBRATES WHEN THE INPUT IS HIGH, STOPS WHEN IT'S LOW, but no pin names. Turned over, the square pad is on the right, and it is still GND.

Wiring, in three lines

  1. GND to your board's GND.
  2. VCC to 5V: an Uno's 5V, the 5V pin of an ESP32 or ESP32-S3 board on USB, or a Pico's VBUS. 3V3 works as well: the motor gets the same 3.3 V.
  3. SIGNAL to a PWM pin: D9 on an Uno, GPIO 4 on an ESP32 or ESP32-S3, GP15 on a Pico.

Leave NC unconnected.

Example

// A PWM pin. Uno: 9. ESP32: 4. ESP32-S3: 4. Pico: 15.
const int MOTOR_PIN = 9;
const int KICK_MS = 50;   // full power first, so low levels start

void buzz(int level, int ms) {
  analogWrite(MOTOR_PIN, 255);      // kick: sure to start
  delay(KICK_MS);
  analogWrite(MOTOR_PIN, level);    // then the strength you want
  delay(ms);
  analogWrite(MOTOR_PIN, 0);
}

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

void loop() {
  buzz(255, 300);   // strong
  delay(700);
  buzz(150, 300);   // gentler
  delay(700);
}

Where to start

The handbook below is ten short articles, each with a working figure. The first buzz is the whole build in three wires and a few lines, and why VCC can be 5V is the one page that explains the wiring.

For strength, read strength is a duty cycle and a kick to start. For haptic feedback on a button, patterns you can feel. If it will not buzz, when it does not buzz.

When it doesn’t work

Do I need a transistor, a diode or a capacitor with it?
No. The board has the MOSFET that carries the motor's current, the diode that takes the kick when it stops, the capacitors, and a regulator that feeds the motor. Three wires to your board are the whole circuit.
Should VCC go to 3V3 or 5V?
Either, whichever is handy. VCC only feeds the block's 3.3 V regulator, and nothing connects it to SIGNAL, so 5V cannot reach a 3.3 V pin. Measured on a board, the motor gets about 3.3 V from 5V and about 3.3 V from 3V3. This page wires 5V (VBUS on a Pico), which takes the motor's current off USB rather than your board's own 3.3 V regulator.
Low PWM values do nothing.
Below about 2.3 V, roughly 178 of 255, a stopped motor is not guaranteed to start. Give it 255 for about 50 ms, then drop to the level you want: a turning motor keeps going at lower levels than it starts at.
My board resets when the motor starts.
The motor asks for up to 120 mA as it starts. With VCC on 3V3 that comes out of the same small regulator that feeds your microcontroller. Move VCC to 5V, or VBUS on a Pico, so the block's own regulator takes it. There is no separate motor supply to add.
The LED lights but it does not buzz.
The LED lights when the MOSFET closes, and its current does not pass through the motor. So SIGNAL and power are fine; look at the motor's thin red and blue leads where they meet their pads.
It buzzes but weakly.
Check VCC is on 5V rather than 3V3, then how it is mounted. Loose on a desk much of the shake goes into lifting the board; fixed firmly to what it should shake, it is obvious.

The vibration motor handbook

10 articles · about 45 minutes

This page is the reference: what the part is, what it is made of, and the questions people arrive already asking. The handbook is the walk — the same part in the order somebody actually meets it.

The board

2 articles

Four pins of which three are wired, a coin motor laid flat on its tape, and the five parts that drive it: a MOSFET, a regulator, a diode, a light and a resistor that keeps it all off.

How it drives the motor

3 articles

SIGNAL only opens and closes a MOSFET. The motor runs from the board's own 3.3 V, which is why VCC can be 5V beside any board, and a diode catches the kick when it stops.

Driving it

3 articles

Three wires and a buzz, then analogWrite for strength, and the one rule PWM adds: a stopped motor needs about 70 % to be sure of starting.

Using it

2 articles

Patterns a hand can tell apart, played on a button press without stopping the sketch, and the short list of reasons it stays still.

Lessons using TK30

Each one is a working build, not a snippet.

Edit this page — content/modules/vibration-motor.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

Vibration Motor

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum