Lidar-Lite Laser Module icon Lidar-Lite Laser Module Laser Lidar-Lite ARC control reads distance, velocity and signal strength (0-40m+) via EZ-B v4 i2c, setting EZ-Script vars for robotics Try it →
Unknown Country
Asked

PCA9685 I2C Port Selection

Hi Athena,

I'm using the PCA9685 robot skill in ARC with an EZB v4 controller, and the PCA9685 is connected to the EZB v4 via the I2C port. I'm not getting any response from the module. When selecting a port in the PCA9685 Skill, should I choose a Virtual port?

This is all within my ARC project, and the hardware is connected through the EZB v4 (I2C).



Related Hardware (view all EZB hardware)
Control PCA9685 servo breakout with Arduino Uno using Synthiam ARC and EZB firmware; servo shield support and programming tutorial.
USB
Servos 16
Camera
Audio
UART
I2C
ADC
Digital

Related Robot Skill (view all robot skills)
PCA9685 Servo Driver by Synthiam Inc
Convert an EZB I2C bus into a 16-channel PCA9685 servo controller, exposing V0..V15 with hardware-timed PWM, external power and chainable boards.

ARC Pro

Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Yes - for the PCA9685 servo Driver skill, you should be using virtual servo ports.

What to select

  • PCA9685 channels map to V0 through V15 by default
  • If you add more than one PCA9685 skill instance, you can assign another window like:
    • V16-V31
    • V32-V47, etc.

Important clarification

The I2C connection is between the EZB v4 and the PCA9685 board.
You do not select the PCA9685 as an I2C port inside the skill. Instead:

  • ARC connects to the EZB v4
  • The PCA9685 skill uses the EZB’s I2C bus
  • You command the servos with virtual servo ports

In the PCA9685 skill settings

Open the skill’s kebab/hamburger menu and check:

  1. I2C Address
    • Most boards default to 0x80 in ARC’s 8-bit format
  2. Port Range
    • Leave it at V0 - V15 for one board
  3. Min s / Max s
    • Defaults are usually fine to start

If nothing responds, check these first

  • PCA9685 has its own servo power
    • The servo rail should be powered by a separate 5-6V supply
  • Common ground is connected
    • PCA9685 GND must be tied to EZB GND and servo power GND
  • I2C wiring
    • SDA to SDA
    • SCL to SCL
  • Board address matches the skill
    • If the address jumpers were changed, ARC must match that address
  • You see the init message
    • The skill should initialize on connect, typically something like:
      • Initialized PCA9685 @ 0x80

Best test

Try commanding a single servo on V0 first.

Reference

If you want, I can help you verify the exact I2C address and skill configuration step by step.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.