Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Large Format Camera

Building a digital large format camera

20 58 60
Enjoy this project?
Share on twitter   Share on Facebook

This project was created on 07/04/2014 and last updated 6 days ago.

After finding the TSL1412 sensor on Mouser I knew immediately I wanted to build my own large format digital camera.

Photography have always been a passion of mine, ever since I got a Nikon 5700 camera in exchange for doing some coding about 10 years ago. 

The heart of this camera is the TAOS TSL1412S sensor. This is a linear array sensor with 1x1536 pixels, each 63.5um square. By scanning the sensor in the focus plane I get a monochrome 4190x1536 image. The physical image size is 138x97mm. These numbers give non-square pixels, but that is easily adjusted in Photoshop.

I use an Arduino Due to A/D convert the image and an EasyDriver drives a stepper motor from ITeadStudio. A 2.2" TFT from Adafruit displays the light meter , settings and the image in progress. It also holds the SD-card.

I take full advantage of the 12 bit A/D in the Due. Using oversampling I can get 15 bits/pixel images.

It takes a while to scan the image. In daylight/sunlight I get an image in about two minutes (2ms shutter), but in twilight it takes about 45 minutes (200ms shutter).

I also added an adjusteable delay between each column. This way I can take an image over several hours, for example during sunset/sunrise.

Since a 10x100mm IR filter would probably be quite expensive I opted to skip it, giving near-IR images.

A Wifi module will hopefully allow me to store the pictures directly to an Android phone, avoiding SD-card latency and making it easier to use.

First light! It took about two months to get to this point.

A macro image of some flowers during sunset. Image is scanned from right-to-left.

An image from a mountaintop near where I live.


Project logs
  • WiFi module

    6 days ago • 0 comments

    Success! WiFi module is working and connects to AP!

    Running all three external devices on the same SPI bus caused some trouble. After a lot of debugging I found out that the CC3000 and the ILI9340 TFT uses different SPI modes, plus the CC3000 library uses an SPI interrupt. The quick-and-dirty fix was to add this to each driver function in Adafruit_ILI9340.cpp:



      // function code



    The elegant fix would be to take advantage of the SAM3X's enhanced SPI capabilities to select the correct mode and speed automatically when accessing different devices on the same bus, but then I would have to rewrite all three libraries.

  • Further developments

    18 days ago • 0 comments

    Two main things are in the pipeline right now: 

    1) Replace focus screen. The old one is way too flimsy. The new one will be made of glass. I have sanded a suitable glass plate, now it's just a matter of mounting it.

    2) It would be nice with a larger display. That way I can see immediately if the picture is going to be any good and save time by cancelling it if it is not. I think WiFi+Android is the way to go here. I have ordered a CC3000 breakout board. Also I get to learn writing Android apps, something I wanted to try for a long time now. Maybe I can also get rid of the awful maximum latency on sd cards by storing the pictures on the phone (and letting Android buffer the data in RAM). Most writes takes milliseconds but once in a while it takes .5 seconds. That really is not acceptable when photographing something moving.

  • Apertures

    22 days ago • 0 comments

    So the camera is more or less finished. After using for a week or two I find I really miss a manual aperture stop. When using a 140mm F/3.2 from an old dia projector I can't set the shutter fast enough to avoid overexposing the images in daylight. This is because the Due can't A/D convert faster than about 300k samples/second without really complicating the code. 

    So this is what I came up with:

    Why limit yourself to round holes when you can have some fancy shapes instead? Now I just have to find a way to make it quick and easy to change aperture stops.

View all 3 project logs


matt.a.thurman wrote 3 days ago null point

for the exposure, what if you put a spring loaded screen such that the due would only have to fire once and the mechanics of the spring would control the shutter speed? you could rig it up to a mechanism that would tighten/loosen the spring to control shutter speed.

just a thought, not sure how feasible that is.

Are you sure? [yes] / [no]

rifo wrote 17 days ago null point

Hello, I have checked the datasheet of TSL1412. It says 1536 x 1 Linear Sensor Array with hold. In a similar project I saw a TCD132D 1024x1 Linear Image Sensor being used.
What is the difference between a linear sensor array and a linear image sensor
they seem to have different inputs
thanks for your help

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 17 days ago null point

