Main Content

Many projects done with the Arduino, involve using a Servo.

If using only one or two servo, these can be controlled direct from an Arduino using a library and allocating pins to do this.

But for projects needing many servo to be controlled, the (lets give it its full name) PCA9685 16-channel, 12-bit PWM Fm+ I2C-bus LED Controller, may be the better choice.

The PCA9685 LED controller although designed to control LED’s, can be configured to control Servo. (Data Sheet)

The PCA9685 communicates via I2C and has 64 possible address, this means that 64 of these devices can be daisy chained one after the other, each with 16 servo or LED attached to each. That totals 1024 number that can be controlled from one Arduino.

Now having a project that has many Servo to control, lets say a four legged robot. Each leg having two servo to control it. (we start simple, in theory my app can control 1024)

Setting up eight servo, finding the trim setting for each, determining there max. and min. positions, can be very time consuming.

Writing and re-writing code to see what happens, can be quite a pain.

So I decide to make an application to make things simple, and help find each Servo setting required and be able to run sequences (script) to test commands sent to the servo.”

Link to article