31
Note that the built-in IR LED cathode is internally connected to the LED-K pin.
The APDS-9500 provides for an additional LED drive with the LDR_2 pin. If an external IR LED is to be used, connect it
to the LDR_2 pin as shown below.
It is possible to combine the drive current of the two LED drive pins together. In this case, the connection is shown
below.
GND
NC
LED-A
LDR_2
LED-K_1
SPI_CLK
SPI_CSn
VDDAY_I/O
VDDA_I/O
VDD18_I/O
VDD
SPI_DATA
SPI_MCLK
VIO
APDS-9500
10 μF
1 μF
VLED
External LED
GND
NC
LED-A
LDR_2
LED-K_1
SPI_CLK
SPI_CSn
VDDAY_I/O
VDDA_I/O
VDD18_I/O
VDD
SPI_DATA
SPI_MCLK
VIO
APDS-9500
10 μF
1 μF
VLED
32
Programming and Application  rmware
This section provides the basic  rmware initialization of the recommended register settings for di erent APDS-9500
modes.
i. Initialization
Step 1: Power on. The VBus must be powered up before VDD.
Step 2: Wait 700 s for APDS-9500 to stabilize.
Step 3: Write slave ID or I
2
C read command to process I
2
C wake-up.
Read Reg_0x00. It returns 0x20 when system wake-up is complete.
Note that there is no-ack from the APDS-9500 before wake-up is completed.
Step 4: Write initial setting to gesture.
unsigned char initial_register_array[][2] = {
{0xEF,0x00},
{0x37,0x07},
{0x38,0x17},
{0x39,0x06},
{0x42,0x01},
{0x46,0x2D},
{0x47,0x0F},
{0x48,0x3C},
{0x49,0x00},
{0x4A,0x1E},
{0x4C,0x20},
{0x51,0x10},
{0x5E,0x10},
{0x60,0x27},
{0x80,0x42},
{0x81,0x44},
{0x82,0x04},
{0x8B,0x01},
{0x90,0x06},
{0x95,0x0A},
{0x96,0x0C},
{0x97,0x05},
{0x9A,0x14},
{0x9C,0x3F},
{0xA5,0x19},
{0xCC,0x19},
{0xCD,0x0B},
{0xCE,0x03},
{0xCF,0x64},
{0xD0,0x21},
{0xEF,0x01},
{0x02,0x0F},
{0x03,0x10},
{0x04,0x02},
{0x25,0x01},
{0x27,0x39},
{0x28,0x7F},
{0x29,0x08},
{0x3E,0xFF},
{0x5E,0x3D},
33
{0x65,0x96},
{0x67,0x97},
{0x69,0xCD},
{0x6A,0x01},
{0x6D,0x2C},
{0x6E,0x01},
{0x72,0x01},
{0x73,0x35},
{0x74,0x00},
{0x77,0x01},
};
ii. Get Gesture result
Step 1: Set Interrupt or I
2
C polling timer.
Step 2: Read Bank_0_Reg_0x43/0x44 for gesture result if interrupt or timer event occurs.
Gesture result clears when I
2
C read is complete.
iii. Change to PS mode
Step 1: Write PS mode setting to gesture.
unsigned char change_to_proximity_register_array[][2] = {
{0xEF,0x00},
{0x41,0x00},
{0x42,0x02},
{0x48,0x20},
{0x49,0x00},
{0x51,0x13},
{0x83,0x00},
{0x9F,0xF8},
{0x69,0x96},
{0x6A,0x02},
{0xEF,0x01},
{0x01,0x1E},
{0x02,0x0F},
{0x03,0x10},
{0x04,0x02},
{0x41,0x50},
{0x43,0x34},
{0x65,0xCE},
{0x66,0x0B},
{0x67,0xCE},
{0x68,0x0B},
{0x69,0xE9},
{0x6A,0x05},
{0x6B,0x50},
{0x6C,0xC3},
{0x6D,0x50},
{0x6E,0xC3},
{0x74,0x05},
};
iv. Get PS approach status
Step 1: Read Bank_0_Reg_0x6B for PS approach status or read Bank_0_Reg_0x6C for PS raw data.

APDS-9500

Mfr. #:
Manufacturer:
Broadcom / Avago
Description:
Proximity Sensors Imaging Gesture and Proximity Sensor
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet