A simple scanner camera which produces photographs of endearing "potato-like" quality.


Panorama from SPUD v1 at Upper Crystal Lake, Mt. Rainier Nat. Pk. 3 image composite in PS.


This project was spurred by my longing to make a fully-functioning, medium format digital camera. Short of pulling a sensor from a multi-thousand dollar Mamiya, Leaf, or Phase One camera, and immediately getting stopped up by technical details wrapped up under NDA, I chose to make a "scanner camera".

A scanner camera is exactly what it sounds like - a linear array of photodiodes is scanned across a 2D image plane, and the data is reconstructed into a photograph. This is by no means a new practice - even a cursory Google search will reveal that many a curious mind has tacked a lens onto the business end of a consumer scanner (and often, with great results). 

So, what's the originality here? Well, I wanted to make a scanner camera that is completely self-contained. No PC tethering or external power supply needed. All of the scanning mechanism, image capture, control, viewing, etc, would be kept in one easily-packable camera.

To this end, I designed my camera around the following key components:

  1. Photodiode Array: TAOS/AMS TSL1406RS. A simple analog device consisting of 768 pixels, about 48mm wide. This is the perfect size to emulate a 6x4.5 cm frame! 
  2. Microcontroller: PJRC Teensy 3.2. Fast, cheap 32 bit micro with dual ADC's (perfect for the TSL, which has 2 analog outputs!) and lots of memory to buffer all the image data.
  3. Linear motion: NEMA 8 stepper & TI DRV8834 driver. Simple, and super easy to use. Dragging the TSL along a couple of linear shafts doesn't take much work.

"What's in a name? That which we call a potato
by any other name would taste just as starchy"

Enough butchering of 16th century English playwrights. SPUD stands for Scanning Photodiode-array captUre Device.


SPUD v1.0

When I first imagined this camera, I was picturing a modern-looking camera clad in white, 3D printed nylon. But then I pictured my wallet afterwards and settled on a more rudimentary device stuffed into an artisanal hand sawn hardwood enclosure (just kidding, it's basswood that I butchered with a hand saw). A few ugly prototypes with a brown paper bag from Safeway later, and I was confident that the electronics (PCBs done up nicely by Seeedstudio) and mechanical bits were fit to make a camera. To project light on the sensor, I found a used Mamiya 645 80mm f/2.8 lens on eBay in good shape (~$45). Not eager to burden my already byzantine wooden camera with a locking bayonet mount, the lens was held on by paper clips.

Admittedly, I was a bit surprised when it worked - and quite well! I am very pleased with the exposure latitude afforded by the 16-bit ADC's of the Teensy 3.2 - a lot of photos have clipping in the highlights, but underexposed areas can be lifted in Photoshop really well. I took it on a camping trip to the Oregon Coast, and on a rather arduous hike up to Crystal Lakes near Mt. Rainier, surviving both journeys like a champion. On the first trip, the battery came loose of its construction paper pocket and was started banging around the interior of the camera. Minor surgery with Hello Kitty duct tape (no joke - this is a key supply in my wife's camping kit) and a camp knife and it was good as new. Try doing that with any other camera of modern vintage.


SPUD v2.0

SPUD v1.0 worked admirably, I have to say. But it turned heads for the wrong reasons - it truly looks like a woodshop project made by a disinterested 7th grader. And I grew tired of squinting at the tiny 1.8", 160x128 screen that was impossible to see in even the dimmest light. So enter SPUD v2.0. The major improvements were:

  1. Bigger, brighter screen (3.5" 480x320)
  2. Laser cut bamboo plywood body (which I cut at UW's Comotion makerspace!)
  3. "Interchangeable" lenses
  4. Much, much smaller body

Ah, now this is a camera that I feel satisfied with. I think it fulfills all of the things that I set out to do at the beginning of this project, and looks good to boot. I had fun making a touchscreen GUI - just don't look at the code, it's all spaghetti. I also added a trichrome "color" mode - you can make a composite color photograph by combining photos taken with red, green, and blue filters. The TSL unfortunately is very sensitive to IR, so the colors get skewed and look dull. Nothing an IR filter couldn't fix (but they tend to be expensive).


Thoughts & Recommendations

I think this camera is hard to beat, if you want to get some of the medium format "look" (smooth, effortless depth of field, nearly zero distortion, etc.) without having to resort to 120/220 film, or shelling out for a medium format digital system. Of course, this has to be taken with a grain of salt: you only get 0.8 megapixels to work with, and you can't shoot handheld. But, it cost me only $150, and building it was easily half the fun.

I'm finding this to be a good stopping point (for now anyway) for this project. But, if I were to continue on, I'd like to try a few things. For instance, higher resolution photodiode arrays (pixel counts in the thousands) certainly DO exist (i.e. Toshiba, Sony, etc), but they are significantly more difficult to interface with. Color arrays exist as well, though this adds a whole new layer of difficulty in signal processing. Composition of the image is a little difficult, since you have to "scan" the image again every time you want to refresh the preview image, though there are tools to work around this. I imagine real-time viewing of the image would be possible if you were to insert a ground-glass screen that swings onto the image plane - again, this introduces more complexity - which is exactly why I'm more than happy to let sleeping dogs lie.