Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
Grablo Help Grablo Help
문의하기
Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
loading
  1. Home
  2. User Manuals
  3. I/O Device
  4. PCA9685 16-Channel 12-Bit PWM Servo Driver
Updated on August 11, 2025

User Manuals

  • Folder icon closed Folder open iconQuick Start Guide
    • Grablo!
    • Basic Concepts
  • Folder icon closed Folder open iconProject
    • General
    • Sharing Project
  • Folder icon closed Folder open iconLogic
    • Logic
    • Control Group
    • Control
    • Condition Group
    • Action Group
    • Condition
      • General
      • Type
        • Always Met
        • Once Met
        • Variable Comparison
        • Schedule
        • Time Range
        • Time Interval
        • Condition Reference
        • Action Reference
        • Change Detection
        • Custom Condition
    • Action
      • General
      • Type
        • Write Variable
        • I/O Device Control
        • Time Delay
        • Timer
        • Display Image
        • Play Media
        • Synthesizer
        • Audio Recording
        • Audio Transform
        • Shell Command
        • Speech-to-Text
        • Text-to-Speech
        • File System
        • Read/Write File
        • Database
        • HTTP Communication
        • MQTT Communication
        • OPC UA Communication
        • Modbus Communication
        • Send Email
        • Telegram Message
        • User Defined Communication
        • PID Control
        • Statistics
        • Collection
        • Custom Action
  • Folder icon closed Folder open iconDashboard
    • General
    • Widgets
  • Folder icon closed Folder open iconSetting
    • GPIO
    • Variables
    • I/O Device
    • File Editor
    • Collection
    • Timer
    • Image Viewer
    • Audio Transfrom
    • Media Player
    • Synthesizer
    • Text-to-Speech
    • Speech-to-Text
    • Audio Recorder
    • MQTT Client
    • OPC UA Client
    • Modbus
    • Email Client
    • Telegram Bot
    • Database
    • User Defined Communication
    • PID Control
    • Statistics
  • Folder icon closed Folder open iconI/O Device
    • DS18B20 Digital Temperature Sensor
    • MAX31865 RTD Temperature Sensor
    • TinyGPS++ GPS Library
    • BMP180 Digital Pressure and Temperature Sensor
    • AHTx0 Temperature and Humidity Sensor
    • SHT2x Temperature and Humidity Sensor
    • Servo Motor Control
    • PWM Signal Output
    • PWM Signal Monitoring
    • Hardware PWM Signal Output
    • LED Control
    • Push Button Input
    • Digital I/O
    • Stepper Motor Control
    • High Speed Counter
    • ADS1x15 ADC
    • ADXL345 3-Axis Accelerometer
    • BME280 Temperature, Humidity, Pressure Sensor
    • BMP280 Temperature, Pressure Sensor
    • MLX90614 Infrared Temperature Sensor
    • MCP4725 DAC
    • QMC5883L 3-Axis Magnetometer
    • SHT31 Digital Temperature and Humidity Sensor
    • TCS34725 RGB Color Sensor
    • VEML6070 UV Sensor
    • BH1750 Digital Light Intensity Sensor
    • DS3231 RTC High-Precision Real-Time Clock
    • MPU-9250 9-Axis IMU Sensor
    • CCS811 Carbon Dioxide and TVOC Air Quality Sensor
    • VL53L0X ToF Laser Distance Sensor
    • TFmini Plus(S) LiDAR Distance Sensor
    • MAX7219 8-Digit 7-Segment Display
    • PCF8574 LCD Display Driver
    • HC-SR04 Ultrasonic Distance Sensor
    • LED Brightness Control
    • RGB LED Color Control
    • DC Motor Control
    • AT24C256 EEPROM Memory
    • DHTxx Temperature and Humidity Sensor
    • MCP3xxx ADC
    • LCD Display Driver (MCP23008, MCP23017)
    • MFRC522 RFID Reader
    • Passive Buzzer
    • NeoPixel (WS281x) LED
    • Infrared (IR) Receiver
    • NeoPixel Matrix
    • ST77xx TFT Color LCD
    • ILI9341 TFT Color LCD
    • SSD1306 0.96-inch Monochrome OLED Display
    • SH1106 1.3-inch Monochrome OLED Display
    • MAX7219 8×8 LED Dot Matrix
    • HT16K33 4-Digit 7-Segment Display
    • HX711 Load Cell 24-bit AD Converter
    • TCS3200 RGB Color Sensor
    • MPU6050 6-Axis Gyro Accelerometer
    • TM1637 4-Digit 7-Segment Display
    • PM2008(M) Particulate Matter Sensor
    • PMS x003 Particulate Matter Sensor
    • MAX30102 SpO2 and Heart Rate Sensor
    • AS608, FPM10A Fingerprint Sensor
    • TTP229 Capacitive 16-Key Touch Keypad
    • 4×4 Keypad Matrix
    • Analog to Digital Converter (ADC)
    • Digital to Analog Converter (DAC)
    • RPM Monitor
    • PCA9685 16-Channel 12-Bit PWM Servo Driver
    • INA219 DC Current Sensor
    • VL6180X ToF Distance Sensor
    • Custom Digital Waveform Output
    • NRF24L01 2.4GHz RF Module
  • Folder icon closed Folder open iconBlock Coding
    • General
    • Blocks
      • Values
      • Logic
      • Loop
      • Math
      • Date/Time
      • Text
      • Byte Array
      • List
      • Type Conversion
      • Unit Conversion
      • Science
      • Bit/Byte
      • Complex Numbers/Vectors
      • JSON
      • XML
      • Local Variables
      • Local Functions
  • Folder icon closed Folder open iconConnect & Run
    • Hardware and Operating System
    • Grablo Package Installation
    • Connect and Run

