The AS7341 10-Channel Spectral Color Sensor Breakout is a compact, high-precision multi-channel spectrometer designed for advanced color analysis, spectral measurement, and light source identification. Built around the AMS AS7341 sensor IC and mounted on an Adafruit STEMMA QT / Qwiic form-factor board, this module enables Arduino, Raspberry Pi, and CircuitPython-compatible boards to measure not just the amount of light, but the intensity of light within specific wavelength bands — providing far greater color specificity than the human eye or standard RGB sensors.
At the heart of the module is the AS7341, an 11-channel spectral sensor that integrates 8 optical channels covering the visible spectrum (415nm, 445nm, 480nm, 515nm, 555nm, 590nm, 630nm, and 680nm), plus a Clear channel (unfiltered, full visible range), a Near-Infrared (NIR) channel (centered at 910nm), and a dedicated flicker detection channel . These channels are realized through silicon nano-optic interference filter deposition technology, enabling precise spectral separation without external optical components .
The AS7341 uses a 16-bit, 6-channel ADC to convert the raw photodiode measurements into digital values readable via I²C . Because 11 sensor elements cannot all be routed through the 6-channel ADC simultaneously, the chip incorporates Super MUX (SMUX) — a multiplexing system that allows any sensor signal to be routed to any ADC channel, enabling flexible measurement configurations . This architecture supports multiple measurement modes, including the standard eF1F4ClearNIR and eF5F8ClearNIR channel groupings used in common library implementations .
The breakout board includes level-shifting circuitry and SparkFun Qwiic-compatible STEMMA QT connectors, allowing solder-free connection to 3.3V or 5V microcontrollers — including Arduino Uno, Raspberry Pi, and CircuitPython boards . The sensor also features GPIO and interrupt pins for direct communication with other sensors or the host microcontroller, and supports SYNS (synchronization) mode for power-saving applications where measurements are triggered by an external signal .
Programmable integration time (via ATIME and ASTEP registers) and programmable gain (from 0.5x up to 512x) allow the sensor to be optimized for a wide range of lighting conditions, from dim ambient environments to bright direct illumination . The AS7341 is widely used in high-precision reflective color measurement, fluid color and turbidity analysis, spectral power distribution measurement, display color management, plant growth monitoring, and material and skin color analysis .
Important Note: The AS7341 requires I²C communication and is not a direct replacement for simple RGB sensors like the TCS34725 — it provides spectral data across multiple wavelength bands, requiring more sophisticated data interpretation. The STEMMA QT / Qwiic connectors simplify wiring, but a compatible QT cable is required for connection . The sensor is not waterproof and should be kept dry. For accurate measurements, ensure consistent illumination and a fixed distance between the sensor and the target surface.
Whether you are building a portable colorimeter, a spectral analysis device, or a smart lighting system, the AS7341 10-Channel Spectral Color Sensor Breakout provides a professional-grade, solder-free solution for advanced spectral measurement. It is suitable for individual makers, researchers, and businesses purchasing in bulk for product development or scientific applications.
Features
-
11-channel spectral sensing — 8 visible channels (415–680nm), Clear, NIR (910nm), and flicker detection
-
Super MUX (SMUX) — Flexible routing of sensor signals to ADC channels
-
16-bit, 6-channel ADC — High-precision digital conversion for each channel
-
STEMMA QT / Qwiic connectors — Solder-free connection to 3.3V/5V microcontrollers
-
Onboard level shifting — Direct compatibility with Arduino Uno and Raspberry Pi
-
Programmable integration time and gain — ATIME/ASTEP and gain up to 512x
-
SYNS mode support — Power-saving synchronized measurement
-
GPIO and interrupt pins — External trigger and synchronization capability
-
Compact 3×2mm sensor footprint — Ultra-small LGA package
-
Arduino and CircuitPython libraries — Comprehensive sample code available
Technical Specifications
Usage
Getting Started
-
Connect power — Use a STEMMA QT / Qwiic cable to connect the breakout to your microcontroller. The onboard level shifting supports both 3.3V and 5V systems .
-
Install the library — Install the Adafruit AS7341 library (Arduino) or the DFRobot_AS7341 library through the Arduino Library Manager .
-
Upload a test sketch — Use the example code to read all spectral channels. The library provides functions like readAllChannels() and getChannel() for accessing individual wavelength values .
-
Configure integration time and gain — Adjust setATIME(), setASTEP(), and setGain() to optimize sensitivity for your lighting conditions .
-
Read spectral data — The sensor returns values for F1–F8, Clear, and NIR channels. Higher values indicate greater light intensity at that wavelength .
-
Measure flicker frequency (optional) — Use readFlickerData() to detect whether ambient light flickers at 50Hz, 60Hz, or other frequencies .
Pin Connections (STEMMA QT / Qwiic)
Spectral Channel Wavelengths
Source: AS7341 datasheet specifications
Example Arduino Code (Basic Channel Reading)
#include <Adafruit_AS7341.h>
Adafruit_AS7341 as7341;
void setup() {
Serial.begin(115200);
while (!Serial);
if (!as7341.begin()) {
Serial.println("Could not find AS7341");
while (1) { delay(10); }
}
as7341.setATIME(100);
as7341.setASTEP(999);
as7341.setGain(AS7341_GAIN_256X);
}
void loop() {
if (!as7341.readAllChannels()) {
Serial.println("Error reading all channels!");
return;
}
Serial.print("F1 415nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_415nm_F1));
Serial.print("F2 445nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_445nm_F2));
Serial.print("F3 480nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_480nm_F3));
Serial.print("F4 515nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_515nm_F4));
Serial.print("F5 555nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_555nm_F5));
Serial.print("F6 590nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_590nm_F6));
Serial.print("F7 630nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_630nm_F7));
Serial.print("F8 680nm: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_680nm_F8));
Serial.print("Clear: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_CLEAR));
Serial.print("NIR: "); Serial.println(as7341.getChannel(AS7341_CHANNEL_NIR));
delay(1000);
}
Example based on Adafruit AS7341 library usage
Typical Applications
-
High-precision reflective color measurement — Quantify the spectral composition of surfaces
-
Fluid color, turbidity, or reagent analysis — Colorimetric assays and chemical analysis
-
Spectral power distribution measurement — Passive ambient CCT measurement for building automation
-
Display color management — High-end monitor and screen calibration
-
Plant growth monitoring — Measure light spectrum for horticulture applications
-
Skin and material color analysis — Portable spectrophotometry for consumer applications
Notes for Business Buyers
-
Professional-grade spectral sensing — 11 channels provide far more data than standard RGB sensors
-
Solder-free integration — STEMMA QT / Qwiic connectors simplify prototyping and product development
-
Arduino and CircuitPython support — Extensive libraries and sample code reduce development time
-
Suitable for bulk purchasing — Ideal for colorimeter manufacturers, spectral analysis device developers, and research institutions
Q: What is the AS7341 10-Channel Spectral Color Sensor used for?
It is a multi-channel spectrometer for advanced color and spectral analysis, used in portable colorimeters, fluid analysis, display calibration, and light source identification .
Q: What is the difference between AS7341 and standard RGB sensors like TCS34725?
The AS7341 measures 8 specific visible wavelength bands (415–680nm) plus Clear, NIR, and flicker channels, providing spectral data. TCS34725 measures only broad Red, Green, Blue, and Clear channels, offering less spectral specificity .
Q: How many channels does the AS7341 have?
It has 11 readable channels: 8 visible wavelength bands (F1–F8), 1 Clear channel (unfiltered), 1 NIR channel (910nm), and 1 flicker detection channel .
Q: What is the I²C address?
The default I²C address is 0x39 .
Q: What is the purpose of the Super MUX (SMUX)?
The SMUX allows the signal from any of the 11 sensor elements to be routed to any of the 6 ADC channels, enabling flexible measurement configurations since the ADC cannot process all channels simultaneously .
Q: Can I use this sensor with Arduino Uno?
Yes. The breakout includes onboard level shifting, making it directly compatible with 3.3V and 5V microcontrollers, including Arduino Uno and Raspberry Pi .
Q: What is the STEMMA QT / Qwiic connector?
It is a solder-free, JST SH 4-pin connector system for quick I²C connection. A compatible QT cable is required for connection .
Q: Can I adjust the sensor sensitivity?
Yes. The AS7341 supports programmable integration time (ATIME and ASTEP registers) and programmable gain from 0.5x to 512x, allowing optimization for different lighting conditions .
Q: Does the sensor support flicker detection?
Yes. The AS7341 includes a dedicated flicker detection channel that can identify ambient light flicker at 50Hz, 60Hz, or other frequencies .
Q: Can I purchase in bulk for a product development project?
Yes. This breakout is suitable for bulk purchasing by colorimeter manufacturers, spectral analysis device developers, and research institutions.