ColourScope: a True Portable RGB Color Prototyping Lab

by SUCHI2004 in Circuits > Arduino

108 Views, 1 Favorites, 0 Comments

ColourScope: a True Portable RGB Color Prototyping Lab

Colourscope
WhatsApp Image 2026-07-21 at 10.09.24 AM.jpeg
WhatsApp Image 2026-07-20 at 9.20.30 PM (1).jpeg
qwerty-ezgif.com-video-to-gif-converter.gif

Color is everywhereβ€”from breathtaking sunsets and vibrant rainbows to the screens we use every day. But have you ever wondered how your phone, TV, or computer monitor can create millions of colors using only Red, Green, and Blue (RGB) light?

The answer lies in additive color mixing. Unlike paints, where mixing colors usually creates darker shades, light behaves differently. By adjusting the intensity of Red, Green, and Blue light, we can produce almost every color visible to the human eye. This simple yet fascinating principle powers modern displays, projectors, LED lighting, and many of the technologies we use every day.

Although RGB color theory and the visible light spectrum are taught in schools, they're usually explained through diagrams rather than real-world demonstrations. At the same time, artists, designers, and makers often experiment with colors before starting a project, but most digital color pickers only display colors on a screen instead of letting you experience them as real light.

That's what inspired me to create ColourScope.

ColourScope is a portable RGB Color Prototyping Lab that combines science and creativity into one compact device. It lets you physically mix Red, Green, and Blue light, project the resulting color onto a wall or canvas, and instantly see how each adjustment changes the final color. Whether you're an artist exploring new color combinations, a student learning the science of light, or a teacher demonstrating additive color mixing, ColourScope transforms color theory into an interactive, hands-on experience.

Let's build ColourScope and discover how just three colors of light can create an entire world of color! 🌈

Supplies

WhatsApp Image 2026-07-20 at 9.20.38 PM.jpeg
WhatsApp Image 2026-07-20 at 9.20.39 PM.jpeg
WhatsApp Image 2026-07-20 at 9.20.36 PM (1).jpeg

Electronics

  1. 1 Γ— Arduino Nano
  2. 1 Γ— 0.96" I2C OLED Display (SSD1306)
  3. 3 Γ— WS2812B NeoPixel LEDs
  4. 1 Γ— 10kΞ© Potentiometer
  5. 1 Γ— Tactile Push Button
  6. 1 Γ— Active Buzzer
  7. 1 Γ— TP4056 Li-ion Charging Module
  8. 1 Γ— Slide ON/OFF Switch
  9. Jumper Wires / Hook-up Wire

Power

  1. 1 Γ— 3.7V Li-ion Battery (18650 or similar)

3D Printed Parts

  1. 1 Γ— Main Enclosure
  2. 1 Γ— Top Lid
  3. 1 Γ— Bottom Cover

(STL files are attached in this Instructable.)

Tools Required

  1. Soldering Iron
  2. Solder Wire
  3. Hot Glue Gun (Optional)
  4. Wire Stripper
  5. Side Cutter
  6. Tweezers (Optional)
  7. USB Cable for Arduino Nano
  8. Computer with Arduino IDE

Software

  1. Arduino IDE
  2. Adafruit NeoPixel Library
  3. Adafruit SSD1306 Library
  4. Adafruit GFX Library

Understanding How Colors Combine

images.png
err-ezgif.com-video-to-gif-converter.gif
Screenshot 2026-07-20 231057.png

Before we start building ColourScope, let's understand the science behind it.

Unlike paints or inks, which use subtractive color mixing, light follows the principle of additive color mixing. In additive mixing, different colored lights are combined to create new colors. As more light is added, the resulting color becomes brighter. This is why combining all three primary colors of light produces white, while the absence of light appears black.

The three primary colors of light are:

  1. πŸ”΄ Red
  2. 🟒 Green
  3. πŸ”΅ Blue

