Gesture Sensor Module APDS-9960
Gesture Sensor Module APDS-9960
- APDS-9960 is the RGB and Gesture Sensor, a small breakout board with a built in APDS-9960 sensor that offers ambient light and color measuring, proximity detection, and touchless gesture sensing.
- With this RGB and Gesture Sensor you will be able to control a computer, microcontroller, robot, and more with a simple swipe of your hand! This is, in fact, the same sensor that the Samsung Galaxy S5 uses and is probably one of the best gesture sensors on the market for the price.
- APDS-9960 is a serious little piece of hardware with built in UV and IR blocking filters, four separate diodes sensitive to different directions, and an I2C compatible interface.
- For your convenience we have broken out the following pins: VL (optional power to IR LED), GND (Ground), VCC (power to APDS-9960 sensor), SDA (I2C data), SCL (I2C clock), and INT (interrupt). Each APDS-9960 also has a detection range of 4 to 8 inches (10 to 20 cm)
- Application: RGB Infrared Gesture Sensor, Motion Direction Recognition Module
- RGB and Gesture Sensor
- APDS-9960 sensor
- Model: GY-APDS9960-3.3
- Chip: APDS-9960
- Power supply: 3.3v
- Communication: IIC communication protocol
APDS-9960 Specifications and Applications
Automation is being applied for many applications to make tasks easier, boost efficiency, and reliability. With the advance in technology, this is applied in smartphone to increase the end-user experience. In electronics, sensors are very useful to achieve automation functions. Some of such sensors are Touch sensor, proximity sensor, gyroscope sensor, gesture detection sensor, etc As the size of the devices is optimized, it may not be possible to integrate all of these sensors on a single chip. This problem can be solved by using multipurpose sensors. These multipurpose sensors have more than one type of sensing element and can sense multiple factors. APDS-9960 is one of such multipurpose sensors that can detect proximity, color, etc .
APDS-9960 is a digital Proximity, Gesture, and Ambient light sensor. It is a multipurpose sensor. It is used in various smartphones, robotics, etc to detect gesture, ambient light, and proximity. This sensor gives accurate values for gesture detection.
APDS-9960 device has Proximity sensing engine, Ambient light sensing engine, RGB color sensing engine, and gesture detection module. APDS-9960 is easy to interface with any microcontroller because it uses the I2C communication protocol.
This device has an LED which acts as a source for IR signal. When there is an obstacle or any gesture performed in front of the device, the IR signal generated by the LED or reflected back from the surface of the obstacle. This reflected light is sensed by the photodiodes present on APDS-9960. Based on the properties on this reflected light, factors such as ambient light intensity, the proximity of the object and gesture can be determined.
While using proximity sensing system the internal LED can be pulsed with rapidly switching currents which are greater than 100mA, causing an error. To avoid this certain precautions has to be considered while connecting APDS-9960.
While using APDS-9960 in a circuit, by connecting the quite analog supply to VDD and the noisy supply to the LED, power supply noise coupled back into the device during the LED pulses can be reduced.
To supply the current surge, a 1-?F low ESR- decoupling capacitor is placed as close as possible to the VDD pin. At the output of the LED voltage regulator, a bulk storage capacitor and another decoupling capacitor at LEDA pin are placed.
A 22? resistor is used in series with a VDD supply line while operating APDS-9960 from a single supply. To filter the power supply noise, a 1- ?F low ESR capacitor is used.
APDS-9960 is available is 8 pin package. Pin description of different Pins of APDS-9960 is given below-
- Pin-1, SDA, is an I2C serial data terminal. This pin is used for I2C communication.
- Pin-2, INT, is the interrupt pin. This pin is active low during interrupt events.
- Pin 3, LDR, is the LED driver input pin. This pin is used as an LED driver input for proximity LED. It connects a constant power source for LED drivers.
- Pin 4, LEDK, is the LED cathode pin. When using the internal LED driver circuit, this pin is connected to LDR pin.
- Pin 5, LEDA, is the LED anode pin. This pin is connected to VLEDA on PCB.
- Pin 6, GND, is the power supply ground pin.
- Pin 7, SCL, is the I2C serial clock input terminal pin. This pin is used to provide a clock signal for I2C serial data.
- Pin 8, VDD, is the power supply pin. Supply voltage of 2.4V to 3.6V can be applied.
Specifications of APDS9960
Specifications of APDS-9960 device are given below-
- This device features ambient light sensing, proximity sensing, RGB color sensing and gesture detection in an Optical Module.
- For drop-in compatibility with existing footprints, IR LED and a factory calibrated LED driver is incorporated.
- UR and IR blocking filters are present for ambient light sensing and RGB color sensing.
- Ambient light sensing and RGB color sensing also has a programmable gain and integration time.
- Red, Blue, Green, and clear light intensity data is provided by RGB color sensing.
- This device is also suitable for operations behind dark glass due to its very high sensitivity.
- To compensate for the system offset caused due to unwanted IR reflections, Proximity engine contains offset adjustment registers.
- In the proximity engine, the IR LED intensity is factory trimmed. This eliminates the need for end equipment calibration due to component variations.
- Automatic ambient light subtraction further improves the results of Proximity engine.
- Proximity engine also contains a saturation indicator bit.
- To sense reflected IR energy from all directions, Gesture detection engine has four separate photodiodes sensitive to a different direction.
- Gesture detection engine also has an automatic activation, Ambient light subtraction, cross-talk cancellation, dual 8-bit data converters, power-saving interconversion delay, 32- dataset FIFO, and Interrupt driven I2C communication.
- Gesture detection engine also has a programmable driver for IR LED current.
- APDS-9960 contains I2C bus fast mode compatible interface with data rates up to 400kHz.
- Dedicated interrupt pin is given for I2C communication.
- APDS-9960 is available as a small package with dimensions 3.94×2.36×1.35 mm.
- APDS-9960 is available in the market as a tape-and-reel package.
- This device works on a maximum of 3.8V of the supply voltage.
- Storage temperature range of APDS-9960 is from -40°C to 85°C.
- Maximum LED supply voltage of APDS-9960 is 4.5V.
- APDS-9960 device supports 7-bit I2C bus addressing protocol.
Applications of APDS-9960
Some of the applications of this device are as follows-
- The different functions provided by APDS-9960 are Ambient light sensing, Gesture detection, RGB color sensing, and Proximity sensing
- APDS-9960 is used in Touch screens of smartphones.
- For Mechanical switch replacement, this device is used.
- To calculate the color temperature, RGB sensing of APDS-9960 is used.
- For Adjustment of the backlight of TV, smartphones, etc proximity sensing engine of APDS-9960 device is used.
- Gesture robotics also make use of different sensing engines present in this device.
- In medical equipment.
- LCD Displays.
- RGB monitors and for RGB rating APDS-9960 is used.
Alternative IC of APDS-9960
APDS-9960 device is available as an 8-pin package. Some of the other devices available in the market that can be used as an alternative for this device are GY- 7620 and ICs that can be used as an alternative for proximity sensing are VL53LOX, TCRT5000.
Further electrical characteristics of APDS-9960 can be found in its datasheet. For sensing which of the physical factor have you used APDS-9960?
- 1 X Gesture Sensor Module APDS-9960
- 1 X Male header strip
- APDS9960 is a sensor that detects six different gestures, detects proximity, senses ambient Light and provides information about the presence of Colors Red, Green, Blue or Clear. It consists of a built-in UV, IR blocking filters, an I2C compatible interface, and four separate photodiodes.
- Furthermore, it detects gestures by sensing IR light waves reflected from an object and convert this information about distance, velocity, and direction of an object to a digital value.
- The same reflected IR rays measure the distance between the device and the user. The ALS feature measures red, green, and blue content of light. This article explains in detail about the working, uses, and applications of APDS9960.
APDS9960 Pinout Diagram
This multipurpose APDS9960 sensor breakout board consists of 6 pins. The pin configuration details are given in the next section.
This section contain details and working of each pin of APDS9960.
- Pin1 and pin7 are the pins for the I2C interface. SDA is a serial data address terminal and the Serial clock terminal provides clock pulse for transmission of this data.
- Pin2 is an active low interrupt pin.
- LDR is an LED driver input pin for APDS9960 proximity LED. Connect a constant power source at this pin for LED drivers.
- LEDK is the cathode pin of the LED. Connect this pin to LDR if you are using an internal circuit of the led driver.
- LEDA is the anode pin of the LED.
- Pin6 and 8 are power supply pins. Connect pin 6 to ground. Apply voltage supply in a range of 2.4V to 3.6V at pin 8
APDS9960 breakout Features
- It is a multifunction sensor that provides features of gesture detection, ambient light, and RGB Color Sensing and proximity sensing. Most importantly, it senses ambient Light and red, green, blue colors through UV and IR blocking filters and its gain is adjustable from 1x to 64x.
- The proximity sensing provides trimmed IR intensity due to which you dont need extra components for calibration. The proximity detection system contains adjustment resistors that provide offset compensation, an ambient light rejection which gives accurate and improved results, and a saturation indicator bit.
- The circuit for gesture detection includes 32 dataset storage FIFO, Interrupt driven I2C communication, and a programmable driver which provides current to IR LED.
- It has a fast mode 7-bit I2C compatible interface which provides data rates of up to 400kHz.
- Maximum voltage supply required for LED is 4.5V.
- Voltage supply range = 2.4 to 3.6V.
- Temperature range = -40°C to 85°C
Where to use APDS9960?
APDS9960 is a multifunctional sensor that supports color detection, proximity measurement, and gesture detection through a single module. It can detect up to six gestures which include left, right, up, down, far and near. The range of detection is about 4 to 8 inches.
It has a very high sensitivity which makes it well-suited for operations behind dark glass. You can interface this sensor with Arduino, microcontrollers, etc to perform a variety of functions. You can use this sensor in remote controls for controlling robots and other devices.
APDS9960 Interfacing with Arduino
The hardware is simple and easy to use. The APDS9960 breakout board of the sensor operates on 3.3V due to the presence of an onboard voltage regulator.
APDS9960 consists of four photodiodes that are sensitive to different directions. Whenever an object within a detection range performs any gesture, the object reflects back the IR signal transmitted by the LED. The photodiodes detect that signal and that is how it obtains the information regarding velocity and distance of an object.
Using this information, the sensor detects the type of gesture. The sensor has different channels which detect light red, blue, green, and clear colors through IR and UV blocking filters and a data converter. The configurable interrupt controls the detect function and triggers the sensor to release the Infrared light or detect it.
This circuit diagram shows Interfacing of APDS9960 with Arduino Nano.
To write Program for Arduino with APDS9960 sensor, fortunately, library of this breakout board is available. First of all, go to this link and download Arduino library:
After that make connection of APDS9960 with Arduin, according to this table:
|Arduino Pin||APDS-9960 Board||Function|
This Arduino library provide example codes to measure light, color, gesture detection and proximity sensor output.
Arduino Ambient Light Code