PCA9685 16-Channel 12-Bit PWM Servo Driver

Estimated reading: 2 minutes 297 views

Overview

A 16-channel, 12-bit PWM (Pulse Width Modulation) driver capable of controlling multiple servo motors and LEDs. It can be used in various applications such as robots, drones, RC vehicles, and lighting control. Uses I2C interface.


Supported GPIO
  • Raspberry Pi 0~4
  • Raspberry Pi 5
  • BeagleBone Black/Green
  • Jetson Nano
  • FT232H, FT2232H, FT4232H
  • MCP2221


I2C Address

Different I2C addresses can be set depending on whether the A0~A5 jumpers on the board are connected.



Commands

[INIT]

Enters initial configuration settings.

Item Type Description
Frequency (Hz) * WRITE Sets the output frequency. (24~1526Hz)
Different frequencies cannot be set for each channel; the same frequency setting applies to all channels.
When controlling servo motors, a 50Hz frequency must be used.


[SET_PWM]

Outputs PWM signal. You can set the offset where the HIGH signal starts and the duty cycle where the HIGH signal is maintained as percentages.

Item Type Description
Channel WRITE Enter the channel (pin) number to output the PWM signal. (0~15)
Offset (%) WRITE Enter the offset where HIGH starts in the PWM cycle. (0~100%)
Duty Cycle (%) WRITE Enter the duty cycle where HIGH is maintained in the PWM cycle. (0~100%)


[SET_SERVO]

Sets the position of the servo motor.

Item Type Description
Channel WRITE Enter the channel (pin) number to output the PWM signal. (0~15)
Pulse Width (ms) * WRITE Enter the input pulse width in ms.
* The pulse width for servo motor angle or speed may vary by product, but is generally as follows:
– 1ms (minimum position) ~ 2ms (maximum position) or 0.544ms (minimum position) ~ 2.4ms (maximum position)
– If the motor does not rotate to the input angle, the input pulse width should be adjusted appropriately by referring to the product specifications.



Example

Objective

Control the servo motor angle by changing the pulse width in the range of 0.5~2.4ms using a dashboard slider widget.


Parts
Part Quantity
Raspberry Pi 4 * 1
PCA9685 1
Servo Motor 1
* Other hardware can also be used. Refer to Supported GPIO.


Wiring

Connect the following pins horizontally to each other.

DC Power * PCA9685 Servo Motor GPIO
+ V+
– GND
VCC 3.3V
GND GND
SCL 3 (I2C1 SCL)
SDA 2 (I2C1 SDA)
PWM 0 Yellow or Orange
V+ Red
GND Black or Brown
* Connect DC power that matches the voltage and current consumption of the servo motor being used.

​

Project Link


References

Datasheet

Library

찾으시는 내용이 없나요? 문의하기

문의하기

공유하기

PCA9685 16-Channel 12-Bit PWM Servo Driver

Or copy link

Clipboard Icon
콘탠츠

ㅤ

Grablo Inc.
support@grablo.co

Site Links

  • Grablo Home
  • Grablo App

이 사이트의 모든 컨텐츠는 저작권법에 보호받는 저작물로서, 무단으로 복제, 배포하는 경우에는 저작권법에 의하여 처벌을 받을 수 있습니다. Copyright 2024 grablo.co. All Rights Reserved.