Sizing the supply
A servo that is moving draws a fraction of an amp. One that is held against something, or starting from rest, draws several times more, and that stall current is the number to size for. A 5 V, 3 A USB-C adapter covers a handful of small servos; sixteen, or big ones, need a bigger supply on the screw terminal.
Moving, and stalled
A servo's motor draws a little current while it moves a light load, and much more when it cannot move: pushing against an end stop, holding a heavy arm, or starting from rest toward a far position. That second figure is the stall current. Typical figures for common classes, not measurements of any one unit:
| Servo | Moving, about | Stalled, about |
|---|---|---|
| SG90, 9 g | 0.2 A | 0.65 A |
| MG90S, 9 g metal gear | 0.3 A | 1.0 A |
| MG996R, 55 g | 0.7 A | 2.5 A |
The MG996R's 2.5 A is the maker's stall figure at 6 V. Every servo in a project can stall at once, and at switch-on every one of them starts from rest together.
Size for the stall
Multiply the stall current by the number of servos and compare it with what the adapter says it can give. Four SG90s stalled are about 2.6 A, inside a 5 V, 3 A adapter. Sixteen SG90s stalled are about 10 A. Four MG996Rs stalled are about 10 A too.
A supply that is too small does not fail cleanly. Its voltage sags, the servos jitter or stop short, and many adapters shut off entirely and restart a moment later, which looks like the servos twitching for no reason.
What to use
- A few small servos: a 5 V, 3 A USB-C adapter in the board's USB-C socket.
- More, or bigger: a 5 V or 6 V supply rated for the stall total, on the screw terminal.
- Never over 6 V on V+. A two-cell lithium pack, 7.4 V nominal, needs a regulator in front of the board.
- Never a computer's USB port, and never the microcontroller's 5V pin.
Share GND between the servo supply and the microcontroller. That wire is how the pulses have a reference: without it the chip and the servos disagree about where 0 V is.
Spend less of it
Two habits in the sketch lower the peak: move the servos in small steps rather than one jump, and start them a few at a time rather than all together. Sixteen at once does both.
Chained boards add one more limit: V+ also runs through the control header, so Chaining boards says how to power each board on its own.
When it does not work
The supply's voltage is dipping under the load. Try with half the servos: if the jitter goes, the supply is too small for the rest. Use a bigger supply, or move fewer servos at once in the sketch.
It has hit its current limit and shut down to protect itself. Stagger the first move in the sketch, a few channels at a time, and size the adapter from the stall figures on this page.
Servo current is reaching the microcontroller's supply. Check V+ is not wired to the microcontroller's 5V pin and that the servo adapter is its own supply. Share only GND between the two.
No. A servo takes only the current it needs; the amps on an adapter are the most it can give. What must match is the voltage: V+ must stay at 6 V or below.
Every board starts at 0x40. How to give the second board another address, and the one address to avoid.
Six pads, one address →Edit this page — content/books/pca9685/sizing-the-supply.mdx
Questions about this product
See what other owners have asked, and read their solutions.
PCA9685 16-Channel Servo Driver Board, USB-C Powered
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.