The TCS34725 is a color light-to-digital converter manufactured by ams (formerly TAOS — Texas Advanced Optoelectronic Solutions). It contains four photodiode channels — red, green, blue, and clear — each with its own dedicated 16-bit integrating ADC that converts the detected light intensity directly into a digital value. The clear channel measures total unfiltered light intensity and is used for calculating illuminance in lux and correlated color temperature (CCT).

A key distinguishing feature of the TCS34725 is its integrated IR blocking filter, located on-chip and localized directly to the color sensing photodiodes. Infrared light is present in most ambient light sources and can significantly skew color readings; the IR filter attenuates this component before it reaches the photodiodes, producing color measurements that more closely match human visual perception. The sensor also supports programmable gain (1×, 4×, 16×, 60×) and a variable integration time, allowing sensitivity to be tuned for both bright outdoor environments and dim indoor conditions.
Note on I²C address: The TCS34725 has a fixed I²C address of 0x29. Only one unit can be used on the same I²C bus without an I²C multiplexer. If multiple sensors are needed on a single bus, an external I²C multiplexer such as the TCA9548A must be used.
Pinout
The TCS34725 is available in two forms:
TCS34725 breakout module (typically 7 Pins)
Most Arduino, ESP32, and Raspberry Pi projects use a breakout module rather than the bare IC. The module includes a voltage regulator, pull-up resistors, and an onboard white LED, resulting in additional header pins.

| Pin | Description |
|---|---|
| VIN | 3.3V–5V power input |
| GND | Ground |
| SDA | I²C data |
| SCL | I²C clock |
| INT | Active-low interrupt output |
| LED | Controls the onboard white LED |
| 3V3 | Regulated 3.3V output (available on many modules) |
Note: The number of pins may vary by manufacturer. Some breakout boards expose only six pins by omitting the 3V3 output, while others provide seven or more pins. Always refer to the specific module’s pin labels.
TCS34725 IC (6-pin FN Package)
The sensor chip is supplied in a compact 6-pin FN package intended for PCB assembly. It provides only the essential electrical connections required to operate the sensor.
| Pin | Name | Description |
|---|---|---|
| 1 | VDD | 2.7V–3.6V power supply |
| 2 | GND | Ground |
| 3 | SDA | I²C data |
| 4 | SCL | I²C clock |
| 5 | INT | Active-low interrupt output |
| 6 | LED | External LED control output |
Working principle
The TCS34725 detects color using four channels of photodiodes each filtered for a specific part of the spectrum, with an integrated ADC on each channel converting detected light intensity directly into a 16-bit digital number.
RGBC photodiodes: Four groups of photodiodes each respond to a different part of the spectrum — red, green, blue, and clear (no filter). The IR blocking filter sits over all four channels and prevents infrared light from reaching the photodiodes, ensuring measurements reflect visible light only. Each group integrates the incoming photocurrent over the programmed integration time and passes the result to its dedicated 16-bit ADC.
Integration time: Unlike snapshot sensors, the TCS34725 integrates — it accumulates photocurrent over a programmable time window ranging from 2.4ms to 700ms. A longer integration time collects more light and produces higher, more accurate readings in low-light conditions; a shorter integration time avoids saturation in bright environments. The host configures this via a register over I²C.
Gain control: A programmable gain amplifier (1×, 4×, 16×, or 60×) further boosts sensitivity in dim environments. Combining a long integration time with high gain makes the TCS34725 usable in very low-light conditions that would completely defeat a frequency-based sensor like the TCS3200.
Color temperature and lux calculation: From the raw RGBC values, the host can calculate correlated color temperature (CCT) in Kelvin and illuminance in lux using published formulas. The clear channel value is essential for lux calculation as it represents total visible light intensity.
Color identification: For object color detection, each RGB channel value is divided by the clear channel value to normalize for overall brightness. The resulting ratios isolate hue information independent of ambient light level, and can be compared against known reference ratios to identify the color of an object.
Interrupt thresholds: Two 16-bit threshold registers (low and high) allow the host to define an acceptable range for the clear channel value. When a reading falls outside this window, the INT pin fires, allowing the microcontroller to respond immediately without polling.
TCS34725 module construction
TCS34725 Sensor IC A 6-pin FN package containing four photodiode channels (R, G, B, Clear), four dedicated 16-bit integrating ADCs, the programmable gain amplifier, the integration timer, an I²C interface block with a fixed address of 0x29, interrupt logic with programmable threshold registers, and the on-chip IR blocking filter — all in one small IC.
Integrated IR Blocking Filter Located on-chip directly over the color sensing photodiodes. Attenuates infrared wavelengths before they reach the photodiodes, preventing IR contamination of RGB readings. This is the primary advantage of the TCS34725 over sensors without IR filtering, as most light sources — incandescent, fluorescent, and sunlight alike — contain significant infrared content that distorts unfiltered color readings.
Onboard Voltage Regulator Most breakout modules include a small LDO regulator that steps the VIN supply (3.3V or 5V) down to the 3.3V the TCS34725 chip requires internally. This allows the module to be powered directly from either a 3.3V or 5V system without external regulation.
I²C Pull-up Resistors Onboard resistors on the SDA and SCL lines hold the bus high when idle, as required by the I²C protocol. No external pull-ups are needed for standard single-device operation.
White LED A small onboard white LED illuminates the target object at close range to provide consistent, repeatable lighting for color measurements. A dedicated LED control pin allows the host to gate the LED on and off under software control, enabling ambient light subtraction.
Decoupling Capacitors Bypass capacitors on the supply rail filter switching noise from the LED and I²C bus activity, keeping the supply clean for accurate ADC conversions.
Specifications
| Parameter | Value |
|---|---|
| Supply Voltage (chip) | 2.7V – 3.6V |
| Supply Voltage (module) | 3.3V – 5V (with onboard regulator) |
| Active Supply Current | 235µA typical / 330µA max |
| Wait State Current | 65µA |
| Sleep Current | 2.5µA typical / 10µA max |
| Output Channels | Red, Green, Blue, Clear |
| ADC Resolution | 16-bit per channel |
| Gain Options | 1×, 4×, 16×, 60× |
| Integration Time | 2.4ms – 700ms (programmable) |
| Dynamic Range | 3,800,000:1 |
| IR Blocking Filter | Yes (on-chip) |
| Communication | I²C |
| I²C Address | 0x29 (fixed) |
| Interrupt Output | Yes (active LOW, open-drain) |
| Operating Temperature | −30°C to +70°C |
| Package (bare IC) | 6-pin FN |
| RoHS | Compliant |
Helpful resources
- Download the datasheet: here
- TCS34725 with Arduino
- TCS34725 with ESP32
- TCS34725 with Raspberry Pi