Still tinkering with my pwm on my lights, I should really just build my own boards to interface, but dont have the time to do it.
My lights run common ground so basically pwm from the pca9685 needs to turn a p channel mosfet on amd off to run my lights.
I bought these modules, and although they work, and have a really good p channel mosfet in them, the way they did the circuit, they really slowed down the turn off of the mosfet and the octocoupler, by using too high of a pullup resistor. The specs when I bought them said they work at 0 to 1500 hz. In reality they were only usable to about 200 hz, and with the long mosfet turn off times, I didnt get very good resolution. 1 percent duty cycle at 120hz, still had the lights at 20 percent brightness. So these modules were built well, but not engineered very well. They were DfRobot modules.
So leave it to ebay, I found some different modules that use p channel mosfets and are optoisolated. The circuiting is much better allowing for faster mosfet turn off times and more usable range for pwm. These modules are usable with good range to 1000hz. They have a decent p channel mosfet, with a little more on state resistance, but at 4 amps max per channel, they are quite usable. These modules look like this
So I installed these and now I can dim to a real 1 percent at 500hz which is alot easier on the eyes than 100-200 hz. The fish will appreciate the gentler sunrise and sunsets as well!
I should really build my own circuit with either 2 transistors in a push pull configuration, or a mosfet driver IC. That would let me speed up the pwm more but since the PCA9685 only goes to 1500hz, its not worth the bother. The modules I used are usable to 1000hz and cost 7 dollars for 4 of them shipped from China