Best Modules will be closed from Apr. 3nd to Apr. 6th in observance of Tomb Sweeping Day.
Please be informed that any orders placed after 15:00 PM Apr. 1st (Taiwan time, UTC+8) will be processed on Apr. 7th.

Shopping Cart 0
US$0.00

Proximity and Ambient Light Sensing Module BMS33M332

US$2.75
In stock
Quantity
231 pieces
Product ID
BMS33M332

The BMS33M332 is a three-in-one optical sensor module that integrates ambient light sensing, proximity sensing, and infrared LED functions. It is commonly used in mobile phones to adjust the screen brightness based on the ambient light intensity, providing users with a more comfortable visual experience.

Quantity Discounts refresh image
Select Quantity Discount Unit price
1-9 - US$2.75
10+ 5% US$2.61
For more quantity discounts please contact us
Follow Us for More Updates!
DESCRIPTION

The BMS33M332 has a built-in ambient light sensor, the STK3337-X, and level shift circuit. It reads the ambient light values and proximity sensing status via I2C interface.
The module’s pins were designed to match the BMCOM connectors and can directly connect to BMduino development boards, such as BM53A367A.
You can use the product with other development boards, such as Arduino UNO, as well.

Ambient Light Sensor (ALS) is primarily used to detect changes in ambient light. The BMS33M332 has a sensing peak around a wavelength of 550nm, which corresponds to the human eye's response for visible light. This functionality can be used to automatically adjust the brightness of displays, ensuring optimal visual performance in various lighting conditions.

The Proximity Sensor (PS) utilizes the strength of reflected infrared light from an infrared LED to determine the distance between an object and the sensor. It can be used to detect if a mobile phone is held close to the user's ear during a phone call, in which case it would turn off the screen to save power. The built-in infrared LED in this module has seven adjustable current values.

PRODUCT FEATURES
  1. Input voltage: 3.3V to 5.5V
  2. Has a built-in ambient light sensor, the STK3337-X
    - Integrated ambient light sensor, proximity sensor and infrared LED
    - Ambient light sensing and proximity sensing with 16-bit resolution
  3. Interface: I2C (address: 0x47)
  4. Configurable high and low thresholds for proximity sensing and ambient light sensing
  5. Includes level shift circuit
  6. Temperature compensation: -40℃ to 85℃
  7. Dimension: 27 x 23 x 2 mm
  8. Net weight: 2.6g
HARDWARE OVERVIEW
PIN DESCRIPTION
Pin Pin name Function
1 GND Ground
2 VDD Power supply: 3.3V~5.5V
3 SDA I2C: data line
4 SCL I2C: clock line
5 INT Interrupt pin (interrupt alarming)
HOW TO USE THE STK3337-X?

STK3337-X is an ambient light sensor (ALS) and proximity sensor (PS). It also includes an infrared LED and 16-bit ADC. The intensity of ambient light and the intensity of reflected light detected by the proximity sensor are both 16-bit data, which can be read from DATA_ALS registers (addresses 0x13 and 0x14) and DATA_PS registers (addresses 0x11 and 0x12) respectively.

When reading the DATA_ALS and DATA_PS, read the high byte first and then the low byte, that is, when reading the proximity light intensity, read 0x11 first and then 0x12. When reading the ambient light intensity, read 0x13 first and then 0x14.


STK3337-X has an INT pin which transitions from high to low when an interrupt is triggered. By utilizing the INT pin, the MCU can avoid constant polling to monitor the proximity or ambient light intensity.
The interrupt function can be employed by setting high and low threshold values for each of the ALS and PS. When the intensity value falls outside the threshold range, the INT pin will go to low, indicating that the proximity or ambient light intensity value is either above the high threshold value (THDH_PS or THDH_ALS) or below the low threshold value (THDL_PS or THDL_ALS).


Since there are several sources to cause the INT pin low, the MCU can judge by reading the FLAG register (address 0x10).


The above explanation outlines one of the methods for utilizing STK3337-X, and the MCU program can follow the steps below:

  1. Enable the function of ambient light sensing (ALS) and proximity sensing (PS) by setting EN_ALS to 1 and EN_PS to 1 in the STATE register (0x00), respectively.

  2. Set the high and low threshold values.
  3. Enable the interrupt function of ambient light sensing (ALS) and proximity sensing (PS) by setting EN_ALS_INT to 1 and EN_PS_INT to 1 in the INTCTL1 register (address 0x04).

  4. Wait for interrupt (INT pin goes low).
  5. After an interrupt occurs, read the FLAG register (address 0x10) to determine the source of the interrupt, and write 0 to clear the corresponding interrupt flags (FLG_PS_INT, FLG_ALS_INT). The INT pin goes high after the interrupt flags are cleared.

Proximity sensing has another interrupt mode, which is configured by setting PS_NF_MODE to 1 in the INTCTL1 register (address 0x04).
In this mode, the INT pin becomes a status indicator (far or near), same as the function of the FLG_NF flag in the FLAG register (address 0x10).
The INT pin is low when an object is detected in proximity (DATA_PS value is higher than THDH_PS), and high when the object is at a distance (DATA_PS value is lower than THDL_PS).
In this mode, the INT pin is not suitable for serving as the interrupt function for proximity sensing. The MCU can read the INT pin to know whether the object is near or far without the need to send commands through the I2C interface to read FLG_NF flag.


More Information
HS Code (reference) 8517.79.00.00-6
Youtube
Contact Us