Skip to main content


Showing posts from October, 2015

Darkroom Automation Part 7: Checking the Enlarger Lamp Output

I wanted to make sure the computer controlled enlarger lamp would give consistent exposures regardless of the length of the exposure. Some timer manufacturers discuss how 10 one second exposures don't work out the same as one 10 second exposures. Presumably this is because the lamp takes some to time to warm up and cool down.

I decided to test this theory. I built another Arduino machine to measure lux using a calibrated light sensor. I then wrote some simple code suggested by my wife. I would integrate the light readings over the exposure interval for a variety of exposure times and measure the integrated light value in each case. Basically I would take a series of readings in rapid succession and add them up over the exposure interval. This is a good model of what photo paper does.

The code works as follows. It works by waiting for the light to come on. A 2 lux threshold is set and so this assumes complete darkness beforehand. The sensor is continuously sampled until light is de…

Darkroom Automation Part 6: The Workflow in Practice.

I have now spent a couple of session in the darkroom with my automation setup. In general I am pleased. It eases the work of making split filter prints and reduces errors around changing filters and remembering timings. I also am not reaching all over the place in the dark. If paper consumption is any indication then it is a success as I am going through more paper. Not because of errors but because the ease of setting up a new exposure brings down my resistance to trying a different combination of filter times. Ultimately this could lead to better quality. Below are the first few examples on MGIV RC 8x10.

These were rapidly printed with different variations as I honed into something I liked. So for straightforward prints it all works quite well.

Demo Video  I made a short video to show how it all works.

Now the rough spots...
Test Strips These are done using the manual screen, I use the following process.

Select No-Filter position Turn on enlarger using the controllerFocus and crop ph…

Darkroom Automation Part 5: Calibrating the Paper Flash

This segment was at once fun and frustrating. I have my LED paper flasher hooked up and some basic software to make it run. This was pretty straightforward. The interesting part is whether it will work or not and how to know the light levels are right. I started out with a 3 LED battery powered light meant to be stuck in dark closets or cupboards. I connected it to a PWM output on the Arduino so I could control its intensity. This gives me a range of 0-255 which is 8 stops of brightness. I also fitted a piece of translucent perspex in front of it to diffuse the light. The LEDS are very bright.

I now needed to see if the I could get the light levels right to flash paper. My first attempts were without a filter to help establish baselines. I set the enlarger at a 30cm height (based on its scale). I used Ilford MGIV RC glossy paper as I have a lot of it and it is relatively cheap. My first exposure was with the brightness set to 128 or half the range. All timings are 1 second increments…

Automating the Darkroom Part 4: The Software

All of the software was developed using the Arduino development environment (IDE). This is a free set of tools available at Arduino. The board is connected via a USB cable and is powered from it as well. The tools take care of compiling and linking and then download the SW to the board. All of the hardware already has pre-written libraries to control it available either built-in or at different places on the web. All of the lamp, servo, and LED control is built-in to the IDE. The LCD display and touchscreen is available from the vendor Adafruit. This was crucial and made the SW able to be completed over a week of part time work (evenings and weekends).

Below are examples of some of the SW. I am happy to share all of it with anyone who is interested.
Controlling the LCD and Touchscreen The LCD library allows one to issue simple print commands and control the orientation, color and size of the text. One can also draw lines and boxes. The user interface consists entirely of text and boxe…

Automating the Darkroom Part 3: The Wiring and Filter Wheel

Wiring the Enlarger Lamp This is the simpler part of the project though one should only attempt this if you are confident with mains wiring. I arranged everything inside a pattress box from the local DIY shop. I used a household switch mounted on the box as a manual bypass for the enlarger lamp so I could use the enlarger while I finished the software. The schematic is shown below.
I used a terminal strip to make all the connections Where two wires go into one side of a terminal I would solder these together as it makes it easier to manage. The terminal strip passes the mains ground and neutral signals through while the live signal is connected to the normally open (NO) contacts on the relay. The light switch mounted on the pattress box is connected across the relay contacts so the lamp can still be turned on manually if the Arduino is not working or connected. The relay is controlled by the Arduino GPIO (General Purpose Input Output pins) configured as an output. Three wires make up…

Automating the Darkroom Part 2: The User Interface

User Interface The next step was to prototype the user interface and code to drive the enlarger. The display is 320x240 pixels in size so I broke it down to a 4x3 matrix of blocks 80x80 pixels. This was to keep the interface simple. I could then define these blocks as buttons with labels. A series of menus would be arranged as 'pages' with a 'next' key to page to each new page. The pages I decided would be...

Manual OperationSplit Filter AutomaticDevelop TimersPaper Flashing I designed the pages using Excel. The current versions are shown below which are photographs of the actual screen. (The colors are actually black and red.) The software is easy to change and as I use the system I find small improvements and change the way it operates. In general the exposure timers are set in quarter stop increments as a trade-off between resolution and making changes happen quickly. (RH Designs boasts 1/4th stop exposures and I could support these timings as well.) The limits of t…

Automating the Darkroom:Part 1 The Concept

I was recently attending the Intel Developers Forum in San Franscisco as part of my job. In addition to all the tech Intel plans to offer up they also had a large section dedicated to the Maker community. It is interesting to see what was once a nerdy hobby of mine (electronics and programming) is now quite trendy. Here there were many Makers showing off their wares. Intel keen to get into this trend was offering their own versions of open computing platforms based in part on the Arduino community. (If you have at been interested in learning more about programming computers I encourage you to check this out. The community is friendly and the whole thing is much easier to learn than when I was in Junior High. It is relatively cheap and simple to get results.)

So Intel was giving away their Galileo boards which are Arduino compatible. Not being able to resist something free I picked one up with a vague idea that had been bouncing around in my head. I had been contemplating getting an e…