PCA9685 Servo Controller

PCA9685 Servo Controller by Adafruit

Connection Type
Number of servos
Audio Support
Camera Support

Do you want to make a cool Arduino robot with ARC? Maybe a hexapod walker or a piece of art with many moving parts. The PCA9685 servo breakout (also found in Adafruit's popular PWM/Servo pcb) that works with any Arduino that uses shields: Uno, Leo, Mega, or ADK. We recommend using the Uno because it is compact and, combined with this shield, provides a ton of I/O. However, there are several EZB firmwares on this page that you can use for your desired configuration.

The Arduino can be programmed with the EZB firmware for various capabilities when connected to ARC. The tutorial to program the EZB firmware can be found HERE.

Download Firmware Sourcecode


Now that you have the firmware, you can follow the tutorial to install it by clicking here.


Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

I am having the same issues servos not working in ARC
#13   — Edited
Hi Tom, 

I went through the steps that used to stop ARC for me:

1 - the wrong baud rate, need 57600 in ARC for the Arduino
2- missing a separate 5v or 6v power supply for the PCA9685

The last thing that usually stops ARC for me was my Anti-Virus program I was using.  You can add it to your Anti-Virus program or just shut it off and check to see if that is the problem.

That is all I can come up with at this time, sorry.
#14   — Edited
Comment removed
#16   — Edited
I just tried DJ code above, using the PCA9685 with 8 servos, a Arduino uno for this test, also works well
#17   — Edited

DJ that was the code EzAng said was needed in Post #10 of his. That is why I said what I said in my post.  Anyway I loaded your new firmware and the above video shows you how well it works.  Note I did test that all this hardware works using the Adafruit PWM servo script and it worked great.

Also ARC is the latest version and is connected to the UNO at 57600 baud as stated above.
#18   — Edited
A4-5 are SCL and SDA on the Arduino
DJ, tried the .zip you posted earlier, still no servo control. All is wired and assigned correctly. Hardware is 100% functional outside of ARC. Inside of ARC, nothing.

Smiller29, Also tried your way with no results. I have mine connected to the dedicated pins, R3 has them closest to the reset button, and labeled on the bottom of the board, with SCL closest to switch and SDA the next one over, beside AREF. I get the same as your video regardless which boards or breakouts used.

As I've said before, used ARC for other projects that DID NOT require an expansion board and all work, so still focusing on ARC-UNO-Breakout communication failure, as my exact set up works outside of ARC... Hours looking through code, etc and can't find the smoking gun here. Good luck, and I'll be following updates.
#21   — Edited
comment removed.
Using the other pins has no impact on making it work.  This is a code issue.
#23   — Edited
Like I said:

I tried DJ's, Micky's code - it works

I modified their code, it all compiles and uploads it also works,
It maybe working for you but it is not working for Tom and I.   I know the hardware works when you take ARC and this code out of the picture.  I am using the latest 16 port board lib versions. Also the current IDE and the current ARC.  This is not a connection problem or Hardware problem.  This is a code issue somewhere.
#25   — Edited
comment removed now
#26   — Edited
OK Guys I was able to get this to work for me after making changes to the firmware please try the attached file. I have put comments in the code around my changes.  DJ please review and test so you can update the package above..

#27   — Edited
comment removed
What did not work?  was there and issue with the zip?
#29   — Edited
That's ok,

Micky's and DJ,s code work, and my modified file works well also
#30   — Edited
Comment removed as I don't like post large code scripts.
@ smiller29 - Solid work my friend, I am a amateur extra VE out of middle TN, will shoot you an email. Everything works on both breakouts. A++/ Knew I wasn't crazy!

@DJ - Thanks for posting the code up top. Proves the community based center this program has. Look forward to contributing as well. Have several projects to share soon, time allowing.

@EzAng - Thankful for your input too, seems its a specific issue, the more the community knows the better!