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!