Introduction: Retro Pi Cam

Convert an old twin lens reflex into a digital camera using a raspberry pi.

Subtitled "Instagram meets Lomo" :-)

(As far as I can make out, Lomography is the rediscovery of analogue photography by a generation who never experienced the fun of film cameras the first time round, and Instagram is another aspect of the same where digital photographers can mix the fun of social photo sharing with the pain of seeing your perfectly framed shots ruined by low quality lenses and accidents during developing!  Well, now you have have the worst of both worlds by making crappy digital images with an old analog camera :-) )

With a bit of brute force and a pair of tinsnips, I'll show you how to retrofit an old twin-lens reflex camera with a raspberry pi and a raspicam. From the outside it's almost impossible to tell that it isn't an original film camera.

As well as turning your TLR into a digital camera, you can also use this as a stealth webcam/nannycam or just as a cool housing for your raspberry pi based server.

Step 1: Surprisingly Good Fit!

Three or four years ago, tieguy asked if it were possible to convert an analogue twin lens reflex (TLR) to digital ( - well, the answer is a resounding 'Yes!'.

First step is to acquire a cheap TLR to hack. I actually have a working Kodak Duaflex II but I couldn't bring myself to hacking it up so I bought a non-working one on eBay for about $20. Actually during the process of stripping it down, which it turns out isn't all that difficult, I did learn enough about how the camera worked to actually repair it, but since it's a little late in life for me to get into the camera repair business, I decided to go ahead with the hack...

Next step is to decide just how true to the original you want the converted camera to be - do you want to replace the viewfinder with a screen? Do you want to add a visible external port for USB?  How about external power, or offering an HDMI output?

In my case I wanted it to look as original as possible, complete with framing the image through the viewfinder optically rather than via a digital viewfinder. I was 99% successful - there were two small giveaways which someone watching closely might spot -- I had to use the film winder knob as a power on/off switch, and by replacing the shutter button with an electronic button, I lost the realistic sound effect of the mechanical shutter opening and closing (although I intend to rectify that soon by adding a small internal speaker to reproduce the sounds in software).

Step 2: Parts and Equpment

I pondered whether to do a detailed step by step that you would need to follow exactly or whether I should just sketch out the method I used to create my retro picam, and I decided on the latter for two reasons - the first is you're likely to have found a different TLR camera to hack, and my instructions wouldn't match your hardware; and the second is that would take away from most of the fun of the project which is working out how to make space in the camera body and how to fit your raspberry pi and associated logic into the case in a way that it still looks original.  So take the list of equipment as a rough guide, don't feel you can't take this on if, for example, you don't own a Dremel grinding tool.  You can probably get away with just a few screwdrivers in a pinch.

The critical component is the Raspberry Pi and the associated PiCam.  Anyway, here's what I used:
  • Cheap or broken TLR
  • Raspberry Pi with camera
  • Buck converter with 5V output
  • Micro Wifi adapter
  • 9V rechargable Li-Poly battery
  • SPST switch
  • Microswitch
And here are the tools I used, which were what I happened to have to hand. You can get by with a lot fewer or with different ones, especially if you strip the camera down completely and don't start cutting metal too early while you're still working out how to fit the pi into the enclosure as I did:
  • Screwdrivers of various sizes
  • Tin snips
  • Dremel with grinding wheels
  • Giant nail
  • Hammer
  • Superglue
  • Wire
  • Insulating tape

Step 3: Try Some Different Layouts

It looks at first that the Raspberry Pi should be a perfect fit inside this particular camera, and when I started the project I expected to either mount the pi flat to the body of the camera, or mount it flat against the back door where it would swing out as the back was opened, giving good access to the space inside where I could install the battery and various extras that I'd been considering adding. I did have to remove the video connector, and Dremel out some of case so that the back could swing out smoothly with the pi attached, but ultimately I fitted the pi inside the camera at a more awkward angle because I wanted to include a micro WiFi dongle in the USB port, and unless you cut a hole in the camera body and take the USB port external, the pi has to be mounted at an angle.

(In the photo for this step you can still see the mechanical shutter release button before I replaced it with an electronic switch.)

I also tried various combinations of the pi PCB facing upwards, downwards, forwards and backwards but the one in the final picture above is the one that worked best.

I decided to power the camera from a 9V battery - well, actually, a Lithium Polymer version of a 9V battery, which in fact comes in around 7 to 8 volts, but the exact voltage doesn't matter as long as it's above about 6V because I converted it down to a regulated 5V using a 'buck converter'.  These are easy to find but I like the one supplied by Adafruit because it is pretty small compared to some of the others which is good for this project where space is at a premium.

Step 4: The Pi Camera

I was almost able to cleanly disassemble the camera, but one item that defeated me was removing the final piece of glass from the lens assembly.  It was solidly held in place by a metal ring.  In the end I brute-forced it by smashing the glass with a heavy 9in nail (after wrapping it in a paper towel to catch the glass shards.  In fact the glass broke down into powder more than into shards).

You can see the Picam lens in the photo. It's not at all obvious that there's a lens missing except if you know to look for it, as in the close-up photo taken with a flash.

When I was first hacking up the camera to fit this hardware inside, I tried to keep the shutter mechanism and had some idea that the physical movement of the shutter might trigger the capture of an image, but when I removed the shutter I found that - on this camera at least - the larger aperture hole was a perfect fit for the front of the picam, and in fact the picam could be held in place simply by clicking the front of its lens into the remaining aperture hole in the camera.  A very lucky coincidence that allowed me to avoid the need to create a custom mount to hold the picam in place.

Step 5: Say Cheesy!

Since this is battery powered, we'll need an off/on switch.  We'll also need a way to actually take the photos, and unless we're willing to put up with the hassle of removing the raspberry pi each time we want to see the photos we've taken, we'll need a way to access the computer.

For power, I decided to use the film winder, which is no longer needed.  The winder has a flat extrusion on the inside that used to fit into a film spool.  I attached a microswitch to the inside of the case, positioned so that a half turn on the winder would switch it on and another half turn would switch it off.  I then put this switch inline in the power circuit between the battery and the buck converter.

For the image capture button, I was really lucky to find a Radio Shack switch that was the exact size of the original button.  I will be connecting that to the raspberry pi to trigger taking an image, but for the moment I'm using a software hack - from the point that you power up, I just run a loop that takes stills (using raspistill) continuously until the battery runs flat, which takes a couple of hours.  There's more than enough capacity on an SD card that I don't care how many images are taken!

The fun part for me is how to access the raspberry pi while using the camera - I was able to squeeze the pi into the camera body with a micro wifi adapter attached.  It was quite lucky actually because I had first tried using a bluetooth keyboard adapter but it was just a smidgeon too large to fit!  But with wifi, I could do several things - I could view what the pi sees in realtime on my android (Xoom) tablet; I could access the unix command-line over ssh, and I could have the pi automatically upload all the pictures I was taking to my home unix server over sftp.

As I develop this system and polish off some of the rough edges, I hope to be able to upload directly to Instagram after applying a filter to make the image quality look appropriate for the style and age of the camera.  As well as improving the software, the remaining hardware mods I want to make are to hook up the shutter release button to take the picture, and to add an LED behind the little window at the back of the camera (where originally you could see the number of the frame printed on the back of the safety paper) to indicate whether the camera is powered up or not, which surprisingly is actually a critical problem with the current version as it's easy to forget and toggle from on to off when you think you're switching from off to on!

In conclusion, this hack lets me use the old Kodak camera as both a digital camera, and as a video webcam.  I can also just use it as a cool housing for my Raspberry Pi server.  Although the battery life is limited to an hour or two, there's still room for a second battery or for a transducer to power it wirelessly, and if I decide that I don't need to keep the outside looking original, it'll be very easy to break out a power socket somewhere that it won't be too visible.  The camera housing has lots of places that can be reused for other purposes.

This is definitely a conversion that you can do yourself and have fun doing it.  Just be sure to use a cheap or broken camera body and don't cut up any classic cameras - better quality TLR's are become quite valuable as collector's pieces nowadays.

Raspberry Pi Contest

Participated in the
Raspberry Pi Contest