The REV Robotics Color Sensor V2 is a combined color and proximity sensor with updated features from the original REV Color Sensor. From a single sensor you can measure colors and rough distances to various targets.

Redesigned case
Better mounting
Wider field of view
Better sensor protection
Built-in white LED
LED power is switchable with new built-in switch
Supports Standard (100kHz) or High Speed (400kHz) I2C
Supports auto-increment register reads
Built-in IR Proximity Emitter and Detector
The REV Robotics Color Sensor V1 a single sensor you can measure colors and rough distances to various targets. The Color Sensor V1 has a built-in IR (optical) and Proximity Sensor and white LED for active target lighting. Using High Speed I2C Communication (400kHz), as well as auto increment register read, allows the user to return all the color register and status register data in one read command instead of 4 separate read commands.

M3 Mounting Hole
Built-in white LED
LED power is switchable with new built-in switch
Supports Standard (100kHz) or High Speed (400kHz) I2C
Supports auto-increment register reads
Built-in IR Proximity Emitter and Detector
Sensor Part
TMD37821
Measurement Channels
Red, Green, Blue, Alpha, and Proximity
Parameter
Min
Typ
Max
Units
Operating Voltage Range
-
The REV Robotics Color Sensor has two sensing elements, proximity and color.
Proximity measurements are based on IR reflectance and can vary depending on lighting conditions and target reflectivity.
Color measurements consist of Red, Green, Blue, and Alpha (clear) values. The white LED on the sensor has a slide switch to turn the LED on or off. Unlit targets are best illuminated with the build-in LED while bright or light-emitting targets may not require the build-in LED. Color data is best collected within 2cm of the target for the strongest color differentiation.
When working with the Color Sensor V2 configure your robot to use the "REV Color/Range Sensor" as shown in the image below.
In this example, the Color Sensor V2 is configured on I2C bus 2. The Color Sensor V2 can be configured on any of the I2C busses.
This program shows the values from the Color Sensor on your phone. Your team will need to figure out the logic to use this information in your program. Below there are three examples of different color modes and their readings. Light Detected mode will read the amount of light on the sensor from 0-1.0. Because the sensor is close to a surface, the LED in the sensor reads 1.0 in the examples.
Parameter Description
Parameter
Sensor Type
I2C
I2C Address
The REV Robotics Color Sensor has two sensing elements, proximity and color.
Proximity measurements are based on IR reflectance and can vary depending on lighting conditions and target reflectivity.
Color measurements consist of Red, Green, Blue, and Alpha (clear) values. The white LED on the sensor has a slide switch to turn the LED on or off. Unlit targets are best illuminated with the build-in LED while bright or light-emitting targets may not require the build-in LED. Color data is best collected within 2cm of the target for the strongest color differentiation.
When working with the Color Sensor V1 configure your robot to use the "REV Color/Range Sensor" as shown in the image below.
In this example, the Color Sensor V1 is configured on I2C bus 2. The Color Sensor V1 can be configured on any of the I2C busses.
This program shows the values from the Color Sensor on your phone. Your team will need to figure out the logic to use this information in your program. Below there are three examples of different color modes and their readings. Light Detected mode will read the amount of light on the sensor from 0-1.0. Because the sensor is close to a surface, the LED in the sensor reads 1.0 in the examples.
Additional information about the TMD37821, its capabilities, and its features can be found in the following datasheet:
Additional information about the TMD37821, its capabilities, and its features can be found in the following datasheet:
Parameter Description
Parameter
Sensor Type
I2C
I2C Address
0x39
-
3.3
V
Proximity Sensor Range
5
-
25
cm



package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.hardware.ColorSensor;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
@TeleOp
public class TestColorSensor extends LinearOpMode {
// Define a variable for our color sensor
ColorSensor color;
@Override
public void runOpMode() {
// Get the color sensor from hardwareMap
color = hardwareMap.get(ColorSensor.class, "Color");
// Wait for the Play button to be pressed
waitForStart();
// While the Op Mode is running, update the telemetry values.
while (opModeIsActive()) {
telemetry.addData("Red", color.red());
telemetry.addData("Green", color.green());
telemetry.addData("Blue", color.blue());
telemetry.update();
}
}
}0x39
Sensor Part
TMD37821
Measurement Channels
Red, Green, Blue, Alpha, and Proximity
Parameter
Min
Typ
Max
Units
Operating Voltage Range
-
package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.hardware.ColorSensor;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
@TeleOp
public class TestColorSensor extends LinearOpMode {
// Define a variable for our color sensor
ColorSensor color;
@Override
public void runOpMode() {
// Get the color sensor from hardwareMap
color = hardwareMap.get(ColorSensor.class, "Color");
// Wait for the Play button to be pressed
waitForStart();
// While the Op Mode is running, update the telemetry values.
while (opModeIsActive()) {
telemetry.addData("Red", color.red());
telemetry.addData("Green", color.green());
telemetry.addData("Blue", color.blue());
telemetry.update();
}
}
}-
3.3
V
Proximity Sensor Range
5
-
25
cm


