I am researching a way to generate PWM for 7 independent DC motor drivers, each connected to a 12 V DC motor. The drivers take in a PWM signal, a direction signal and a 12 V DC supply and use this to control the speed of the motors.

Currently, the design uses the Adafruit 16-Channel 12-bit PWM/Servo Driver board, based on the PCA9685 IC to generate multiple PWM signals from only one Arduino 101 (via the I2C bus). The issue with this IC and boards based on this IC is that the maximum possible PWM frequency that it can generate (1600 Hz) produces an audible hum from the motors when active.

It would be better to have a PWM generating circuit that can generate PWM at ~25 kHz, where it would be outside the audible frequency range. The circuit must be controlled by an Arduino, as this is the platform that existing software has been developed for.

Are there any pre-made circuit boards or integrated circuits that would allow this functionality?

  • 1
    \$\begingroup\$ Seven motors should be controlled with care - your Arduino Vss would be tied to the motor-driver ground (which is often common with the 12V motor supply ground). Transients & large ground currents can cause problems. You might avoid these problems by interfacing Arduino-to-driver(s) through opto-couplers. \$\endgroup\$
    – glen_geek
    Commented Dec 7, 2018 at 15:22

1 Answer 1


Reason for PCA9685 quite low frequency is its main use is led driver. I recommend you to pick motor controller IC which is meant to do the job. Also I wonder how you are talking about 12V supply because I checked the datasheet and it pointed out absolute maximum input 6V (see the attached picture).

Based on fast check I2C interface is quite uncommon in motor controllers, at least in multi output ones. Seems like its easier to find drivers with SPI interface.

I'm not sure about premade modules offering such functionality (Excluding expensive industrial controllers). Maybe you can find some hobbyist drivers tho.

How about implementing something like this: http://www.ti.com/lit/ds/symlink/tpic2050.pdf

enter image description here

  • \$\begingroup\$ Do you have any experience of making PCB's. If no its great experience to design one yourself! :) \$\endgroup\$
    – JuhoR
    Commented Dec 7, 2018 at 13:09
  • \$\begingroup\$ Many thanks for the response and the link to that IC, I am going to try to design my own circuit. I mention 12 V input because that is what the motor H bridge drivers receive, not the PWM generator circuits. \$\endgroup\$
    – jholzer
    Commented Dec 8, 2018 at 21:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.