Skip to Content

Gesture Detection APDS-9960 Gesture Proximity Sensor Module

The APDS-9960 is an RGB and Gesture sensor that uses 4 directional photodiodes to detect reflected IR energy from its built-in IR LED. It provides ambient light, RGB color, proximity sensing, and gesture recognition for distances up to 20 cm. It has been used in the Samsung Galaxy S5 for gesture detection.

Package Includes:

  • 1 x APDS-9960 RGB and Gesture Sensor Module

21.00 AED 21.00 AED Tax Included
21.00 AED Tax Included

Not Available For Sale

This combination does not exist.

Gesture Proximity Color Module

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

 

Features:

  • Gesture detection using 4 directional photodiodes and IR LED
  • Ambient light sensing for brightness control
  • RGB color detection (red, green, blue)
  • Communication via I2C or SPI
  • Wide operating voltage: 2.4V - 3.6V
  • Low power consumption
  • Compact form factor for easy integration
  • Programmable control registers
  • High sensitivity for subtle motion detection
  • Ideal for mobile, wearable, and smart home applications

 

Principle of Work:

Using its IR LED and photodiodes, the APDS-9960 detects light reflected by nearby objects. These signals are processed by internal circuits to detect motion and direction. The module's engine recognizes gesture patterns and outputs usable data over I2C or SPI interfaces. Additionally, it senses ambient light and RGB values with dedicated sensors.

Pinout:

APDS9960 Pinout

  • GND: Ground
  • VCC: 3.3V - 5V Power Supply
  • SDA: I2C Data Line
  • SCL: I2C Clock Line
  • INT: Interrupt Output
  • VL: Not connected

Applications:

  • Gesture recognition for touchless control
  • Proximity-based automation
  • Ambient light sensing for display adjustment
  • RGB color recognition for object identification

Circuit Diagram:

APDS9960 Circuit

Library Setup:

  1. Download from GitHub: SparkFun_APDS9960 Library
  2. Extract and add via Arduino IDE: Sketch → Include Library → Add .ZIP Library

Example Arduino Code:

#include "Wire.h"
#include "SparkFun_APDS9960.h"

#define APDS9960_INT 2
SparkFun_APDS9960 apds = SparkFun_APDS9960();
int isr_flag = 0;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  attachInterrupt(0, interruptRoutine, FALLING);

  if (apds.init()) {
    Serial.println("APDS-9960 initialization complete");
  } else {
    Serial.println("Initialization failed");
  }

  if (apds.enableGestureSensor(true)) {
    Serial.println("Gesture sensor running");
  } else {
    Serial.println("Gesture sensor failed");
  }
}

void loop() {
  if (isr_flag == 1) {
    detachInterrupt(0);
    handleGesture();
    isr_flag = 0;
    attachInterrupt(0, interruptRoutine, FALLING);
  }
}

void interruptRoutine() {
  isr_flag = 1;
}

void handleGesture() {
  if (apds.isGestureAvailable()) {
    int gesture = apds.readGesture();
    switch (gesture) {
      case DIR_UP: Serial.println("UP"); break;
      case DIR_DOWN: Serial.println("DOWN"); break;
      case DIR_LEFT: Serial.println("LEFT"); break;
      case DIR_RIGHT: Serial.println("RIGHT"); break;
      case DIR_NEAR: Serial.println("NEAR"); break;
      case DIR_FAR: Serial.println("FAR"); break;
      default: Serial.println("NONE");
    }
  }
}

Technical Details:

  • Operating Voltage: 3.3V - 5V
  • Max Current: 100 mA
  • Interface: I2C (up to 400kHz)
  • Proximity Range: up to 20 cm
  • Gesture Range: up to 10 cm
  • Ambient Light: 0.01 to 22000 lux
  • Detection Angle: ±15°
  • Temperature: -40°C to +85°C
  • Dimensions: 2.36 x 2.36 x 0.76 mm

Comparison with CJMCU-7620:

  • Gestures: CJMCU-7620 supports additional circular and wave gestures.
  • Voltage: APDS-9960 (2.4–3.6V) vs. CJMCU-7620 (3.3V)
  • Interface: Both support I2C; APDS-9960 also supports SPI.
  • Availability: APDS-9960 is more common and widely supported.
  • Cost: CJMCU-7620 is generally more affordable.