Close

Getting the PCA9685 to work

A project log for Aruna - ROV

Modular ROV for underwater exploration, discovery and monitoring

noel-moeskopsNoeël Moeskops 09/12/2020 at 23:160 Comments

In the PCB tests log I talked about having the wrong layout for the PCA9685 IC (I used the TTSOP28 pinout with the HVQFN28 package). In order to solve this I considered four options:

I kinda wanted to have PWM control as fast a possible because its such a vital part of the ROV. So I opted for the first option of cross wiring the IC, because it could be done within one day (or, so I thought).

Of the total 28 pins of the PCA chip only 9 vital (+4 non vital) pins needed to be rerouted:

pin nr.
PCA9685PW/TSSOP28PCA9685BS/HVQFN28
11
led5VSS
20led13~OE
21led14A5
22led15ext clock
23 ~OE
I²C SCL
24A5I²C SDA
25ext clock
VDD
26I²C SCLA0
27I²C SDAA1
Left: VCC (pin 25) copper pad destroyed. Right: finished resoldering

Soldering wires on the tiny connections was a frustrating task. The pad of pin 25 (middle pin in the left picture) was even broke due to extensive heat. And I also broke a solder tip (don't ask how). Luckily I managed to solder directly to the IC and connected pin 25, 26 and 27 to VCC. As can be seen on the right picture.

Finished rewirering. Now I finally understand why sci-fi films have wires sticking out of their PCB's!

While cutting the traces I however, also cut the I²C-SCL trace. I didn't notice it at first and thought that I blew up the IO pin on my ESP somehow. So I needed an extra wire going from I²C-SCL directly to the ESP (top wire on the picture). After the complete rewiring the PCA now has the address `0b1100111`. And the Adafruit PWM library finally was working properly.

Four PWM signals after successful I²C communication
The back of the PCB is really getting seasoned, but I'm very glad the chip is working now. Now I'm off to write a driver.

Discussions