When these colors overlap, they create secondary colors:

  1. πŸ”΄ Red + 🟒 Green = 🟑 Yellow
  2. 🟒 Green + πŸ”΅ Blue = πŸ”΅ Cyan
  3. πŸ”΄ Red + πŸ”΅ Blue = 🟣 Magenta
  4. πŸ”΄ Red + 🟒 Green + πŸ”΅ Blue = βšͺ White

Our eyes perceive color using specialized cells called cone cells, which are sensitive to red, green, and blue wavelengths of light. The brain combines the information from these cone cells to recognize millions of different colors. By simply changing the brightness of each RGB light source, we can recreate almost any color visible to the human eye.

This same principle is used in televisions, computer monitors, smartphones, projectors, LED displays, stage lighting, and digital cameras, where every color on the screen is created by adjusting the intensity of red, green, and blue light.

ColourScope demonstrates this process in real time. As you adjust the Red, Green, and Blue values, you can instantly observe how different colors are produced, making it an interactive way to learn the fundamentals of light and color.

The diagram below illustrates how additive RGB color mixing works.

3D Print the Enclosure

ScreenRecording2026-07-19140757-ezgif.com-video-to-gif-converter (1).gif
Screenshot 2026-07-20 223425.png

Now it's time to print the enclosure that houses all the electronics. I designed a compact case that keeps every component securely in place while allowing the RGB light to project freely. The enclosure is made of three parts: the main body, the top cover, and the bottom cover.

I printed all the parts using white PLA filament. White not only gives the device a clean, professional look but also reflects light better, helping the projected colors appear brighter and more vibrant.

Recommended Print Settings

  1. Material: PLA
  2. Layer Height: 0.2 mm
  3. Infill: 15–20%
  4. Wall Count: 3
  5. Supports: Only where required
  6. Print Speed: 50–60 mm/s
  7. Nozzle Temperature: 200–210Β°C (depending on your filament)
  8. Bed Temperature: 60Β°C

Once the prints are complete, remove any supports and lightly sand the edges if needed for a cleaner finish. Before assembling everything, test-fit the Arduino Nano, OLED display, switch, potentiometer, push button, battery, and NeoPixel LEDs to ensure all cutouts align correctly.

The enclosure is now ready for the electronics assembly in the next step.

Upload the Code to the Arduino Nano

ardunio nano code upload

Now it's time to bring ColourScope to life by uploading the firmware to the Arduino Nano.

If you're new to Arduino, don't worryβ€”this process only takes a few minutes.

What You'll Need

  1. Arduino Nano
  2. USB Mini-B Cable
  3. Arduino IDE installed on your computer
  4. ColourScope source code (attached below)

Install the Required Libraries

Before uploading the code, install the following libraries from the Arduino Library Manager.

  1. Open Arduino IDE.
  2. Go to Sketch β†’ Include Library β†’ Manage Libraries...
  3. Search for and install these libraries:
  4. Adafruit NeoPixel by Adafruit
  5. Adafruit SSD1306 by Adafruit
  6. Adafruit GFX Library by Adafruit

Once all three libraries are installed, you're ready to upload the code.

Upload the Code

  1. Connect the Arduino Nano to your computer using a USB Mini-B cable.
  2. Open the ColourScope sketch provided with this project.
  3. Go to Tools β†’ Board and select Arduino Nano.
  4. Under Tools β†’ Processor, select the correct processor for your board:
  5. ATmega328P (Old Bootloader) (Most Nano clone boards)
  6. ATmega328P (Official Arduino Nano)
  7. Select the correct COM Port from Tools β†’ Port.
  8. Click the Upload (β†’) button and wait for the upload to finish.

If everything is configured correctly, the Arduino IDE will display:

Done Uploading!

Your Arduino Nano is now programmed and ready for the next step.

Tip: If you receive an stk500_recv(), programmer is not responding, or another upload error, try selecting ATmega328P (Old Bootloader) from the Processor menu, as many Arduino Nano clone boards use the older bootloader. Also, ensure the correct COM port is selected and the USB cable supports data transfer (not just charging).

