Its low operating current of just 0.65µA makes it ideal for battery-powered and energy-efficient projects. The on-chip photodiode is optimized to mimic the human eye’s response to ambient light while blocking IR and UV interference for accurate readings. An adaptive gain control block automatically adjusts the sensor's lux range to maintain accuracy in varying lighting conditions.
It operates on a supply voltage between 1.7V and 3.6V, making it compatible with many power sources.
Features
- Wide Measurement Range: 0.045 lux to 188,000 lux
- High Accuracy and Resolution: 22-bit dynamic range
- Low Power Consumption: 0.65µA typical operating current
- Compact Size: 2mm x 2mm x 0.6mm UTDFN-Opto package
- Wide Operating Voltage: 1.7V to 3.6V
- Temperature Range: -40°C to +85°C
- I²C Communication Protocol (SDA, SCL)
- Two I²C Address Options: 0x4A and 0x4B (1001 010x and 1001 011x)
- IR and UV Blocking for accurate visible light measurement
- Automatic Gain Control for optimized performance
Applications
- Digital Lighting Management
- Smart Home Automation
- Security Systems
- Environmental Monitoring
- Consumer Electronics
- Industrial Lighting Control
Specifications
- Supply Voltage: 1.7V to 3.6V
- Measurement Range: 0.045 lux to 188,000 lux
- Power Consumption: 0.65µA typical
- Interface: I²C (SDA, SCL)
- Temperature Range: -40°C to +85°C
- Dimensions: 18.45mm x 16.71mm x 3.65mm
Pinout Configuration
Pin |
Description |
VCC |
1.7V to 3.6V Power Supply |
GND |
Ground |
SDA |
I²C Data Line |
SCL |
I²C Clock Line |
Wiring Connections with Arduino
GY-49 Pin |
Arduino Pin |
VCC |
3.3V |
GND |
GND |
SDA |
A4 (default I2C SDA) |
SCL |
A5 (default I2C SCL) |
Note: Verify I2C pins for your specific Arduino board if different.
Library Download
To use the MAX44009 sensor with Arduino, download the dedicated library from GitHub or Arduino Library Manager.
Download MAX44009 Library
Example Arduino Code
#include "Wire.h"
#include "Max44009.h"
Max44009 myLux(0x4A); // Sensor I2C address
uint32_t lastDisplay = 0;
void setup() {
Serial.begin(115200);
Serial.println("Starting MAX44009 Light Sensor...");
Wire.begin();
Wire.setClock(100000); // I2C clock speed
}
void loop() {
uint32_t interval = 1000;
if (millis() - lastDisplay >= interval) {
lastDisplay += interval;
float lux = myLux.getLux();
int err = myLux.getError();
if (err != 0) {
Serial.print("Error: ");
Serial.println(err);
} else {
Serial.print("Ambient Light Level: ");
Serial.print(lux);
Serial.println(" lx");
}
}
}
How This Code Works:
Wire.begin()
initializes the I²C communication.
myLux.getLux()
reads the current ambient light level in lux.
getError()
checks for sensor read errors.
- Sensor readings are printed every second to the Serial Monitor.
Its low operating current of just 0.65µA makes it ideal for battery-powered and energy-efficient projects. The on-chip photodiode is optimized to mimic the human eye’s response to ambient light while blocking IR and UV interference for accurate readings. An adaptive gain control block automatically adjusts the sensor's lux range to maintain accuracy in varying lighting conditions.
It operates on a supply voltage between 1.7V and 3.6V, making it compatible with many power sources.
Features
- Wide Measurement Range: 0.045 lux to 188,000 lux
- High Accuracy and Resolution: 22-bit dynamic range
- Low Power Consumption: 0.65µA typical operating current
- Compact Size: 2mm x 2mm x 0.6mm UTDFN-Opto package
- Wide Operating Voltage: 1.7V to 3.6V
- Temperature Range: -40°C to +85°C
- I²C Communication Protocol (SDA, SCL)
- Two I²C Address Options: 0x4A and 0x4B (1001 010x and 1001 011x)
- IR and UV Blocking for accurate visible light measurement
- Automatic Gain Control for optimized performance
Applications
- Digital Lighting Management
- Smart Home Automation
- Security Systems
- Environmental Monitoring
- Consumer Electronics
- Industrial Lighting Control
Specifications
- Supply Voltage: 1.7V to 3.6V
- Measurement Range: 0.045 lux to 188,000 lux
- Power Consumption: 0.65µA typical
- Interface: I²C (SDA, SCL)
- Temperature Range: -40°C to +85°C
- Dimensions: 18.45mm x 16.71mm x 3.65mm
Pinout Configuration
Pin |
Description |
VCC |
1.7V to 3.6V Power Supply |
GND |
Ground |
SDA |
I²C Data Line |
SCL |
I²C Clock Line |
Wiring Connections with Arduino
GY-49 Pin |
Arduino Pin |
VCC |
3.3V |
GND |
GND |
SDA |
A4 (default I2C SDA) |
SCL |
A5 (default I2C SCL) |
Note: Verify I2C pins for your specific Arduino board if different.
Library Download
To use the MAX44009 sensor with Arduino, download the dedicated library from GitHub or Arduino Library Manager.
Download MAX44009 Library
Example Arduino Code
#include "Wire.h"
#include "Max44009.h"
Max44009 myLux(0x4A); // Sensor I2C address
uint32_t lastDisplay = 0;
void setup() {
Serial.begin(115200);
Serial.println("Starting MAX44009 Light Sensor...");
Wire.begin();
Wire.setClock(100000); // I2C clock speed
}
void loop() {
uint32_t interval = 1000;
if (millis() - lastDisplay >= interval) {
lastDisplay += interval;
float lux = myLux.getLux();
int err = myLux.getError();
if (err != 0) {
Serial.print("Error: ");
Serial.println(err);
} else {
Serial.print("Ambient Light Level: ");
Serial.print(lux);
Serial.println(" lx");
}
}
}
How This Code Works:
Wire.begin()
initializes the I²C communication.
myLux.getLux()
reads the current ambient light level in lux.
getError()
checks for sensor read errors.
- Sensor readings are printed every second to the Serial Monitor.