You want to make a cool Arduino robot, maybe a hexapod walker, or maybe just a piece of art with a lot of moving parts. Or maybe you want to drive a lot of LEDs with precise PWM output. Then you realize that the Arduino has only a few PWM outputs, and maybe those outputs are conflicting with another shield! What now? You could give up OR you could just get Adafruit's handy PWM and Servo driver shield. It's just like the popular PWM/Servo Breakout but now Arduino-ready and works with any Arduino that uses shields: Uno, Leo, Mega, ADK, its all good.
Using only two I2C pins, control 16 free-running PWM outputs! You can even stack up 62 shields to control up to 992 PWM outputs (which we would really like to see since it would be glorious and like 4 feet tall) Because I2C is a shared bus you can also connect other I2C devices and sensors to the SCL/SDA pins as long as their addresses don't conflict (this shield has address 0x40)
Features
Protocol
I2C-controlled PWM driver with a built in clock.
Voltage
5 Volt
Pins
6 address select pins so you can stack up to 62 of these on a single i2c bus.
12 out of 16 output pins can be accessed when stacked.
Freq.
Adjustable frequency PWM up to about 1.6 KHz
Output
12-bit resolution for each output, about 4us resolution at 60Hz update rate.
Configurable push-pull or open-drain output
This product comes with a fully tested and assembled shield as well as 4 pieces of 3x4 male straight header (for servo/LED plugs), a 2-pin terminal block (for power) and a stick of 0.1" header so you can plug into an Arduino. A little light soldering will be required to assemble and customize the board by attaching the desired headers but it is a 15 minute task that even a beginner can do.
Reviews
Add to Wish List
Adafruit 16-Channel 12-bit PWM/Servo Shield - I2C interface
For all of you out there who want to control 24 channels of PWM, check out this breakout board for the TLC5947 PWM driver chip. This chip can control 24 separate channels of 12-bit PWM output.