Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685

EDIT ---- I was going to ask for help writing a driver for this, but I just got something working, so hopefully I’ll have some code to share soon.

For reference, here is the product:

The chip datasheet:

and some other code that I am referencing:

I wrote a small driver class for the PCA9685 during one of our internal hackathons.

One would think, that after all the code that you have written, that I would at least check through your Github repos before starting from scratch. In any case, I am very happy to see this, because there are a whole bunch of things about PWM and I2C that I don’t understand, so reference code is awesome.

What was the Impbot?

So I really love cute robots (see below), and I’ve wanted to build an imp-powered robot since I before I started working at Electric Imp… but finding time is tough. So my plan is to slowly build out all the parts, drivers, etc I need so that once I get around to it - it’s easy :slight_smile:

Here’s the cute robot tattoo on my wrist:

Reminds me of some of the the robots from the iOS game Machinarium. I’m also interested in an Impbot. If only good servos weren’t so expensive. I think I might build an arm and start working from there.

Someone build an “imp-powered” robot arm at a hackathon we went to (it was actually Arduino-powered with imp for wifi).

Here’s a video, and here’s his source code.

The really cool thing about that project was that he sent voice commands to his robotic arm (using Siri, and Twilio).

SiriProxy? When I checked into that last, it had been broken by iOS 7. I should take a closer look at using Twilio the other way around.

Have you picked any servos that you really like? seems to be a good place to buy parts.

It was not SiriProxy - they simply made a contact in their phone called “Gretchen” (which was a Twilio number), and sent messages to Gretchen using Twilio :slight_smile:

I do not have servos that I like, nor have I looked into them in great depth.

Is there anyone on our forums who has experience with robotics?

I’m getting 0’s back from the chip for the i2c writes, but no movement on my servos with those values. I think the ones I have are pretty standard.

It’s been 3 or 4 months since I looked at / thought about that code and hardware…

I’ll see if I can find some time later this afternoon to put everything back together and run my code and see what happens.

Were you using the Adafruit breakout, or some other board with the PCA9685?

The AdaFruit board… this one

I’m using PIC18F4550 to communicate with PCA9685 (ADAFRUIT) over I2C, programming is done in mikro c. My problem is, the servo is not getting positioned as I want it to be.
Variable I’m using are
Frequency = 60hz
if I connect a LED it is showing the effect.
I’m using analog servos.