Downloads

Prepare the Electronics

WhatsApp Image 2026-07-20 at 9.20.36 PM.jpeg
ChatGPT Image Jul 20, 2026, 10_49_23 PM.png

With all the parts printed, it's time to prepare the electronics. Solder the wires to each component and connect everything according to the wiring diagram below. Double-check every connection before powering on the circuit.

OLED Display (I2C)

  1. VCC β†’ 5V
  2. GND β†’ GND
  3. SDA β†’ A4
  4. SCL β†’ A5

Red NeoPixel LED

  1. DIN β†’ D6
  2. VCC β†’ 5V
  3. GND β†’ GND

Green NeoPixel LED

  1. DIN β†’ D7
  2. VCC β†’ 5V
  3. GND β†’ GND

Blue NeoPixel LED

  1. DIN β†’ D9
  2. VCC β†’ 5V
  3. GND β†’ GND

Potentiometer

  1. VCC β†’ 5V
  2. GND β†’ GND
  3. Signal β†’ A0

Push Button

  1. One Terminal β†’ D2
  2. Other Terminal β†’ GND

Active Buzzer

  1. Positive (+) β†’ D8
  2. Negative (βˆ’) β†’ GND

TP4056 Charging Module

  1. B+ β†’ Battery Positive (+)
  2. Bβˆ’ β†’ Battery Negative (βˆ’)
  3. OUT+ β†’ Slide Switch
  4. OUTβˆ’ β†’ Arduino Nano GND

Slide Switch

  1. Terminal 1 β†’ TP4056 OUT+
  2. Terminal 2 β†’ Arduino Nano 5V (or VIN if using a higher input voltage)

3.7V Li-ion Battery

  1. Positive (+) β†’ TP4056 B+
  2. Negative (βˆ’) β†’ TP4056 Bβˆ’
Tip: Use different wire colors for 5V, GND, and signal wires to make troubleshooting easier. Before moving on to the next step, compare your circuit with the wiring diagram and ensure all solder joints are secure. This will save time during the final assembly.


Assemble the Enclosure

WhatsAppVideo2026-07-20at10.58.07PM-ezgif.com-video-to-gif-converter.gif
WhatsApp Image 2026-07-20 at 9.20.37 PM.jpeg
WhatsApp Image 2026-07-20 at 9.20.35 PM.jpeg
WhatsApp Image 2026-07-20 at 9.20.34 PM.jpeg
WhatsApp Image 2026-07-20 at 9.20.33 PM.jpeg
WhatsApp Image 2026-07-20 at 9.20.33 PM (2).jpeg
WhatsApp Image 2026-07-20 at 9.20.32 PM.jpeg

Now that all the electronics have been wired and tested, it's time to assemble ColourScope inside the 3D-printed enclosure.

Begin by mounting the OLED display, potentiometer, push button, and slide switch into their respective cutouts on the front panel. Next, place the Arduino Nano, TP4056 charging module, and buzzer into their designated positions inside the enclosure. Finally, install the three NeoPixel LEDs and 3.7V Li-ion battery in their dedicated slots.

Carefully arrange the wiring to keep the interior neat and prevent any wires from being pinched or pulled during assembly. If needed, use a small amount of hot glue or double-sided tape to secure the components and keep them from moving.

As shown in the figure below, all the components should fit neatly inside the enclosure with enough room for proper cable management.

Once everything is positioned correctly, carefully align the lid with the main body of the enclosure and gently press it into place until it fits securely. Ensure that no wires are trapped between the two halves and that the lid sits flush with the enclosure.

Tip: Before closing the enclosure completely, power on the device to verify that the OLED display, NeoPixel LEDs, push button, potentiometer, and buzzer are all functioning correctly. Once everything has been tested, close the lid securely and your ColourScope is ready for the final testing step. 🌈

Testing ColourScope