As far as I can tell the sensors are very similar electronically. The TCD132 is harder to use since it needs two clocks, and it is a lot smaller with 14mm active area.

Are you sure? [yes] / [no]

rijrunner wrote 18 days ago null point

Looks interesting. Have been thinking about doing something like this since I heard about Adam Magyar.. He shoots a very similar system from cars or subways..

Are you sure? [yes] / [no]

S Kilian wrote 18 days ago null point

For replaceable apertures, I've liked the LensBaby method of replacing aperture cutouts: a ring magnet around the lens opening and a mildly magnetic paper that likes to just fit itself in the circular front opening.

no idea if it's a patented paper or if it is something that is easy to get in other sizes.

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 17 days ago null point

Yeah magnets would work great, I just thought it would be better to have the aptertures behind the lens instead of infront. My thinking is that you get less vignetting this way. Well it doesnt matter if it is patented to me since it is only for personal use and I live in Sweden, where lawsuits are a lot less common.

Are you sure? [yes] / [no]

Felix L. Esser wrote 18 days ago 1 point

Hi Jimmy, I came across your project on DIY photography on would like to report on it for a major US photography website (I'm a freelance tech journalist.) How can I best get in touch with you? Thanks!

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 18 days ago null point

Contact me on my hackaday name at gmail dot com :)

Are you sure? [yes] / [no]

LeoM wrote 18 days ago null point

Hi !
Great project, I'm developping myself an SLR camera and this could be a great feature to adapt to it and make an DSLR ! ^^
You can have a look to my project here :
Fell free to contact me.

Are you sure? [yes] / [no]

Comedicles wrote 19 days ago null point

There was a group some years ago that started a World wide network of small units with a linear array and a camera lens - about like a 200mm lens on a 35mmm camera. The idea was to get a full sky image every 24 hours that was continuously updated. The project kind of decayed as good DSLR for astronomy came along and the members were on to better things.

Have you thought about centering the array and not moving it as you scan a slow moving train? I think that would be pretty cool.

Are you sure? [yes] / [no]

dcgill wrote 19 days ago null point

I see your point however whether or not the device is tracked will depend on the maximum exposure time the CCD can accept which may be MORE than that achieved just by allowing the sky to pass across it!

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 18 days ago null point

You are right about that. I did some calculations and using the 140mm lens, field-of-view is 38 degrees giving 2.5 hours vertical. Going horizontal we have 2.9 hours. Four times oversample at 5kHz (4*310ms) = 2.8 hours. I think 1.2 seconds total exposure is a bit on the low side. It's doubtful I will see much at that exposure, escpecially considering I have no gain circuit on the CCD output.

Are you sure? [yes] / [no]

DusteD wrote 19 days ago null point

That is beautiful! Very interesting idea! :)

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 17 days ago null point

Thanks! Much appreciated!

Are you sure? [yes] / [no]

OiD wrote 19 days ago null point

It's a very elegant project. Congrats on getting it working smoothly!
I recently bought a Due and a 5" display and one of the thing I have wanted to build for a while is a scanning camera.
Why not use an external faster ADC? Or use sample and hold with multiple adcs?

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 19 days ago null point

That would certainly be possible, but I like to keep things simple wherever I can. It took only a few days to code up the arduino code using the built-in A/D.

Are you sure? [yes] / [no]

Jasmine wrote 19 days ago null point

Hello Jimmy, your project has been featured over on

I know you have just created the project, but it would be great if you could explain the 'connected' aspect of your project in more detail. It will really help the judges when they come to review it.

Your images are beautiful. Keep up the great work.

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 18 days ago 1 point

Well it isn't very connected, right now. Except maybe in a more abstract sense. This is the first project I have put up on the Internet, and the response has been fantastic! I feel a lot more connected now :) Thank you everyone for the feedback!

Are you sure? [yes] / [no]

dcgill wrote 19 days ago 1 point

Have you any details on the cameras performance in starlight conditions? It may be a great place to start on a long exposure, wide field, star capture device if coupled to a tracking telescope mount.

Are you sure? [yes] / [no]

jimmy.c.alzen wrote 19 days ago null point

Well it is a thing I have planned to try. The thing is, you dont need a tracking mount. You don't even have to move the sensor. I can just store image columns and let the sky rotate past the sensor.

Are you sure? [yes] / [no]