PCA 9685 isn't working

Hi, I recently bought a 16 channel PWM, PCA 9685. And then I followed this tutorial https://srituhobby.com/16-channel-servo-motor-control-driver-board-for-arduino/ but it's not working. I've connect the 4 wires to Arduino and the power led is lighting up, but the servo isn't moving. I use a battery and buck converter to 5V, yet the servo motors aren't moving at all. I've tried testing all of the servos motors one by one and all of them works. So, I don't know what's the problem

Please post Your wiring and Your code here. Watching tutorials does not tell the same.
What exactly is that "a battery"?

Battery : 800mAh 7.4V 25C (stepped down to 6.0V using buck converter)
Code: /*servo motor driver board control Home Page*/#include <Wire.h>#incl - Pastebin.com

let me guess, wired to Vin? May/may not work.

Please post the code, using code tags, here.
I wonder what You measure at the Arduino 5 volt pin and GND.

From "pastebin"...

/*servo motor driver board control
   Home Page
*/

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver srituhobby = Adafruit_PWMServoDriver();

#define servoMIN 150
#define servoMAX 600

void setup() {
  Serial.begin(9600);
  srituhobby.begin();
  srituhobby.setPWMFreq(60);
}

void loop() {
  for (int servo = 0; servo < 4; servo++ ) {
    srituhobby.setPWM(servo, 0, servoMIN);
    Serial.println(servo);
    delay(300);
  }

  for (int servo = 3; servo >= 0; servo-- ) {
    srituhobby.setPWM(servo, 0, servoMAX);
    Serial.println(servo);
    delay(300);
  }
}
``

Thanks. Fiddling with a phone links are not popular.

Check to see that you have 5V on the servo V+ pins. If you have one of the boards with the SOT-23 reverse polarity MOSFET on board, you may have blown it and not realized it.

Wired to V+ on the blue screw terminal

Green?
term

Eh sorry my bad yes green screw terminal, I connected the 6v to the screw terminal

Hi, @algorithmicace
Welcome to the forum.

Do you have a DMM? (Digital MultiMeter)

Can you please post some images of your project?
So we can see your component layout?

Thanks.. Tom.. :grinning: :+1: :coffee: :australia:

Hello Tom,

Unfortunately, I don't have a DMM currently.
Do you want to see images of my project? Or just the schematic diagram?

I think I found out the cause of the problem. When I tried scanning the I2C address, it showed the address of the PCA9685 (0x40). So I concluded that the I2C communication is indeed working. So, I tried only connecting the PWM signal from the servo motor to the controller. The ground wire and the live wire from the servo motor, I directly connected them to the power supply (7.4V 800mAh 25C, reduced to 6.0V), and it worked. It worked for multiple servos as well as long as I received input power from the power supply directly, rather than from the servo controller (which was connected to the power supply). So I think that the screw terminal on the servo controller is fried, or unusable for any other reasons. What do you think? What should I do?

Thanks :smiley:

This discussion also may help: Problem with PCA9685 16-Channel Servo Driver

I think you should go back and read what I wrote in post #8 a day ago.

Ouh, I'm sorry, I must have missed it. Is there any way to fix it or I just have to buy new controller

If you indeed have a board with a SOT-23 MOSFET, and you have no 5V on any of the V+ servo pins (which are still open questions because you haven't said), you have likely blown the MOSFET. You can try bypassing its remains by soldering a jumper from the positive side of the terminal block to the positive side of the electrolytic capacitor. If you do that, should you ever get the polarity wrong on the terminal block you'll likely instantly toast any servos that are hooked up.

I don't have a multimeter with me so I can't measure the voltage on the servo V+ pin. I'm confused why it happens, there's "reverse polarity protected" on the back of the board, why does it still happened though

I didn't say anything about a multimeter.

There's all kinds of ways to see if you have 5 volts on the V+ pins. You could use an LED and a resistor. You could hook up a wire from a V+ pin to an analog input and write a trivial sketch to print out the value. You could... oh I give up.

I don't understand what you're talking about :sob: