Blog Home

Build a single-pixel scanning camera with an RGB sensor

Arduino TeamDecember 15th, 2018

Sensors like the TCS34725 from Adafruit can detect a single color. It stands to reason then, that if you were to aim this sensor at a multitude of points and record the resulting data, you could have a one-pixel camera. As seen here, Tucker Shannon decided to take this concept and run with it, constructing his own with an Arduino Uno and a pair of stepper motors.

The device looks like something akin to some sort of auto-turret, and directs the sensor in a square spiral for image acquisition. The resulting pictures are certainly low-res, but good enough to pick out recognizable forms with a little imagination. 

The color sensor tells the Arduino what color it “sees” at any given time. By pointing it at every single point within a field of view, I can record these colors and use them later to reconstruct an image.

Using two stepper motors, the camera points the sensor at every “pixel” within the photo and records what it sees. It uses these values to “paint” a picture of whats in front of it!

Components include: 1x Arduino Uno, 1x Adafruit RGB Color Sensor TCS34725, x2 BYJ-48 Stepper motor with drivers, x1 3mm OD aluminum tube, x20 M3x6mm fasteners. Alternatively a photoresistor can be used in place of the RGB sensor for black and white photos!

Code for the project can be found on GitHub, and print files are on Thingiverse if you’d like to build your own!

Boards:Uno
Categories:ArduinoFeatured

One Response to “Build a single-pixel scanning camera with an RGB sensor”

  1. Dan-c Says:

    Good effort there!
    The idea of the single pixel camera is great and has so much potential. Hyperspectral imaging, thermal imaging, LIDAR and more all in one.
    Hoewever, i find that moving the sensor is not the best solution. Instead, moving two mirrors in front of the sensor can give you better results. There is a single pixel project on kickstarter trying to further develop the mirror solution. Lets see how it goes!

Leave a Reply

You must be logged in with your Arduino account to post a comment.