ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter

In stock

The ISL29125 RGB Color Light Sensor with IR Blocking Filter Module is a high-precision digital light sensor designed to measure red, green, and blue components of visible light while effectively rejecting infrared interference. This sensor module is ideal for electronics projects that require accurate color and light intensity measurement for data logging, pattern recognition, automation, and control systems. With a built-in IR blocking filter and 16-bit ADC resolution, the ISL29125 delivers reliable and consistent color data even under mixed or artificial lighting conditions. ...See more
SKU BTS-00005533
SF Code M1.R2
Delivery Info
truck-fast
Inside Dhaka: 1-2 days
Express (Dhaka): 24 hours
Order before 12.00PM
Outside Dhaka: 2-3 days
hand-holding-dollar
Cash on delivery all over BD
Quality
award
100% Authentic Product
circle-check
Quality Product Guaranteed
Service
credit-card
Safe & secure payment
Write Your Own Review
Only registered users can write reviews. Please Sign in or create an account

The ISL29125 RGB Color Light Sensor with IR Blocking Filter Module is a high-precision digital light sensor designed to measure red, green, and blue components of visible light while effectively rejecting infrared interference. This sensor module is ideal for electronics projects that require accurate color and light intensity measurement for data logging, pattern recognition, automation, and control systems. With a built-in IR blocking filter and 16-bit ADC resolution, the ISL29125 delivers reliable and consistent color data even under mixed or artificial lighting conditions.

The ISL29125 color sensor breakout board exposes all essential pins, making it easy to interface with Arduino, ESP32, ESP8266, Raspberry Pi, and other microcontrollers using the I2C communication protocol. Its ultra-low power consumption makes it suitable for battery-powered and energy-efficient designs. The selectable measurement range allows flexibility for both low-light and bright environments, ensuring stable performance across a wide range of applications.

This RGB color light sensor module operates at 3.3V and includes an optional interrupt pin for event-based sensing or threshold detection. When used with 5V microcontrollers, a logic level converter is recommended to ensure safe and reliable communication.

 

Features:

  • Accurate red, green, and blue light intensity sensing

  • Integrated IR blocking filter for improved color accuracy

  • 16-bit ADC resolution for high-precision measurements

  • I2C digital output compatible with SMBus

  • Ultra-low power consumption for energy-efficient projects

  • Selectable measurement range for different lighting conditions

  • Optional interrupt pin for advanced sensing applications

  • Compact breakout board with all pins clearly exposed

  • Ideal for color detection, pattern recognition, and automation systems

  • Suitable for Arduino, ESP32, ESP8266, Raspberry Pi, and other I2C devices

 

Specifications:

  • Sensor Model: ISL29125

  • Operating Voltage: 3.3V

  • Operating Current: 56µA

  • Color Channels: Red, Green, Blue

  • IR Filter: Integrated infrared blocking filter

  • ADC Resolution: 16-bit

  • Interface Type: I2C (SMBus compatible)

  • Measurement Range: Selectable

  • Power Consumption: Low power design

  • Output Type: Digital I2C data

  • Board Type: Breakout / module

 

Pin Configuration:

  • 3.3V: Power supply input

  • GND: Ground

  • SDA: I2C data line

  • SCL: I2C clock line

  • INT: Optional interrupt output pin

 

How It Works:

  • The sensor detects visible red, green, and blue light components

  • The IR blocking filter removes infrared light interference

  • Light intensity is converted into 16-bit digital values

  • Data is transmitted via I2C to the microcontroller

  • Software processes RGB data for color detection or analysis

 

How to Use:

  • Supply a stable 3.3V power source to the module

  • Connect SDA and SCL pins to the I2C bus of the microcontroller

  • Use a logic level converter when interfacing with 5V controllers

  • Initialize the sensor using an I2C-compatible library

  • Select measurement range based on ambient lighting

  • Read RGB values and apply software calibration if required

 

Applications:

  • RGB color detection and classification

  • Ambient light sensing and monitoring

  • Pattern recognition and data logging

  • Smart lighting and display control

  • Robotics and automation projects

  • Wearable and battery-powered electronics

  • Educational STEM and electronics learning kits

 

isl29125 rgb color sensor, isl29125 light sensor module, rgb color light sensor with ir filter, isl29125 breakout board, i2c rgb color sensor, isl29125 arduino sensor, low power rgb light sensor, 16 bit adc color sensor, color detection sensor module, visible light sensor rgb, isl29125 sensor price bangladesh, rgb color sensor module bangladesh

arrow-down
See More
View all reviews above by our customers.

The ISL29125 is a low-power, digital RGB color light sensor with an I2C interface, perfect for Arduino and ESP8266 projects. This advanced sensor can detect red, green, and blue light components independently, making it ideal for color detection, ambient light sensing, and color matching applications.

In this comprehensive tutorial, you'll learn how to interface the ISL29125 sensor with an ESP8266 microcontroller, understand its technical specifications, and build practical projects using this versatile color sensor.

 

What is the ISL29125 RGB Sensor?

