PWM led driver PCA9685. Can I read an input as well.

Sorry if this isn't the right topic catagory.
I'm pretty sure I'm trying to do something that can't be done with the PCA9685, but just wanted to check. And if it can't does anyone have a suggestion what I could use.

I have built something that is very similar to the project in this video.
However I am currently using a mcp23017 as the io expander.
That works well, however I was wondering if I could take it further and power the LEDs with PWM over I2C with a PCA9685, Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface [PCA9685] : ID 815 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits.

Am I right in thinking that this board can only output. I can't read an input such as a button push.
If not, could anyone suggest if there is an io expansion board with PWM capability or is there a different approach that I could use for dimming/fading the LEDs.

Many thanks

PCA9685 is indeed output only.

I2C is a bus; you can connect multiple devices to it. As long as those devices have different addresses.

So you can connect the PCA9685 and the MCP23017 at the same time and do what you want. Use the MCP23017 for simple IO and the PCA9685 for PWM output.


Thanks for the suggestions.

I shall get one of those sx1509, as one board that does both sounds like a good idea.

Might try connecting both mcp23017 and pca9685 while I'm waiting for that, as that sounds like a useful thing to work out how to do.
Thanks a lot.