# My Servos Won't Move

**URL:** <https://forum.arduino.cc/t/my-servos-wont-move/1403736>\
**Category:** General Guidance\
**Created:** [August 22, 2025, 3:32am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736 "2025-08-22T03:32:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![reyawnthegoat](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/reyawnthegoat/32/1233464_2.png) [@reyawnthegoat](https://forum.arduino.cc/u/reyawnthegoat)\
**Post date:** [August 22, 2025, 3:32am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/1 "2025-08-22T03:32:10Z")

</div>

I am trying to hook up my **Arduino Nano** to my **Adafruit 16-Channel 12-bit PWM/Servo Driver (PCA9685)**. I have a wire plugged into the wall that can draw 10A, and this is connected to the servo driver, so I know I have enough power for 6 servos ( **MG 996R** ). I am using a breadboard. I am powering my Arduino itself my plugging it into my laptop. Also, I know that my code is uploading to my Arduino because I tried the blinking thing in the Arduino IDE and I got my Arduino light to blink. I have connected my servo to my driver:

Driver Pin and Servo Pin connections

Gnd -\> Gnd

Vcc -\> 5v

SCL -\> A5

SDA -\> A4

(I used different color wires too so you could tell)

I am using **ALITOVE AC/DC Adapter, model ALT-0510** , which takes an input of **AC 100–240V at 50/60Hz** and provides a **DC output of 5V at 10A (50W)**.

I am not sure why none of my servos are moving? Also, this is my first post here, I read how to post properly instructions, but if there is any further context I could provide please let me know! I really need the help haha!

 ![](https://europe1.discourse-cdn.com/arduino/original/4X/3/1/5/315a22eb95d4a6f59b4314c8990484bae227809c.jpeg)

 ![](https://europe1.discourse-cdn.com/arduino/original/4X/4/9/9/4991e025d8098b3874426bc8e509953066e5e992.jpeg)

 ![](https://europe1.discourse-cdn.com/arduino/original/4X/f/9/0/f903d3ef8c069fc9d7598af7506876f04c717948.jpeg)

CODE:

```arduino
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm(0x40);

uint16_t us2counts(uint16_t us) { // 50 Hz -> 20,000 us period
  // counts = us * 4096 / 20000 ≈ us * 0.2048
  return (uint16_t)((us * 4096UL) / 20000UL);
}

void setup() {
  pwm.begin();
  pwm.setPWMFreq(50); // standard servo rate
  delay(10);

  // three obvious moves
  pwm.setPWM(3, 0, us2counts(1000)); // ~1.0 ms
  delay(1500);
  pwm.setPWM(3, 0, us2counts(2000)); // ~2.0 ms
  delay(1500);
  pwm.setPWM(3, 0, us2counts(1500)); // center
}

void loop() {}

```

---

<div class="post-metadata">

**Author:** ![JCA34F](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jca34f/32/340148_2.png) [@JCA34F](https://forum.arduino.cc/u/JCA34F)\
**Post date:** [August 22, 2025, 3:45am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/2 "2025-08-22T03:45:11Z")

</div>

Did you try hooking up one servo and getting it working, then a second servo and so on?  
Impossible to folllow wiring in your "can-of-worms" picture.

---

<div class="post-metadata">

**Author:** ![sonofcy](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/sonofcy/32/1283617_2.png) [@sonofcy](https://forum.arduino.cc/u/sonofcy)\
**Post date:** [August 22, 2025, 3:45am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/3 "2025-08-22T03:45:43Z")

</div>

Thank you for posting the code in code tags.  
Pictures are pretty much useless, what we need are a picture of your hand drawn wiring. Also, consider simplifying. If it fails with a single servo that is easier to solve.

---

<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:** [August 22, 2025, 4:06am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/4 "2025-08-22T04:06:36Z")

</div>

Check to see if you have 5V on the center pin of one of the servo connectors. You may have blown the reverse polarity MOSFET beside the big electrolytic. Those little SOT23s were only good for 4A. Adafruit switched to a beefier one in a TO-252 DPAK that was good for 20A+ ten years back because the little ones kept going pop. The clones haven't made the switch, by and large.

---

<div class="post-metadata">

**Author:** ![xfpd](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/xfpd/32/1120236_2.png) [@xfpd](https://forum.arduino.cc/u/xfpd)\
**Post date:** [August 22, 2025, 4:28am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/5 "2025-08-22T04:28:58Z")

</div>

Should this...

> [@reyawnthegoat](#):
>
> ```arduino
> Adafruit_PWMServoDriver pwm(0x40);
> 
> ```

Be this...

```arduino
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

```

Library example: [Adafruit-PWM-Servo-Driver-Library/examples/servo/servo.ino at master · adafruit/Adafruit-PWM-Servo-Driver-Library · GitHub](https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library/blob/master/examples/servo/servo.ino)

---

<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:** [August 22, 2025, 8:08am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/6 "2025-08-22T08:08:32Z")

</div>

Sorry I cannot follow your wiring "can-of-worms", posting an annotated schematic would go a long way in solving your problem. Have you tried @JCA34F suggestion?

---

<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:** [August 22, 2025, 10:14am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/7 "2025-08-22T10:14:57Z")

</div>

> [@reyawnthegoat](#):
>
> I have a wire plugged into the wall that can draw 10A

Unfortunately you have extended the supply with crappy Dpond signal wires between the screw terminals that can't carry more than 1Amp without melting or giving instability.

As @van_der_decken said, that clone board has a tiny weak mosfet, that you can bypass (if needed) by connecting servo power directly to the V+ pin.  
Leo..

---

<div class="post-metadata">

**Author:** ![reyawnthegoat](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/reyawnthegoat/32/1233464_2.png) [@reyawnthegoat](https://forum.arduino.cc/u/reyawnthegoat)\
**Post date:** [August 22, 2025, 4:05pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/8 "2025-08-22T16:05:32Z")

</div>

Hi, thank you for responding! Could you please clarify what you mean? I am very confused and I am not following

---

<div class="post-metadata">

**Author:** ![reyawnthegoat](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/reyawnthegoat/32/1233464_2.png) [@reyawnthegoat](https://forum.arduino.cc/u/reyawnthegoat)\
**Post date:** [August 22, 2025, 4:10pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/9 "2025-08-22T16:10:13Z")

</div>

Thank you for responding! What do you mean by clone board, are you taling about the breadboard? Also, are you saying that the male to female wires I'm using are the wrong wires for the job? Is there a different set of wires I should buy off of amazon? Also, since eventually I will need to be powering 6 servos I would need to be able to power the driver to distribute that power, are there any cables you'd recommend I use that could transfer that power?

---

<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:** [August 22, 2025, 4:12pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/10 "2025-08-22T16:12:21Z")

</div>

What I wrote seems clear enough to me. I told you what to check, why to check it and even told you where to obtain something that wouldn't suffer from the same problem.

---

<div class="post-metadata">

**Author:** ![reyawnthegoat](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/reyawnthegoat/32/1233464_2.png) [@reyawnthegoat](https://forum.arduino.cc/u/reyawnthegoat)\
**Post date:** [August 22, 2025, 5:00pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/11 "2025-08-22T17:00:35Z")

</div>

Hi, I have created a diagram of my wiring, please let me know if this helps and if you have any feedback based on this:

 ![IMG_0630](https://europe1.discourse-cdn.com/arduino/original/4X/8/0/f/80f1823151cf45f60f0e2ec6de0b3117f50688fa.jpeg)

@[JCA34F](https://forum.arduino.cc/u/jca34f), @[Sonofcy](https://forum.arduino.cc/u/sonofcy), @[gilshultz](https://forum.arduino.cc/u/gilshultz) Is this diagram helpful and what you were looking for?

---

<div class="post-metadata">

**Author:** ![kmin](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kmin/32/1147370_2.png) [@kmin](https://forum.arduino.cc/u/kmin)\
**Post date:** [August 22, 2025, 5:34pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/12 "2025-08-22T17:34:43Z")

</div>

Did you consider what @xfpd wrote on post#5 ?

---

<div class="post-metadata">

**Author:** ![alto777](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/alto777/32/317385_2.png) [@alto777](https://forum.arduino.cc/u/alto777)\
**Post date:** [August 22, 2025, 7:07pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/13 "2025-08-22T19:07:21Z")

</div>

> [@kmin](#):
>
> on post#5 ?

It looks like two equivalent means to instantiate the object named _pwm_, given that the default i2c address is 0x40.

The explicit call with 0x40 might be preferable, as it makes clear where the code expects to find the device, and might make a person realize there are address jumpers on the PCA9685 that need to match.

But it is a cheap experment.

a7

---

<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:** [August 22, 2025, 7:18pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/14 "2025-08-22T19:18:52Z")

</div>

> [@reyawnthegoat](#):
>
> What do you mean by clone board

Look at the fet on your board an the one on the **[original board from Adafruit](https://www.adafruit.com/product/815)**.  
Yep, size matters.  
Leo..

---

<div class="post-metadata">

**Author:** ![xfpd](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/xfpd/32/1120236_2.png) [@xfpd](https://forum.arduino.cc/u/xfpd)\
**Post date:** [August 22, 2025, 9:22pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/15 "2025-08-22T21:22:15Z")

</div>

A sentence from the Adafruit PCA9865 document... when using many servos, power may sag, so...

> If you are driving a lot of servos from a power supply that dips a lot when the servos move, n \* 100uF where n is the number of servos is a good place to start - eg 470uF or more for 5 servos

> **[16-channel-pwm-servo-driver.pdf](https://cdn-learn.adafruit.com/downloads/pdf/16-channel-pwm-servo-driver.pdf)**
>
> 2.08 MB

[edit] the document has HTML to TEXT mistakes... "&lt" means "less than" and "&gt" means "greater than"

---

<div class="post-metadata">

**Author:** ![xfpd](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/xfpd/32/1120236_2.png) [@xfpd](https://forum.arduino.cc/u/xfpd)\
**Post date:** [August 22, 2025, 9:28pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/16 "2025-08-22T21:28:13Z")

</div>

> [@alto777](#):
>
> explicit call with 0x40 might be preferable

I agree. I did not add the address for fear of being suspended for "hard coding"... heh... but all the library examples show an address in the instance thingy of 0x40, which is the default if no value is entered.

---

<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:** [August 22, 2025, 9:49pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/17 "2025-08-22T21:49:16Z")

</div>

There is a 0.3 Ohm resistor between the two screw terminals.  
Six MG966R servos could draw 6\*2.5Amp stall.  
Do the math...  
Leo..

---

<div class="post-metadata">

**Author:** ![LarryD](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/larryd/32/215550_2.png) [@LarryD](https://forum.arduino.cc/u/LarryD)\
**Post date:** [August 22, 2025, 10:13pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/18 "2025-08-22T22:13:03Z")

</div>

![image](https://europe1.discourse-cdn.com/arduino/original/4X/f/3/6/f36edbb41b42b9d5da1af1bba3609a7284ba6a4e.jpeg)

- For only 6 servos, you can omit the **Servo Driver**.

---

<div class="post-metadata">

**Author:** ![anon94801460](https://avatars.discourse-cdn.com/v4/letter/a/278dde/32.png) [@anon94801460](https://forum.arduino.cc/u/anon94801460)\
**Post date:** [August 22, 2025, 10:39pm UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/19 "2025-08-22T22:39:03Z")

</div>

As mentioned, use a 5-6V **15 Ampere** (minimum) power supply for 6xMG996R, and use heavy duty power wiring or a servo power distribution PCB rated for 15A.

---

<div class="post-metadata">

**Author:** ![reyawnthegoat](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/reyawnthegoat/32/1233464_2.png) [@reyawnthegoat](https://forum.arduino.cc/u/reyawnthegoat)\
**Post date:** [August 23, 2025, 12:55am UTC](https://forum.arduino.cc/t/my-servos-wont-move/1403736/20 "2025-08-23T00:55:17Z")

</div>

I am confused, so are you saying that I should power all 6 servos by connecting them through the breadboard ad just have the power go through the power rails of the breadboard?

[Next page](https://forum.arduino.cc/t/my-servos-wont-move/1403736.md?page=2)
