Source: https://mokxi.com/parts/vibmotor
Updated: 2026-11-10

Part

# Vibration motor

The coin in a phone. 75 mA and a start voltage, so it wants a transistor.

See every part

- 2 pins
- 6 settings
- In 2 projects

Drawn live by the editor's own code, at the size you see it.

At a glance

## The Vibration motor in brief

What it is, and every setting the properties panel gives it.

A coin vibration motor is the 10 mm disc inside phones and game pads: a tiny brushed motor with a half-moon weight on its shaft, two thin leads (red and blue) that work either way around, and a rated 3 V. It draws about 75 mA, four times what a pin should give, so it goes on a transistor such as a 2N2222 with a 1 k base resistor and a 1N4007 across it, fed from the Uno’s 3.3 V pin; on an ESP32 the same circuit runs from a 3.3 V GPIO and the 3.3 V rail. Mokxi uses its DC motor model with a coin motor’s numbers: a 35 ohm winding, back EMF only an eighth of the supply at full speed, 12000 rpm at 3 V, which is 200 Hz of shaking, and a 40 ms spin-up. Below 2.3 V a stopped motor does not start, though a turning one keeps going down to about two thirds of that, so a PWM duty too low to start it is the classic haptics bug. Inductance (the diode only matters on the bench), the strength of the vibration are not modeled.

Family

Outputs

Pins

2

voltage

3

rated voltage, 3 V.

rpm

12000

speed at that voltage, 12000.

resistance

35

winding resistance, 35 ohms.

back_emf

0.125

the fraction of the supply the spinning
motor gives back, 0.125.

start

2.3

the least voltage that starts it from rest,
2.3 V.

inertia

40

how quickly it spins up, 40 ms.

Pins

## 2 pins

Named as the editor names them, so a wire lands where you expect it.

Pin

What it does

1

Red lead.

2

Blue lead. It runs either way around.

How to use it

## How to use a coin vibration motor with an Arduino

A coin motor draws about 75 mA, four times what a pin should give, so it goes on a transistor. Here the red lead goes to the Uno’s 3.3 V, near its rated 3 V, and the blue lead to a 2N2222’s collector; pin 6 drives the base through 1 k, and a 1N4007 across the motor catches the kick when the current stops.

digitalWrite(6, HIGH) buzzes it, and the music box does that on the first beat of every bar. For a softer buzz use analogWrite on a PWM pin, but keep the duty up: below 2.3 V a stopped motor does not start at all, though one already turning keeps going down to about two thirds of that.

Part pin

Board pin

1 (red)

3.3 V

2 (blue)

Transistor collector

Transistor base, through 1 k

Pin 6

On an ESP32 the same 2N2222 and 1 k work from a 3.3 V GPIO, with the motor on the board’s 3.3 V pin.

Click to open it in the editor

This is the simulator itself, running here. Click anything to open it in the editor.

Open this project in the editor Read the full tutorial

How it is modeled

## What is true about the Vibration motor, here

In its help article’s own words: what the simulation gets right, and where it stops.

### Modeled

It is the DC motor model with a coin motor's numbers, and
the numbers are the lesson. The weight and the tiny bearings take nearly all the
torque, so it runs at almost its stall current: about 75 mA running against 85 mA
stalled. That is four times what a board pin should give, so it goes on a
transistor like any other motor. And it has to be started: under 2.3 V a stopped
motor does not turn at all, though a turning one keeps going down to about two
thirds of that. A PWM duty too low to start it is the first thing a haptics sketch
gets wrong.

The probe is the speed in rpm; the part shows the shaking in hertz, the speed over
sixty, which is 200 Hz at 3 V.

### Not modeled

Inductance, so the diode across it is there for the bench rather than for the
simulator. How hard it shakes (about 1 g at its rated voltage, rising with the
square of the speed), and anything it is glued to.

From Vibration motor, in full.

Projects

## See the Vibration motor in a project

2 built-in projects use it. Each opens in the editor, already wired.

Boards

## The boards it is shown on

This board has a built-in project with the Vibration motor in it.

- Arduino Uno R3

More parts

## The rest of the bench

Every one of these is drawn and simulated the same way.

Full-size breadboard

A real 0.1 inch grid with the rails and the center channel, 63 columns wide.

Jumper wires

Drag from any pin or hole to any other. Corners snap, and you can drag them.

Power

A supply rail at the voltage you choose.

Ground

The other end of every circuit.

LED

Lights when current flows. Five colors, and the brightness is what your eye would see.

Filament lamp

A tungsten bulb in a holder: an inrush when it is switched on cold, tens of milliseconds to warm up, and dim on half its voltage.

Resistor

Any value you like, with the color bands drawn to match.

ESP32-C3-DevKitM-1

A RISC-V board that runs your firmware at 160 MHz on the real memory map.

Pushbutton

A 12 mm tactile switch. Hold it while the simulation runs.

Raspberry Pi Pico

The RP2040 board on our own Cortex-M0+ core. Pick a program and press Run.

Raspberry Pi Pico W

Raspberry Pi Pico W (RP2040). The same board and the same pinout as a Pico, with the CYW43439 on it. The WiFi is simulated (no radio; real internet through the Cloud panel’s switch), and the on-board LED, which hangs off that chip rather than off GP25, is driven through the same path. Everything else is the Pico.

Raspberry Pi 4 Model B

Raspberry Pi 4 Model B: the 40-pin header, driven by main.py with RPi.GPIO or gpiozero.

See every part

## Wire up the Vibration motor

Open the editor and push it into the breadboard. It is free, and it runs on your own machine.

Start building free Open the editor
