Adafruit 815-fba-FBACA

Adafruit 16-Channel 12-bit PWM/Servo Driver with I2C Interface User Manual

Model: 815-fba-FBACA

1. Introduction

The Adafruit 16-Channel 12-bit PWM/Servo Driver is a breakout board designed to expand the PWM output capabilities of microcontrollers. It allows control of up to 16 free-running PWM outputs using only two I2C pins from your microcontroller. This driver is suitable for applications requiring multiple servo controls or precise LED dimming, offering 12-bit resolution for each channel. Multiple boards can be chained together for even greater control capacity.

Adafruit 16-Channel 12-bit PWM/Servo Driver board with included headers and terminal block

Figure 1: Adafruit 16-Channel 12-bit PWM/Servo Driver. The board features the PCA9685 chip, 16 PWM output pins (labeled 0-15), I2C address jumpers (A0-A5), power input (V+ and GND), and I2C communication pins (SCL, SDA, VCC, GND). Included components like male headers and a 2-pin terminal block are also shown.

2. Package Contents

Verify that all items listed below are present in your package:

3. Features

The Adafruit PWM/Servo Driver offers the following key features:

4. Setup Instructions

Follow these steps to set up your Adafruit PWM/Servo Driver:

  1. Assembly: Solder the provided headers and terminal block to the breakout board. The 6-pin header is typically used for connecting to a breadboard or microcontroller's I2C pins. The 3x4 male headers are for connecting servos or LEDs. The 2-pin terminal block is for external power.
  2. Power Connection: Connect an external power supply to the 2-pin terminal block (V+ and GND). Ensure the voltage is appropriate for your servos or LEDs (typically 5V-6V for most servos). The board includes polarity protection.
  3. I2C Connection: Connect the board to your microcontroller using the I2C pins:
    • Microcontroller GND to Driver GND
    • Microcontroller SCL to Driver SCL
    • Microcontroller SDA to Driver SDA
    • Microcontroller 3.3V/5V (logic level) to Driver VCC (for I2C logic power)
  4. I2C Address Configuration: The board has six solder jumpers (A0-A5) for setting the I2C address. By default, all are open (address 0x40). Solder closing a jumper sets that bit to '1'. This allows multiple boards to be used on the same I2C bus. Refer to the PCA9685 datasheet or Adafruit's learning resources for detailed address configuration.
  5. Servo/LED Connection: Connect your servos or LEDs to the 3-pin output headers. Each header has a signal pin (PWM 0-15), a V+ pin (connected to the external power supply), and a GND pin. Ensure correct polarity for LEDs.

For detailed wiring diagrams and specific microcontroller connections, please refer to the official Adafruit learning guides available on their website.

5. Operating Instructions

Operating the Adafruit PWM/Servo Driver involves sending I2C commands from your microcontroller to control the PWM outputs. The PCA9685 chip handles the PWM generation independently once configured.

  1. Software Library: It is highly recommended to use a dedicated software library for the PCA9685 chip, such as the one provided by Adafruit for Arduino or Python. These libraries simplify the I2C communication and PWM calculations.
  2. Initialization: In your microcontroller code, initialize the I2C communication and the PCA9685 driver. This typically involves setting the I2C address (matching your hardware configuration) and the desired PWM frequency.
  3. Setting PWM Output: To control a servo or LED, use the library functions to set the PWM pulse width for a specific channel (0-15). The 12-bit resolution means you can set values from 0 to 4095.
    • For servos, the pulse width corresponds to the servo's angle. Typical values range from approximately 150 (0 degrees) to 600 (180 degrees) at a 50Hz PWM frequency, but these may vary by servo.
    • For LEDs, the pulse width controls brightness. A value of 0 is off, and 4095 is full brightness.
  4. Chaining Boards: If you are using multiple boards, ensure each has a unique I2C address set via the solder jumpers. Your software library should allow you to address each board individually.

Refer to Adafruit's sample code and tutorials for practical examples and detailed programming instructions.

6. Maintenance

The Adafruit PWM/Servo Driver is a robust electronic component designed for long-term use with proper care. Minimal maintenance is required:

7. Troubleshooting

If you encounter issues with your PWM/Servo Driver, consider the following troubleshooting steps:

For further assistance, consult the Adafruit learning system or community forums.

8. Specifications

FeatureDetail
Model Number815-fba-FBACA
BrandAdafruit
PWM Channels16
PWM Resolution12-bit (4096 steps)
Control InterfaceI2C
I2C Address RangeConfigurable via 6 solder jumpers (A0-A5)
Operating Voltage (Logic)3.3V to 5V (VCC pin)
External Power Input (V+)Up to 6V (for servos/LEDs)
Dimensions (LxWxH)2.76 x 4.72 x 0.39 inches (70.1 x 119.9 x 9.9 mm)
Item Weight0.317 ounces (9 grams)

9. Warranty and Support

This product is manufactured by Adafruit. For warranty information, technical support, and additional resources, please visit the official Adafruit website. Their extensive learning system provides tutorials, datasheets, and community forums that can assist with setup, programming, and advanced applications of this PWM/Servo Driver.

Official Website: www.adafruit.com

Related Documents - 815-fba-FBACA

Preview Charlieplexed PWM LED Driver Welding and Installation Guide for IS31FL3731
Step-by-step instructions for assembling and installing the Charlieplexed PWM LED Driver using the IS31FL3731 chip with a 9x16 LED matrix. Includes hardware assembly and software library setup for Arduino.
Preview Guide to Using CircuitPython Libraries with FT232H on Windows, Mac, Linux
Learn how to connect I2C, SPI, and GPIO sensors and breakouts to your computer using the FT232H USB interface with CircuitPython libraries. This guide covers setup for Windows, macOS, and Linux.
Preview Charlieplexed PWM LED Matrix Installation and Driver Welding Instructions
Comprehensive guide for installing and assembling the Charlieplexed PWM LED Matrix using the Adafruit IS31FL3731 driver, including library setup and hardware soldering instructions.
Preview Adafruit PM2.5 Air Quality Sensor Guide
Learn how to use the Adafruit PM2.5 Air Quality Sensor with Arduino and Python/CircuitPython. This guide covers wiring, code examples, and usage notes for monitoring air quality.
Preview CircuitPython Hardware: SSD1306 OLED Display Guide
A comprehensive guide to using SSD1306 monochrome OLED displays with Adafruit's CircuitPython and MicroPython firmware, covering hardware setup, wiring, and software examples for I2C and SPI interfaces.
Preview Pantalla OLED SSD1306-SH1106 I2C-SPI 7 Pines: Guía de Uso con Arduino
Guía completa sobre pantallas OLED SSD1306 y SH1106 para Arduino. Aprende sobre sus características, configuración I2C/SPI, conexión de pines, instalación de librerías Adafruit y ejemplos de código para tus proyectos de electrónica.