Skip to main content

Troubleshooting

Start with the symptom you can observe. Apply one change at a time, then retry the smallest Quick Start example.

SymptomCheckFix
I2C error, or the controller cannot find the boardTwo or more of these boards share one I2C bus, all at the default addressEvery board on a shared bus needs a different address. Solder-close one or more of JP1 to JP6 on all but one board.
I2C error, or all channels stay offOE is driven or pulled highOE is active low and pulled low on board, so outputs are enabled by default. Leave it unconnected, or tie it low, unless you specifically want to disable all 16 outputs.
Channel output stays at 0, or a connected servo does not moveNo power on the V+ railThe Qwiic connector only carries logic power (3.3 V). The servo/PWM output stage needs its own supply on the screw terminal or the header's V+ pad.
Servo does not reach its full range, or buzzes at the ends of its sweepPulse range does not match the servoCall setServoPulseRange() and setServoAngleRange() with the values from your servo's own datasheet. The library defaults to 500-2500 us over 0-180°, which does not fit every servo.
I2C is unreliable or the bus reads stuck low, with two or more of these boards chained on QwiicJP7 still closed (its default) on more than one boardJP7 ships closed, adding a 10 kΩ pull-up on SDA and SCL. Every closed JP7 on the bus adds another one in parallel. Cut JP7 on every board except at most one.

Still blocked?​

Ask on the community forum. Include the following so someone can reproduce it:

  • product name and SKU: Soldered PWM & Servo Driver 16-Channel 12-bit PCA9685 breakout, 333191
  • controller board and software environment
  • library or module revision
  • complete error text or unexpected output
  • connection method and power source
  • a clear photo of the wiring