I've got a BLDC motor which I can control with a PWM signal ranging from 0V to 5V. So I use the PCA9685 PWM driver to create a signal. The PCA9685 product page at Adafruit says this about the output voltages:
It is 5V compliant, which means you can control it from a 3.3V microcontroller and still safely drive up to 6V outputs
I provide 5V as input to the PCA9685. However, when I set the pulse length to the max of 4096 it outputs 3.3V on the signal line (as measured with a multimeter), instead of the 5V which I expect (and need).
The simple code I use with the Adafruit Python library:
import Adafruit_PCA9685
pwm = Adafruit_PCA9685.PCA9685()
pwm.set_pwm_freq(60)
pwm.set_pwm(0, 0, 4090)
I tried setting the pulsewidth to higher than 4096, but then the voltage I measure returns to 0V.
Is this a software thing or am I misinterpreting the quoted information on the product page? What am I missing here?