Spring 2018 3DoT Hexy: RGB Color Sensors

By: Kris Osuna (Electronics & Control Engineer)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)


   A RGB sensor is going to be needed to allow 3DoT Hexy to detect intersections. A different color will be placed at every intersection to allow our robot to know the type of intersection.  We will be using the RGB Light Sensor – ISL29125 to get values from printed paper.


  • Arduino Uno
  • Light Sensor – ISL29125

Related Requirements

  • Light sensor must be able to tell the difference between colors

Update 2: (March 20, 2018)


     Color sensors will no longer be implemented for our projects due to a customer revision of the maze definition. According to the customer, since we plan on using UV sensors for our line following design, it would be more optimal to implement intersection detection using a UV grid (as shown in the maze definition). Also color sensing was out of the question for robots like biped or velociraptor whom would have difficulty reading RGB due to required placement position.

Update 1: (March 8, 2018)


We used the RGB Light Sensor – ISL29125 (figure 1) to get values from printed paper. The sensor was zip tied to a ruler to detect values from 1 inch away (figure 2). We obtained the red, green and blue values and recorded the range that appeared. In the software we added the red, green and blue values and found the average. The table is arranged from lowest average to highest average to show which color would be the most beneficial to use.


Table 1: Sensor Values 

Purple, blue, red and yellow would be ideal to use due to the difference in averages making it harder to confuse each other. If you use the average as a data point the sensor can tell the difference between the colors since none of the color averages overlap.

Figure 1: Left – RGB color sensor ISL29125


Figure 2: Set-up for measurements


  1. RGB Sensor Datasheet
  2. Light Sensor Code