WhatsApp Image 2026-07-20 at 9.20.31 PM.jpeg
gif-ezgif.com-video-to-gif-converter.gif

With the assembly complete, it's time to test your ColourScope.

Slide the ON/OFF switch to the ON position. The OLED display should light up, indicating that the device has powered on successfully. Use the push button to switch between the Red, Green, and Blue channels, then rotate the potentiometer to adjust the brightness of the selected color.

As you change the RGB values, watch the three NeoPixel LEDs combine to create different colors such as Yellow, Cyan, Magenta, White, and countless other shades.

Verify the following:

  1. βœ… ON/OFF switch powers the device correctly.
  2. βœ… OLED display starts and updates properly.
  3. βœ… Push button changes the selected RGB channel.
  4. βœ… Potentiometer adjusts the brightness of the selected color.
  5. βœ… NeoPixel LEDs respond smoothly to every adjustment.
  6. βœ… Buzzer provides feedback (if enabled).
  7. βœ… Battery powers the device reliably.

If all of these tests pass, your ColourScope is ready to demonstrate the fascinating science of additive RGB color mixing.

How to Use ColourScope

colourscope 2

Now that your ColourScope is assembled, it's time to start exploring the fascinating world of RGB color mixing.

Slide the ON/OFF switch to the ON position to power the device. After a few seconds, the OLED display will turn on and show the currently selected color channel and its intensity.

Adjust the Light Intensity

Use the potentiometer to change the brightness of the currently selected color. Rotating the knob clockwise increases the intensity, while rotating it counter-clockwise decreases it.

Switch Between RGB Channels

Press the push button to cycle through the three color channels:

  1. πŸ”΄ Red
  2. 🟒 Green
  3. πŸ”΅ Blue

The OLED display indicates which channel is currently selected. After selecting a channel, use the potentiometer to adjust its brightness. By repeating this process for all three channels, you can create countless color combinations.

Experiment with Colors

Try creating some common colors by adjusting the RGB intensities:

  1. 🟑 Yellow (Red + Green)
  2. πŸ”΅ Cyan (Green + Blue)
  3. 🟣 Magenta (Red + Blue)
  4. βšͺ White (Red + Green + Blue)
  5. ❀️ Different shades by varying the brightness of each color

This hands-on interaction makes it easy to understand how additive RGB color mixing works.

Charging the Battery

ColourScope includes a built-in TP4056 charging module, making it easy to recharge the battery.

Simply connect a USB cable to the charging module whenever the battery runs low. The charging indicator LEDs on the TP4056 will show the charging status, and once fully charged, the device is ready to use again.

Tip: Switch the device OFF while charging or when it is not in use to maximize battery life and ensure safe operation.

What We Learned & Conclusion

qwerty-ezgif.com-video-to-gif-converter.gif

Building ColourScope is more than just assembling an electronic projectβ€”it's an opportunity to explore the fascinating science behind light and color. Throughout this project, we learned how additive RGB color mixing works and how combining different intensities of Red, Green, and Blue light can produce millions of unique colors.

We also gained hands-on experience with:

  1. RGB color theory and additive color mixing
  2. Arduino Nano programming
  3. Controlling NeoPixel LEDs
  4. Using PWM to adjust LED brightness
  5. Interfacing an OLED display
  6. Reading analog input with a potentiometer
  7. Using a push button for user interaction
  8. Battery-powered electronics with a TP4056 charging module
  9. Designing and assembling a 3D-printed enclosure

By building and experimenting with ColourScope, you can see in real time how the same RGB technology is used in televisions, smartphones, computer monitors, LED displays, projectors, and stage lighting. It transforms an abstract concept into something interactive, making it easier to understand and much more engaging to explore.

I hope this project has helped you better understand the science of light while inspiring you to create your own interactive educational gadgets. If you enjoyed this build, I'd really appreciate your vote in the Colors of the Rainbow Contest. Your support encourages me to continue designing and sharing open-source STEM projects for makers, students, and educators around the world.

Happy Making! 🌈