Skip to content

APDS9960 Sensor

The apds9960 sensor platform allows you to use your APDS9960 RGB and gesture sensors (datasheet, SparkFun) with ESPHome. The I²C is required to be set up in your configuration for this sensor to work.

Image by [SparkFun](https://www.sparkfun.com).
# Example configuration entry
apds9960:
address: 0x39
update_interval: 60s
sensor:
- platform: apds9960
type: CLEAR
name: "APDS9960 Clear Channel"
binary_sensor:
- platform: apds9960
direction: UP
name: "APDS960 Up Movement"
# Repeat for each direction

The configuration is made up of three parts: The central component, individual sensors, and direction binary sensors.

Base Configuration:

  • address (Optional, int): The I²C address of the sensor. Defaults to 0x39.

  • update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.

  • led_drive (Optional, int): The LED drive level in mA. One of 100mA, 50mA, 25mA, 12.5mA. Defaults to 100mA.

  • proximity_gain (Optional, int): The proximity gain level. One of 1x, 2x, 4x, 8x. Defaults to 4x.

  • ambient_light_gain (Optional, int): The ambient light gain level. One of 1x, 4x, 16x, 64x. Defaults to 4x.

  • gesture_led_drive (Optional, int): The gesture LED drive level in mA. One of 100mA, 50mA, 25mA, 12.5mA. Defaults to 100mA.

  • gesture_gain (Optional, int): The proximity gain level. One of 1x, 2x, 4x, 8x. Defaults to 4x.

  • gesture_wait_time (Optional, int): The gesture wait time in ms. One of 0ms, 2.8ms, 5.6ms, 8.4ms, 14ms, 22.4ms, 30.8ms, 39.2ms. Defaults to 2.8ms.

The apds9960 sensor allows you to use your Apds9960 to perform different measurements.

Configuration variables:

  • type (Required, string): The type of sensor measurement. One of

    • CLEAR
    • RED
    • GREEN
    • BLUE
    • PROXIMITY
  • All other options from Sensor.

The apds9960 binary sensor allows you to use your Apds9960 to perform different measurements.

Configuration variables:

  • direction (Required, string): The direction to measure. One of:

    • UP
    • DOWN
    • LEFT
    • RIGHT
  • All other options from Binary Sensor.

With some APDS9960 modules the VL pin needs to be supplied with 3.3V for gesture sensing to work. The VL pin provides power for the infrared LED that is used to detect gestures. There may be two pads on the module which, if shorted with a solder joint, cause the main VCC power pin to supply power for the infrared LED as well. However, providing a separate power supply via the VL pin may help to isolate the rest of the circuit from noise created by pulsing the infrared LED at relatively high power.