0.1.2 • Public • Published


JavaScript library for running the Adafruit 16-Channel 12-bit PWM/Servo Driver with the Tessel. The Adafruit 16-Channel 12-bit PWM/Servo Driver is capable of driving up to 16 servos at once.

This code was forked from the tessel/servo-pca9685 repository which contains a library for running the servo-pca9685 Tessel servo module. This module also uses the NXP PCA9685 16-channel, 12-bit PWM Fm+ I2C-bus LED controller. As result, only minor modifications to the original repository were needed to get it working with the Adafruit 16-Channel 12-bit PWM/Servo Driver.


npm install servo-adafruit-pca9685


# servo.configure( whichServo, minPWM, maxPWM, callback() ) Sets the PWM max and min for the specified servo.

# servo.move( whichServo, positionOrSpeed, callback() ) positionOrSpeed is a value between 0 and 1. On a normal servo, this value is the position to move to as a percent of the total available rotational range. On a continuous rotation servo, this value represents the rotation speed: 0 is fast in one direction, 1 is fast in the other direction, and 0.5 is stopped.

# whichServo, callback() ) Reads the current approximate position target for the specified servo.

# servo.setDutyCycle( whichServo, on, callback() ) Sets the duty cycle for the specified servo. on is duty cycle uptime, range from 0-1.

# servo.setModuleFrequency( Hertz, callback() ) Sets the PWM frequency in Hz for the PCA9685 chip.


# servo.on( 'error', callback(err) ) Emitted upon error.

# servo.on( 'ready', callback() ) Emitted upon first successful communication between the Tessel and the module.


The Adafruit 16-Channel 12-bit PWM/Servo Driver cannot be plugged directly into a port like the Tessel servo module. Instead, it will need to be wired from the GPIO port. The pinout for the Tessel GPIO can be found here. Wiring is very straightforward:

  • Tessel GPIO Pin 1 GND to Adafruit GND
  • Tessel GPIO Pin 3 3V3 to Adafruit VCC
  • Tessel GPIO Pin 5 SCL to Adafruit SCL
  • Tessel GPIO Pin 7 SDA to Adafruit SDA



Package Sidebar


npm i servo-adafruit-pca9685

Weekly Downloads






Last publish


  • jp1971