The ISL29125 is a digital RGB color sensor manufactured by Renesas Electronics (formerly Intersil). It features three separate photodiodes with red, green, and blue filters, allowing it to measure each color component with 16-bit resolution.

 

Technical Specifications:

  • 16-bit ADC resolution for each color channel
  • I2C digital interface (up to 400 kHz)
  • Operating voltage: 2.25V to 3.63V
  • Programmable interrupt function
  • Four selectable light intensity ranges
  • IR filtering capability
  • Active current consumption: 56 µA (typical)
  • Standby current: 0.5 µA

Measurement Ranges:

  • 375 lux
  • 10,000 lux (10k)
  • 16,000 lux (16k)
  • 64,000 lux (64k)

 

Hardware Requirements

To follow this tutorial, you'll need:

  • ESP8266 development board (NodeMCU, Wemos D1 Mini, or similar)
  • ISL29125 RGB color sensor breakout board
  • Jumper wires
  • Breadboard (optional)
  • USB cable for programming
  • Arduino IDE installed on your computer

 

Circuit Diagram and Wiring

The ISL29125 uses I2C communication, requiring only four connections to the ESP8266.

Pin Connections

ISL29125 Pin ESP8266 Pin Description
VCC 3.3V Power supply
GND GND Ground
SCL D1 (GPIO5) I2C Clock
SDA D2 (GPIO4) I2C Data

Important Notes:

  • Always use 3.3V, not 5V, as the ISL29125 is not 5V tolerant
  • Most ISL29125 breakout boards include pull-up resistors for I2C
  • Keep wires short to minimize noise and interference

 

Arduino Code Implementation

Basic RGB Reading Code

Here's a complete Arduino sketch to read RGB values from the ISL29125:

#include <Wire.h>

// ISL29125 I2C Address
#define ISL_I2C_ADDR 0x44

// Register Addresses
#define DEVICE_ID    0x00
#define CONFIG_1     0x01
#define CONFIG_2     0x02
#define CONFIG_3     0x03
#define STATUS       0x08
#define GREEN_L      0x09
#define GREEN_H      0x0A
#define RED_L        0x0B
#define RED_H        0x0C
#define BLUE_L       0x0D
#define BLUE_H       0x0E

// ESP8266 I2C Pins
#define SDA_PIN D2
#define SCL_PIN D1

void setup() {
  Serial.begin(115200);
  delay(1000);
  
  Wire.begin(SDA_PIN, SCL_PIN);
  
  Serial.println("ISL29125 RGB Sensor Initialized");
  
  // Verify device ID
  uint8_t id = readRegister(DEVICE_ID);
  if (id != 0x7D) {
    Serial.println("ERROR: Sensor not detected!");
    while(1);
  }
  
  // Configure sensor: RGB mode, 375 lux range
  writeRegister(CONFIG_1, 0x05);
  writeRegister(CONFIG_2, 0x00);
  writeRegister(CONFIG_3, 0x00);
  
  Serial.println("Sensor ready!");
}

void loop() {
  uint16_t red = readColor(RED_L, RED_H);
  uint16_t green = readColor(GREEN_L, GREEN_H);
  uint16_t blue = readColor(BLUE_L, BLUE_H);
  
  Serial.print("R: ");
  Serial.print(red);
  Serial.print(" | G: ");
  Serial.print(green);
  Serial.print(" | B: ");
  Serial.println(blue);
  
  delay(500);
}

uint16_t readColor(uint8_t lowReg, uint8_t highReg) {
  uint8_t low = readRegister(lowReg);
  uint8_t high = readRegister(highReg);
  return (high << 8) | low;
}

void writeRegister(uint8_t reg, uint8_t value) {
  Wire.beginTransmission(ISL_I2C_ADDR);
  Wire.write(reg);
  Wire.write(value);
  Wire.endTransmission();
}

uint8_t readRegister(uint8_t reg) {
  Wire.beginTransmission(ISL_I2C_ADDR);
  Wire.write(reg);
  Wire.endTransmission();
  
  Wire.requestFrom(ISL_I2C_ADDR, 1);
  return Wire.available() ? Wire.read() : 0;
}

 

Understanding ISL29125 Configuration

CONFIG_1 Register

This register controls the operating mode and sensing range:

Bit Configuration:

  • Bits 0-2: Operating mode

    • 000: Power down
    • 001: Green only
    • 010: Red only
    • 011: Blue only
    • 100: Standby
    • 101: RGB (most common)
    • 110: RG
    • 111: GB
  • Bits 3-4: Light intensity range

    • 00: 375 lux
    • 01: 10,000 lux
    • 10: 16,000 lux
    • 11: 64,000 lux

Example: 0x05 = RGB mode with 375 lux range

CONFIG_2 Register

Controls IR filtering and active current:

  • Bit 7: IR compensation (0 = disabled, 1 = enabled)
  • Bits 0-5: IR filtering range

CONFIG_3 Register

Manages interrupt configuration and thresholds for automated triggering.

 

Practical Applications

1. Color Detection and Sorting

