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.


Divejackdive made it!(author)2017-02-21

Very cool idea. You don't <have> to smash the lens if you don't want to. Just take out the lens from the RPI camera board (pliers, counter clockwise) and place the RPI camera board at the right focus behind the lens. See my instructable (search "RPI old SLR lens") for an example of this method.

gtoal made it!(author)2017-02-21

Funny story about that... I tried to unscrew a picam lens to do close-focus for another project, but it was one of the chinese clone picams and turns out the lens doesn't unscrew - after a huge amount of forcing I actually broke the lens off by accident. Fortunately I kept the broken camera, which means I already have one that I can try with your suggestion! (An excellent example of why never to throw damaged parts away if you don't have to)

Divejackdive made it!(author)2017-02-21

I never even imagined that even a cheapie wouldn't screw out....thanks for the quick comment.

meddler made it!(author)2016-09-05

I would like to try this, but I am not very electronics savy. Also, do you have any pics to post that you have taken with the modded TLR?

gtoal made it!(author)2016-09-05

If you can wait a bit, I've recently bought a Pi Zero with a camera cable, and intend to re-do the retrocam using that instead - it should be much easier to fit in the camera body. I have a second camera ready, and I'll photograph the process more carefully next time. The photos were all right but getting the exposure right automatically was tricky - if it was well exposed indoors, it would be washed-out in bright sunshine. I now have a lux meter sensor that I want to add in the next one to use as a built-in light-meter. It would be possible to use the camera as a light meter but there would be a noticable delay between pressing the button and the picture being taken which I didn't want.

Kiteman made it!(author)2014-01-06

Did you write your own software, or was it "off the shelf"?

gtoal made it!(author)2014-07-14

Software posting coming up soon. I just this weekend got the shutter release button working and added an information LED *AND* a managed to fit a powered speaker in the case :-) So it now does a wonderful sound-effect of a shutter! I'll be making a few final tweaks over the next few days then I'll update the instructable with all the details.

(And I just hope the new TSA procedures don't cause them to confiscate my camera next time I fly because there's a *lot* of electronics packed into this box!)

Kiteman made it!(author)2014-07-14


It might be worth writing a new instructable, since this one is six months down the lists now.

gtoal made it!(author)2014-07-16

Thanks for the hint - I didn't know that was allowed or at least encouraged. (I always thought that re-issuing an instructable was only something people did so that they could re-enter it in a competition :-) )

Meanwhile, here's an update: I added a speaker so that I could simulate the click of the original camera as you take a photo. I tried driving an 8 Ohm speaker directly but it was faint to inaudible. I looked at a couple of amplifier boards - and - but there would be a delay mail-ordering them and excessive shipping cost, so what I used was the guts of a cheap $10 USB speaker from a local store at $10:

This contained a small PCB equivalent to the ones above and threw in a 4 Ohm speaker and a small Lipo as well!

I don't yet have a convenient way of charging it but it does work, really nicely. I might remove the lipo and feed it directly off the 5V supply that's also feeding the Pi.

By the way, here's the UBEC at adafruit: and if you can wait long enough, here are cheaper suppliers of the same item from China: for one, or for a much cheaper lot of five.

When I update the instructable I'll put all this info in line.

Danger+is+my+middle+name made it!(author)2014-07-16

You can post another Instructable about the same thing, as long as it is significantly different :)

gtoal made it!(author)2014-01-06

I've really just finished getting the hardware together and haven't put any effort into the software side yet, so I'm only using a few lines of shell code to call the raspistill utility that comes with the stock distribution.

I do still have a little hardware work to do, in particular wiring up the shutter release switch to the GPIO and writing software to take photographs when the release is pressed.  I also am giving serious thought to adding a small speaker via the audio out, to simulate the mechanical sounds of taking a picture.

If you look around the net for existing rpi camera projects, you'll see that interfacing to a shutter release button has been done before and is well documented (it's just a resistor), so I didn't really think it was crucial for the competition entry for me to reinvent it or do it any differently.  (After a couple of weekends of hardware hacking, I thought it was about time I started writing this project up.)  Hopefully I'll have the few remaining tweaks I want to add complete before the end of the competiton.

Looking on this as a digital conversion of an analog camera, there's really no user interface needed, as all you do is simply look in the viewfinder and press the button - but for folks who still want all the control of the digital age, there's an android utility called "Pi Sight" which I'm going to try out this weekend that looks promising as an alternative user interface, if you really want to hold both a camera and an Android tablet while taking photos!

Bridges-PdP made it!(author)2014-01-09

Very fun idea. This is exactly what I was wanting to do. Create a Raspberry Pi based still camera that doesn't have a digital viewfinder and could run from a rechargeable battery. I think I have everything needed except the R-pi knowledge. I need someone to put together a really specific write-up about how to configure the Pi so that it starts up and can take and save images, and perhaps runs a samba share wirelessly so I can login and get my photos remotely.

gtoal made it!(author)2014-07-16

having developed this a bit more since the original posting, and got both wifi working and a wireless keyboard/mouse (iHome brand which uses a single mini dongle), it turns out to be a mild problem that the Pi just connects to one pre-configured wifi SSID. Apparently with some effort you can pre-configure more than one SSID but I don't know of a way to have it just connect to any open wifi like some phones and tablets do. An alternative would be to have it act as its own wifi hotspot so that a PC or phone could connect to it directly, but I haven't looked into how to do that yet either, if it's possible with the wifi dongle I'm using. The final option is to use a pocket-portable wifi hotspot (the free one from FeedomPop) just as a portable wifi hub, even if it's not in an area where you can get internet service using it. That way both the Pi and your phone or portable PC can be configured to connect to the same hotspot and therefore will be able to talk to each other.

plbreith made it!(author)2014-05-02

There was enough room to leave the original camera viewscreen working?

gtoal made it!(author)2014-05-02

Actually, yes! Although I've toyed with the idea of putting a small screen inside the viewfinder in place of the mirror - there's one particular screen ( ) that claims to be highly reflective where the pixels are black. Or maybe a semi-silvered mirror would do the trick.

Lack of I/O from the computer is a bit of a limitation, and you don't really want to carry an android tablet around with you in order to use the camera.

bob3030 made it!(author)2014-01-06

Very nice. Great way to revive a camera. Thanks for posting.