Install Driver PCF9685 Servo Controller in Jetson Nano

Muhammad Yunus
2 min readJul 25, 2021

--

  • Add current user to i2c group,
sudo usermod -aG i2c $USER
  • Create gpio group,
sudo groupadd -f -r gpio
  • Add current user to gpio group,
sudo usermod -a -G gpio $USER
  • Install Servokit library,
pip3 install adafruit-circuitpython-servokit
  • Run i2cdetect command,
i2cdetect -y -r 1
  • Without PCA9685 connected, result should be,
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Note: Before wiring the Jetson, make sure that the power is disconnected. When the power is plugged in, the power and ground rails on the headers are always live, even if the processor itself is off.

  • Jetson Nano to PCA9685 Servo Driver Wiring diagram,
J41 Pin 27 (SDA) -> PCA9685 SDA
J41 Pin 28 (SCL) -> PCA9685 SCL
J41 Pin 1 (3.3V) -> PCA9685 VCC
J41 Pin 6 (GND) -> PCA9685 GND
  • Then run again i2cdetect command, there should be an i2c address listed,
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
  • Run example below to check if library able to control the driver board,
from adafruit_servokit import ServoKitservo_pin = 0kit = ServoKit(channels=16)
kit.servo[servo_pin].angle=90
kit.servo[servo_pin].angle=120
kit.servo[servo_pin].angle=150
  • Servo pin is from 0–15.

Source :

--

--

Muhammad Yunus
Muhammad Yunus

Written by Muhammad Yunus

IoT Engineer, Software Developer & Machine Learning Enthusiast