Use the ISL29125 to identify and sort objects by color in industrial automation or hobbyist projects.

String detectColor(uint16_t r, uint16_t g, uint16_t b) {
  if (r > g && r > b) return "Red";
  if (g > r && g > b) return "Green";
  if (b > r && b > g) return "Blue";
  if (r > 30000 && g > 30000 && b > 30000) return "White";
  if (r < 5000 && g < 5000 && b < 5000) return "Black";
  return "Unknown";
}

2. Ambient Light Monitoring

Track light conditions for smart home automation or plant growth monitoring.

3. Color Matching Systems

Create paint matching tools or quality control systems for manufacturing.

4. Proximity Detection

Detect objects by measuring reflected light changes.

 

Troubleshooting Common Issues

Sensor Not Detected

Problem: Device ID returns 0x00 or incorrect value

Solutions:

  • Check wiring connections
  • Verify 3.3V power supply
  • Confirm I2C address (should be 0x44)
  • Test with I2C scanner sketch
  • Check for damaged sensor

Inconsistent Readings

Problem: RGB values fluctuate wildly

Solutions:

  • Shield sensor from ambient light variations
  • Use appropriate intensity range for your lighting
  • Add delay between readings
  • Enable IR filtering if needed
  • Ensure stable power supply

Low or Zero Values

Problem: All RGB values read near zero

Solutions:

  • Increase light intensity range setting
  • Ensure sensor is properly illuminated
  • Check if sensor is in correct mode (RGB, not standby)
  • Verify power supply voltage

 

Advanced Features

Using Interrupts

The ISL29125 can trigger interrupts when color values exceed thresholds:

void setupInterrupt() {
  // Configure threshold registers
  writeRegister(0x04, 0x00); // Low threshold LSB
  writeRegister(0x05, 0x10); // Low threshold MSB
  writeRegister(0x06, 0x00); // High threshold LSB
  writeRegister(0x07, 0xFF); // High threshold MSB
  
  // Enable interrupt in CONFIG_3
  writeRegister(CONFIG_3, 0x01);
}

IR Filtering

For outdoor or sunlight applications, enable IR compensation:

// Enable IR filtering
writeRegister(CONFIG_2, 0x80);

 

Calibration and Accuracy

To improve accuracy:

  1. White Balance Calibration: Take readings of a white surface under your target lighting
  2. Dark Calibration: Record values in complete darkness
  3. Normalize Values: Scale readings between dark and white reference points
uint16_t calibrateReading(uint16_t raw, uint16_t dark, uint16_t white) {
  if (white <= dark) return 0;
  if (raw <= dark) return 0;
  if (raw >= white) return 65535;
  return map(raw, dark, white, 0, 65535);
}

 

Performance Optimization

Power Saving

Put sensor in standby mode when not in use:

void enterStandby() {
  writeRegister(CONFIG_1, 0x04); // Standby mode
}

void wakeUp() {
  writeRegister(CONFIG_1, 0x05); // RGB mode
  delay(100); // Allow sensor to stabilize
}

Faster Reading

Increase I2C clock speed for quicker data transfer:

Wire.setClock(400000); // 400 kHz Fast Mode

 

Comparison with Other Color Sensors

ISL29125 vs TCS34725

  • ISL29125: Lower power consumption, simpler interface, adequate for most projects
  • TCS34725: Higher accuracy, better in low light, includes clear channel

ISL29125 vs APDS-9960

  • ISL29125: Dedicated RGB sensing, higher resolution
  • APDS-9960: Includes gesture detection and proximity, lower RGB resolution

 

The ISL29125 RGB color sensor is an excellent choice for ESP8266-based color detection projects. Its low power consumption, high resolution, and simple I2C interface make it perfect for battery-powered IoT applications, robotics, and automation systems.

With this guide, you now have the knowledge to implement the ISL29125 in your own projects, from basic color detection to advanced calibrated color matching systems.

 

Start experimenting with your ISL29125 sensor today and bring color detection capabilities to your next ESP8266 project!

You might also be interested in...

Customers who bought this also bought...

General Questions

  • What is the latest price of the ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter in Bangladesh?

    The latest price of ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter in Bangladesh is Special Price BDT 1,399.00 Regular Price BDT 1,800.00 . You can buy the ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter at the best price on BDTronics.com or contact us via phone.

  • Where to buy ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter in Bangladesh?

    You can buy ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter online by ordering on BDTronics.com or directly collect by visiting our store in person. BDTronics is a trusted provider of high-quality electronics, 3D printers, solar systems, and robotics parts. We offer fast shipping across the country via courier service.

  • What are the delivery options of ISL29125 RGB Color Sensor Module 3.3V I2C with IR Filter in Bangladesh?

    We provide home delivery service all over Bangladesh. We support Cash on Delivery, Online Bank Transfer, bKash and Credit Card (Visa/ MasterCard/ Amex) payment solutions. The delivery time usually takes 1-2 days inside Dhaka and 2-4 days outside Dhaka.

phone
Contact

My Cart

Loading...
home Home
menu Menu
user Account shopping-cart Cart