PCA9685 I2C to PWM module

The PCA9685 is used for instance on the Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface. With this module additional servos can be interfaced without using a PWM port. Typical applications are servo gimbals or payload dropping.


After soldering the connectors according to this guide you are ready to use the board with the px4. The driver defaults to the I2C expansion bus (bus 3 on fmuv1, bus 1 on fmuv2). Just wire a 4pos DF13 conenctor to the input pins of the board. You can connect the VCC and V+ inputs for the adafruit board together to the I2C 5V wire (For a few normal servos).

For testing connect a servo at output port 0


You may have to add the driver to the makefile as it is not included by default

The driver is not started by default. The following commands can be used to test the driver:

pca9685 start
pca9685 test

If everything is set up correctly the servo at port 0 will move to the center.

Currently the driver listens to the uorb publication for actuator control group 2 (payload/gimbals) and sets the servo PWM values according to the values received in this topic.

Translations of this page:

Quick Links

QR Code: URL of current page