Arduino One Pixel Camera Sees All (Eventually)

Taking pictures in the 21st century is incredibly easy. So easy in fact that most people don’t even own a dedicated camera; from smartphones to door bells there are cameras built into nearly electronic device we own. So in this era of ubiquitous photography, you might think that a very slow and extremely low resolution camera wouldn’t be of interest. Under normal circumstances that’s probably true, but this single pixel camera built by [Tucker Shannon] is anything but normal.

At the heart of his unusual camera is the TCS34725 RGB color sensor from Adafruit which receives a tightly focused beam of incoming light by way of a 3D printed enclosure and a 3mm OD aluminum tube. This allows an Arduino Uno to determine the color of this tiny slice of light, making up a single pixel of the final color image. [Tucker] notes that you could even swap the color sensor out for a simple photocell if you don’t mind a black & white image at the end of the process.

In either event, once the light has been analyzed the sensor is repositioned autoturret-style by way of dual BYJ-48 stepper motors. This process continues on, spiraling outwards until the whole image is stitched together from these individual readings

Now compared to the camera in your phone, the resulting image might be a bit underwhelming. We’d say it’s a bit like looking at a digital picture on an 8 bit computer, but in truth even that might be overly generous. But even if it isn’t as crisp as modern eyes would like there’s no question that it’s certainly a recognizable image, which is all [Tucker] was shooting for.

Of course if your optical frugality is such that even this low-resolution camera is too sharp for your tastes, we’ve seen a similar concept  using a roof-mounted solar array.

19 thoughts on “Arduino One Pixel Camera Sees All (Eventually)

    1. The datasheet for the sensor states it needs a minimum of 2.4ms to read the color but further suggests that the device can be configured up to (if I’m reading this correctly) 700ms for a fully accurate reading. Adafruit’s code suggests they have it set to 154ms.

    2. Thats right, the galvanometer scanner solution works much better and faster. There is a single pixel camera project on kickstarter, trying to come out with a camera product right now.

  1. That’s essentially how old vidicon tubes worked, which were also called “flying spot cameras”. I still have one lying around somewhere (Panasonic branded) which I got in the early 80’s. It was used to turn a VHS tape recorder into a “home movie” recorder. I even have some of the old NTSC videos I made with it. I think it’s been around in one form or another since the twenties.


    1. That’s not a flying-spot camera. A flying-spot camera projects a raster with a narrow beam of light on the object to be televised and the reflected light is measured. In the early days of TV the raster was generated with an arc lamp and a Nipkow disc, light was detected with arrays of large photocells.

      1. An actual flying spot camera might be a nice idea for this. Have a fixed light sensor, then spin a laser across a scene in a dark room. You could even use different coloured lasers, with a non-filtered sensor. The advantage would be that moving a spot of light with a galvo is much easier than moving a sensor with wires dangling off.

      1. Yah, I called it SLIR (slow looking infrared). It worked alright, I was just messing around to see the feasability of a cheap flir to check for insulation leaks outside a house. The FOV was too wide for my liking and the real small FOV components were just too much for how cheap I wanted to make it. Picture of it taking a picture of my heater vent

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.