# PCA9685 connected to 5 servos, only powers 3

**URL:** <https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381>\
**Category:** General Electronics\
**Created:** [January 26, 2024, 10:27pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381 "2024-01-26T22:27:39Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 10:27pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/1 "2024-01-26T22:27:39Z")

</div>

I'm using a Sunfounder PCA9685 to connect to 6 servos, the first 3 I connected worked fine, but when I added another 2 servos, the first 3 still worked but the additional servos aren't even receiving power, I can turn them freely by hand unlike the other 2 and trying to control them via my UNO R3 doesn't do anything. It doesn't matter what slot I plug them into, or if I use different servos. I am using an external power supply at 5V, it has a max of 5A but the current while the other servos are moving draws no more than 0.15A, and when idle it sits at 0.02A. Still trying to download Fritzing so I'll add a wiring diagram when I can, but for the most part the wiring is:

SDA \> UNO SDA  
SCL \> UNO SCL  
VCC \> UNO 5V  
GND \> PS - and UNO GND  
V+ \> PS 5V

All servo connections are oriented correctly, with GND, V+ and PWm in their respective locations. The capacitor on the board is 470uF, which according to Adafruit's page on the PCA9685 should be just fine for 5 servos.

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [January 26, 2024, 10:35pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/2 "2024-01-26T22:35:32Z")

</div>

Please don't bother with Fritzing, just draw the circuit with pencil and paper, take a 'photo of it and post it here in a reply

---

<div class="post-metadata">

**Author:** ![gilshultz](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gilshultz](https://forum.arduino.cc/u/gilshultz)\
**Post date:** [January 26, 2024, 10:39pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/3 "2024-01-26T22:39:14Z")

</div>

> [@itsfoxy87](#):
>
> Sunfounder PCA9685

The Arduino is not a power supply and cannot supply enough power for those servos. You need an external power supply. The Sunfoounder board provides a terminal block for this and I believe e the grounds for the Arduino and external power supply are connected in that module, if not they need to e.

Gil's Crispy Critter Rules, they apply to processor hardware:  
Rule #1. A Power Supply the Arduino is NOT!  
Rule #2. Never Connect Anything Inductive to an Arduino!  
Rule #3 Don't connecting or disconnecting wires with power on.  
Rule #4 Do not apply power to any pin unless you know what you are doing.  
LaryD's Corollarys  
Coro #1 when first starting out, add a 220R resistor in series with both Input and Output pins.  
Coro #2 buy a DMM (Digital Multi-meter) to measure voltages, currents and resistance.  
Violating these rules tends to make crispy critters out of Arduinos.

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 10:42pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/4 "2024-01-26T22:42:17Z")

</div>

> [@itsfoxy87](#):
>
> I am using an external power supply at 5V, it has a max of 5A but the current while the other servos are moving draws no more than 0.15A, and when idle it sits at 0.02A.

I am using an external power supply, not the Arduino. I'm only using the Arduino to power the board (VCC), not to power the servos (V+).

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 10:43pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/5 "2024-01-26T22:43:53Z")

</div>

Give me a moment, just gotta find some paper!

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [January 26, 2024, 10:44pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/6 "2024-01-26T22:44:07Z")

</div>

It is misunderstandings like this that make seeing a schematic important

---

<div class="post-metadata">

**Author:** ![mancera1979](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mancera1979/32/732001_2.png) [@mancera1979](https://forum.arduino.cc/u/mancera1979)\
**Post date:** [January 26, 2024, 10:46pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/7 "2024-01-26T22:46:34Z")

</div>

Don't forget to post your sketch and the servos part number(s)

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 10:51pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/8 "2024-01-26T22:51:38Z")

</div>

All servos are Smarza S51 Micro Servos, though I also tried with an Adeept AD002 Micro Servo.  
The servos in question are on 6 and 7.

```arduino
#include "HCPCA9685.h"
#define I2CAdd 0x40
HCPCA9685 HCPCA9685(I2CAdd);
#define pca HCPCA9685
//--//
int H = 0; //Head
int HRight = 90;
int HLeft = 300;
int HCenter = 195;
//--//
int RS = 4; // Right Shoulder
int RSRight = 300;
int RSLeft = 150;
//--//
int RUA = 5; //Right Upper Arm
int RUAOut = 120;
int RUAIn = 60;
//--//
int LS = 6; // Left Shoulder
int LSRight = 150;
int LSLeft = 300;
//--//
int LUA = 7; //Left Upper Arm
int LUAOut = 60;
int LUAIn = 120;
//--//

unsigned int Pos;
void setup() 
{
  pca.Init(SERVO_MODE);
  pca.Sleep(false);
  
 
  for(Pos = HRight; Pos < HLeft; Pos++)
  {
    pca.Servo(H, Pos);
    delay(5);
  }
  for(Pos = HLeft; Pos >= HRight; Pos--)
  {
    pca.Servo(H, Pos);
    delay(5);
  }
  for(Pos = HRight; Pos < HCenter; Pos++)
  {
    pca.Servo(H, Pos);
    delay(5);
  }
  
  for(Pos = RSLeft; Pos < RSRight; Pos++)
  {
    pca.Servo(RS, Pos);
    delay(5);
  }
  for(Pos = RUAIn; Pos < RUAOut; Pos++)
  {
    pca.Servo(RUA, Pos);
    delay(10);
  }
  for(Pos = RSRight; Pos >= RSLeft; Pos--)
  {
    pca.Servo(RS, Pos);
    delay(5);
  }
  for(Pos = RUAOut; Pos >= RUAIn; Pos--)
  {
    pca.Servo(RUA, Pos);
    delay(10);
  }
  
  for(Pos = LSLeft; Pos < LSRight; Pos++)
  {
    pca.Servo(LS, Pos);
    delay(5);
  }
  for(Pos = LUAIn; Pos < LUAOut; Pos++)
  {
    pca.Servo(LUA, Pos);
    delay(10);
  }
  for(Pos = LSRight; Pos >= LSLeft; Pos--)
  {
    pca.Servo(LS, Pos);
    delay(5);
  }
  for(Pos = LUAOut; Pos >= LUAIn; Pos--)
  {
    pca.Servo(LUA, Pos);
    delay(10);
  }
}

void loop() 
{
  
}

```

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 10:53pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/9 "2024-01-26T22:53:10Z")

</div>

![20240126_175040](https://europe1.discourse-cdn.com/arduino/original/4X/c/c/f/ccfa7c8fcabb8d16e72cdd63e2ce1e1e06f153b4.jpeg)  
Here's the wiring diagram, I did my best on it. I have quadruple-checked that none of the servos are connected the wrong way.

Also, I will note the terminal block isn't working for me, but people have said that using the V+ pin works as well.

---

<div class="post-metadata">

**Author:** ![gilshultz](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gilshultz](https://forum.arduino.cc/u/gilshultz)\
**Post date:** [January 26, 2024, 10:53pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/10 "2024-01-26T22:53:40Z")

</div>

> [@itsfoxy87](#):
>
> I am using an external power supply, not the Arduino. I'm only using the Arduino to power the board (VCC), not to power the servos (V+).

We would have gotten this correct if you had posted an annotated schematic, your word description is ambiguous at best. I will check back later to see if the data requested by me and other sis posted.

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 10:54pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/11 "2024-01-26T22:54:23Z")

</div>

Just posted 👍

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [January 26, 2024, 10:58pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/12 "2024-01-26T22:58:54Z")

</div>

> [@itsfoxy87](#):
>
> the terminal block isn't working for me

What do you mean by this ?

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 11:00pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/13 "2024-01-26T23:00:05Z")

</div>

Have tried hooking up my PSU to the terminal block with common grounds, but power goes to the servos at all when I do.

---

<div class="post-metadata">

**Author:** ![van\_der\_decken](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/van_der_decken/32/1006976_2.png) [@van\_der\_decken](https://forum.arduino.cc/u/van_der_decken)\
**Post date:** [January 26, 2024, 11:21pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/14 "2024-01-26T23:21:34Z")

</div>

If the terminal block won't supply power, you've likely blown the reverse polarity MOSFET. The original Adafruit board, and all the clones I've seen, use a IRLML6401 HEXFET in a SOT-23 package which was only good up to 4.3A rather than an AOD417 in a much beefier TO-252 package, which is good up to 25A. 3-4 servos could easily hit 4.3A if they were all activated at the same time.

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 26, 2024, 11:32pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/15 "2024-01-26T23:32:13Z")

</div>

Odd, I have no recollection of reversing the polarity or overcharging it through the terminal block, it's a new board too. I'll see if I can get a replacement for it in the future and hope that helps.

---

<div class="post-metadata">

**Author:** ![van\_der\_decken](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/van_der_decken/32/1006976_2.png) [@van\_der\_decken](https://forum.arduino.cc/u/van_der_decken)\
**Post date:** [January 26, 2024, 11:55pm UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/16 "2024-01-26T23:55:57Z")

</div>

A typical servo can momentarily draw an amp or more each time it starts moving. So it doesn't take all that many servos to take out the original FETs. They apparently blew often enough for Adafruit to beef theirs up.

But an easy way to check is to apply 5V through the terminal block and see if you've got 5V on the middle pin of the servo connectors. If you see 5V there, the FET is still good. If not, there's your likely culprit.

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 27, 2024, 1:34am UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/17 "2024-01-27T01:34:22Z")

</div>

Well, while I wait until I get the chance to take a trip to the dollar store and get a new 9 volt battery for my DMM, is there any advice you can provide on my current issue? Do you think getting the terminal block working (and possibly the FET replaced) will resolve the issue?

---

<div class="post-metadata">

**Author:** ![van\_der\_decken](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/van_der_decken/32/1006976_2.png) [@van\_der\_decken](https://forum.arduino.cc/u/van_der_decken)\
**Post date:** [January 27, 2024, 2:59am UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/18 "2024-01-27T02:59:32Z")

</div>

No idea I'm afraid. But follow through on checking that you've got 5V at all the servo terminals, and ground, and the servo signal too. Maybe it'll show up a broken or fried trace somewhere, though there's really no point in guessing before measuring.

---

<div class="post-metadata">

**Author:** ![itsfoxy87](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/itsfoxy87/32/731496_2.png) [@itsfoxy87](https://forum.arduino.cc/u/itsfoxy87)\
**Post date:** [January 27, 2024, 4:02am UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/19 "2024-01-27T04:02:30Z")

</div>

The weird part is there's a 4-pin gap between the servo in slot 0 and the one in slot 4, servos connected in between there don't work weirdly.

---

<div class="post-metadata">

**Author:** ![Wawa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/wawa/32/1211303_2.png) [@Wawa](https://forum.arduino.cc/u/Wawa)\
**Post date:** [January 27, 2024, 4:10am UTC](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381/20 "2024-01-27T04:10:25Z")

</div>

The fet, if fitted, is only in the supply line of the screw terminal, not on the V+ pin.  
The V+ pin is directly connected to the power pins of all the servos.

You could try connecting the wire to V+ to the V+ pin on the other side of the board.  
Or join the V+ pins on both sides of the board with a wire. See of the dead servos work then.

The servos you have draw about 650mA stall.  
Leo..

[Next page](https://forum.arduino.cc/t/pca9685-connected-to-5-servos-only-powers-3/1216381.md?page=2)
