Summer Solstice at Ribblehead Viaduct
I was over at Ribblehead Viaduct this week on the evening of the summer solstice. This is a short timelapse clip spanning about an hour’s shooting as the last light of the day shone through the arches…
I was over at Ribblehead Viaduct this week on the evening of the summer solstice. This is a short timelapse clip spanning about an hour’s shooting as the last light of the day shone through the arches…
I’ve been tinkering over the last couple of weeks with a prototype programmable camera controller based around the Arduino system. If you haven’t come across it before, Arduino is a flexible, open source electronics prototyping platform which is well documented and relatively easy to get started with, making it a solid base for this kind of project.

Testing an early prototype at dusk
One aim for me in this little project is to create a controller which I can program to help with the job of shooting timelapse sequences. There are ready made timelapse tools available such as the excellent ‘little bramper‘ but I’m at the point where I’m finding it useful to be able to add some custom hardware and software to my timelapse toolkit. An equally strong aim is simply to teach myself about both Arduino programming and what’s involved in using it to control my camera, partly just out of interest and partly so I have the knowledge and flexibility to be able create hardware and software of my own design.
If you’re interested in doing a similar project, I’ve documented some basics here to help you get started. This isn’t intended to be a complete solution to everything you could possibly want to do but rather a primer on taking those first steps along with with some pointers and ideas on where to go next.
Before I go any further I guess I need to make it clear that in doing this I was prepared to accept the small risk of damaging my camera in some way in order to learn and create. The potential rewards were worth it for me but if you’re going to follow me down this route, you need to accept that risk for yourself too.
The core of this project is a simple circuit which connects to the camera’s remote shutter release. At a basic level, this just involves connecting two of the pins used for the camera remote together, to simulate pressing the button on the remote. I’m working with the canon N3 type of connector but if you search online you can find plenty of info for other connector types.
For Canon N3, the connections when looking at the camera are:

Connecting the focus pin to the common ground pin is equivalent to a half press of the shutter button whereas connecting the shutter pin to ground is equivalent to a full press. For now, we’ll ignore the focus connection and just deal with the shutter.
The Arduino board is used to control my circuit in order to fire the camera in bulb mode. I’m using an opto isolator in my circuit too, to control the shutter. This is essentially an electronic switch which uses light to isolate two circuits, while allowing the circuit on one side of the opto isolator to control the other. The camera side of the circuit is kept electrically separate from the Arduino side, with light being the the only link between the two. The basic circuit looks like this:

I’m using a 4N35 opto isolator because I had a couple already available and it’s a decent choice for a general purpose job like this. There are many others available too which work similarly. I’ve found it convenient to add an indicator LED to the circuit to show when the controller is activating the shutter. This is optional but can be useful in practice.
The values of resistors R1 and R2 should be tailored to provider the correct current to your particular opto isolator and LED. There’s a handy online calculator which helps with this. The arduino pin will be 5V when the shutter is triggered, so use 5V for the source voltage and take the other values from your LEDs spec sheet. In my case, R1 = 330Ω. I’ve set R2 higher than the calculated value because I was planning to use the circuit mostly in low light conditions and didn’t need the indicator to be super bright. So for me, R2 = 820Ω.
Once you have this basic circuit, you can connect it to the Arduino board. I’m using the Arduino Uno and this sketch assumes you’ve connected the circuit to pin 7 to control the shutter.
An extremely basic ‘hello world’ program (Arduino calls them ‘sketches’) which will test the circuit by firing the shutter for approximately 1 second every 5 seconds is:
/* A basic sketch to illustrate camera control by firing a 1 second bulb exposure every 5 seconds. http://blog.newfocusphoto.com/ */ #define SHUTTER_PIN 7 void setup() { // set the shutter pin to output pinMode(SHUTTER_PIN, OUTPUT); } void loop() { digitalWrite(SHUTTER_PIN, HIGH); // open the shutter delay(1000); // wait for a second digitalWrite(SHUTTER_PIN, LOW); // close the shutter delay(4000); // wait for four seconds }
If you need them, there are some general getting started instructions for Arduino which show how to set up the development environment and load sketches to the Arduino board.
When testing the above program, you might notice that there’s a slight delay between sending the signal to fire the shutter and the shutter actually opening, so one of the first enhancements you can make is to monitor when the shutter actually opens by using the camera’s external flash connection. This allows increased accuracy in the exposure time.
The camera fires the flash by closing two contacts on the flash connection (essentially closing a switch) and if we have the camera set to first curtain sync (i.e. to fire the flash as soon as the shutter is open) we can use this to fine tune our exposure. To start with, some additions are made to the circuit as follows:

The purpose of resistor R3 is to hold the arduino input low and stop it wandering when the flash signal isn’t present. This may be unnecessary when the optional LED indicator is in place but I’ve left it in for now to give me the option of disconnecting the LED in my final version. The value of R3 is 10K. R4 should be tailored to the LED as with R2 above. I’ve chosen 820Ω again.
I’ve connected this circuit to my camera’s flash PC sync terminal. If you don’t have a PC sync terminal on your camera, one option is to use a hotshoe adapter which has a PC sync or 3.5mm jack output to make the connection. You need to be careful that you don’t exceed your camera’s maximum flash trigger voltage (I’m not aware of any cameras that wouldn’t be OK with the 5V we’re using here but check your documentation).
Once connected to the camera, this circuit can then be used in the program to wait for the flash signal before starting the timing of the bulb exposure. You can then use this extra circuitry in your program to fine tune the bulb exposure by monitoring when the flash signal occurs in your sketch.
The following code shows one way you can use this flash signal. I’ve also replaced the blocking ‘delay’ commands with some timing code which allows the loop to continue running. This has the advantage that when you get more advanced, you can do other things while waiting, such as responding to button presses.
At any one time the sketch is in one of three states:
Time based conditions or the flash signal from the camera move the sketch from state to state.
/* Example of shutter control with flash monitoring. http://blog.newfocusphoto.com/ */ #define SHUTTER_PIN 7 #define FLASH_PIN 8 String state; // What's currently happening long intervalStart; // When the current interval started long bulbStart; // When the current bulb exposure started long current; // The current time (in milliseconds since last reset) long interval; // The interval from exposure to exposure in milliseconds long bulb; // The bulb time in milliseconds void setup() { pinMode(SHUTTER_PIN, OUTPUT); // set the shutter pin to output interval = 5000; // Time from exposure to exposure = 5 seconds bulb = 1000; // Bulb exposure time = 1 seconds state = "INTERVAL_WAIT"; // We're waiting for the next interval to start intervalStart = millis() - interval; // Pretend we've just finished a previous interval // (helps avoid any special logic for the first // interval in the rest of the sketch) } void loop() { //Get the current time (milliseconds since last reset) current = millis(); //State: Waiting for the next interval if (state == "INTERVAL_WAIT") { //If end of interval is reached, start the next bulb exposure and note the time if (current - intervalStart >= interval) { intervalStart = current; digitalWrite(SHUTTER_PIN, HIGH); //Open the shutter state = "FLASH_WAIT"; } } //State: Waiting for the flash signal from the camera else if (state == "FLASH_WAIT") { //When the flash signal is received, start timing the bulb exposure //(the shutter signal has already been sent) if (digitalRead(FLASH_PIN) == HIGH) { bulbStart = millis(); state = "BULB"; } } //State: Shutter currently open and timing the bulb exposure else if (state == "BULB") { //When it's time to end the bulb exposure, close the shutter and wait for the next interval if (current - bulbStart >= bulb) { digitalWrite(SHUTTER_PIN, LOW); //Close the shutter state = "INTERVAL_WAIT"; } } }
Here are the shutter control and flash circuits, complete with LED indicators, prototyped and connected to the Arduino Uno. I’ve used 3.5mm jack plugs and sockets to connect the cables running to the camera.

This is deliberately pitched as a simple starting point in both the circuit and the software but it illustrates the basics of firing the camera shutter in a programmable way. There are many places you can go from here, such as:
Personally, so far I’ve added a 16×2 LCD screen and four push buttons which allow me to start/stop the program and adjust parameters such as the bulb exposure time. One of the first real world tasks I’ve put this to is taking some of the manual work out of post sunset dusk through to full darkness timelapse sequences, with a little sketch which gradually ramps up the bulb time to compensate for the falling light levels.
Initially, the sketch ramps up the bulb time by about 0.15 stops every minute, then gradually reduces the rate of ramping to reach a constant bulb time of 25s about 90 minutes after sunset. This works quite effectively, as shown in the following timelapse video which compresses 2.5 hours of dusk through to night down to about 12 seconds.
I hope this gives a basis for your own Arduino camera control projects. If you get to the point where you’re looking for more advanced material to draw on, one resource which is worth a look is OpenMoco, which is a collection of open source hardware and software for camera motion control and timelapse. If you do create your own projects, please feel free to share links to them in the comments.
I’m now a couple of months into what’s going to be an ongoing Yorkshire Dales Timelapse photography project. These clips are a few first draft edits from winter in Upper Swaledale. There’s something about photographing landscapes that really puts you in touch with the way light and the landscape work together, and timelapse literally ads another dimension to that. I’ve had some great moments at times while shooting these, sitting wrapped up toasty warm, watching winter shadows fall across the valley below Crackpot Hall and seeing patches of bright moonlight run down the valley near Muker.
So far, in addition to spending some time in Upper Swaledale, I’ve been out to some of my favourite spots around Ingleton too and will be gradually covering more locations bit by bit in the coming months.
There’s a huge and ever expanding range of Android™ mobile phone apps for photographers these days, from photography album organisers to basic editing and special effects. When it comes to what’s useful out in the field though, sometimes it’s the simpler apps or even those which aren’t aimed specifically at photographers that I turn to most often.
So here’s a mixed bag of my Top 5 Android Apps for Landscape Photography…

This app shows sunrise and sunset times and directions, twilight times, and moon rise and set times. I particularly like the lunar path feature, which is invaluable for planning night time landscape photography by showing just where the moon will be in the sky.
The compass option (shown right) is handy too for orienting yourself with the current position of the sun and moon (obviously assuming they’re not already visible). It also indicates the range of angles at which the sun and moon be above the horizon.
The pro version of this app includes a solar path function too.
Living in the sun – Android Market

There are several all singing, all dancing apps around which cover a range of photographic calculations such as depth of field, angle of view and exposure calculations. I find that in practice though, depth of field is the calculation I need most often. I like DoF Calc for it’s simplicity and speed of use, with the interface consisting of four simple wheels which are simply pushed up or down to pick your desired settings. That simple interface really does make a difference when you’re outdoors with frozen fingers.
I mostly use this app simply for calculating hyperfocal distance and working out what apertures I can use based on the nearest object in the shot.

Knowing the time and level of low and high tide is vital for photographing coastal landscapes, not only to help plan the shot but also for safety reasons. This app has a simple graph of water levels with a clear indication of current time (shown as the red line in the screenshot to the right). I like the way that daylight is highlighted in yellow too, which helps when you’re looking ahead for days when sunset or sunrise coincides with a particular water level.
The app allows you to search for tide stations by name or simply find the ones nearest to your current position.
Tide Prediction – Android Market

Google Sky Map uses your current location and the phone’s tilt sensors to show a star map which aligns with the direction in which the phone is pointing. You simply hold it up to the sky to show the stars, planets and constellations as if the sky was being viewed through the inbuilt phone camera.
I use this app for the simple but useful purpose of identifying the position of the north star, Polaris. This in turn helps me work out compositions for star trails shots, even in daylight, by picturing the stars rotating around that point. This is an enormous shortcut and takes a lot of the guesswork out of night time compositions.
Google Sky Map – Android Market

PHOforPHO (Phone Tools for Photographers) offers a whole range of photography based calculations. Part of it’s functionality offers depth of field and hyperfocal distance calculations and overlaps with DoF Calc mentioned above, although I prefer DoF Calc’s interface for those features.
The function I do find myself using from PHOforPHO from time to time though is the Exposure Calculator, which is useful for working out equivalent exposures when shooting in low light conditions or with strong neutral density filters. There are other apps which offer these features and more (e.g. Photo Tools and CamCalc) but I find PHOforPHO’s options suit me here, including support for up to 13 stops of ND filter, 1/3 stop progression for aperture and ISO, and full flexibility on shutter speed.
There’s an option to pass the calculated exposure straight to a handy timer too, which counts down to an audible alert during the last twenty seconds.
I was at Old Gang Smelt Mill in Swaledale earlier this week for my first low light landscapes of the season. Just for a bit of fun, I recorded this little bit of timelapse video too as the daylight faded and the moon rose over the valley.
The stills in the video are my favourite two images of the night: this one, looking up through a doorway and out through the roof of one of the ruined buildings…

…and this wide landscape of the full mill lit by moonlight, which I’ve added to my main landscape photography gallery too. Both images were taken as single 15 minute exposures.
With the late summer nights starting to draw in, my thoughts are turning to planning my first night time photography trips of the autumn season. With that in mind, now seems a good time to describe a technique I use for metering ambient light for low light landscapes and getting the overall exposure just right. Since I first started shooting night landscapes and star trails a few years back I’ve gradually refined my way of working to the point where most of the guesswork has gone and I can get good repeatable results.
Removing that guesswork is more important than usual in long exposure night landscapes because in contrast with daytime photography, at night you often only get one go at the shot. Bracketing or trying again after looking at the histogram isn’t always possible, not just because of the time taken per shot but also because the light can change so much from exposure to exposure.
The technique I’ll describe in this little tutorial uses nothing but the camera’s inbuilt histogram, a quick bit of simple maths (if that bit scares you, I’ve included a quick lookup table at the end of this tutorial) and a bit of rule of thumb that I’ve proven by trial and error to be reliable out in the field. With a little bit of practice it’s a quick, simple and fairly repeatable process. I’m classing this as an ‘intermediate’ level tutorial so I’ll be assuming you’re already familar enough with your camera and it’s settings to take a successful daytime landscape. I’m happy to try to answer queries in the comments if you get stuck though.
It’s worth mentioning that I have a fascination with working using the available ambient light and that’s what I’m going to describe here. There are plenty of other techniques such as adding flash and light painting with a torch which can give great results too. However there’s something about revealing the scene pretty much as it naturally is that fascinates me, particularly when shooting using the last light of the day at dusk or the natural light of the moon. In some cases it’s fun to use ambient man-made light that’s already around too but I’ll start here with a dusk shot as an example then have a look at how the same ideas can be applied to other light sources.
For my dusk example, I’m going to be using this shot, taken in winter at Hamsterley Forest, in County Durham, after I’d been shooting earlier in the afternoon down at Blackling Hole.
My mission here was to capture the scene under the last remaining light as day turned to night. If you can time that just right, you can get a long enough exposure for star trails while still capturing enough light for the foreground, all in a single exposure. And what’s more, that ‘timing just right’ can be judged pretty accurately with some straightforward techniques.
The basis of the metering technique is to shoot high ISO, wide aperture images in order to meter the scene, waiting until the ambient dusk light is just right to give the exposure time you’re after. I’m going for a final shot of 10 mins+ at ISO200, f/8 and want to know when the brightness of the scene is right for that, so in essence I need to know how many seconds at ISO6400, f/4 gives an equivalent 10 min exposure at ISO200, f/8 (if you want to skip the maths, see the lookup table at the end of this tutorial).
Starting at 10 mins, (600s)…
f/8 -> f4 is a 2-stop difference so I divide by 2 for each stop (divide by 4 in total)
ISO6400 -> ISO200, divide by 32
So the equivalent exposure time is 600s / 4 / 32 = 5s
At this point I know that I need a 5s exposure at f/8, ISO200.
Here’s my first test shot. At this point it was already pretty dark to the naked eye. I’ve not attempted to focus accurately at this point as I’m just getting a rough idea of what composition I’m heading for and how far I am from the 5s exposure I need. It’s worth being aware that even modern camera metering systems can be inaccurate in very low light and the image on the LCD display can look much brighter than it is when you’re eyes are tuned to the dark. For those reasons it’s vital to check the histogram carefully and either apply exposure compensation or work in manual mode to adjust the exposure until you’re happy.
At this point it took 0.5s to correctly expose the image at ISO6400, f/4.
Five minutes after the initial shot, this test shot shows that the exposure time has doubled to 1s. I’ve used the time in between to shoot some more test images to fine tune the composition.
Another few minutes and the exposure is now up to 2.5s. If you look back over these three images, you can see that although the overall exposure of the scene is staying pretty constant as the light falls and the shutter time increases, the glow of street lights from the Bishop Auckland and Durham area over the hill to the right is becoming steadily more significant.
I’ve adjusted the focus at this point too, ready for the final shot.
Finally the exposure time has reached 5s and we’re ready to go. However, there’s a little rule of thumb adjustment that I usually make at this point. If the only significant light source was fairly constant (such as a moon well above the horizon, well after sunset), I’d just go with the 10 minutes as calculated. If the only light was the remnant of daylight though, I would double the exposure time to account for the fact that by the end of the exposure, the light would be much lower.
I should add that this doubling works for me here at 54° North in winter. I’ve no experience of whether it works as well at other latitudes but it should at least make a starting point for your own experimentation and refinement.
There’s a little bit of judgement to be made if the light in the scene is part constant and part fading. If you don’t get that spot on, you’ll usually still be within the latitude of the digital sensor but it’s worth assessing what’s happening in the scene over a few exposures as the light fades as I’m doing here and making the best judgement you can. This avoids having to push the final exposure around and risking increased noise.
In this case I’m going for 16 minutes because of the increasingly obvious glow from over the hill. I’ve included some more examples at the end of this tutorial to help give you a start on developing that judgement on how far to multiply up the calculated exposure.
Here’s the final shot at f/8, ISO200 and 16 minutes. You can see that the glow of the sky to the left has faded further during that 16 minutes and the glow from civilisation to the right has increased. In post processing I’ve applied a neutral density grad effect digitally to balance the sky and ground exposure and fine tuned contrast and saturation, being careful not to push things to far and exaggerate noise. Personally I find physical neutral density grad filters on the camera awkward for night photography, even though I regularly use them in daytime but other techniques such as tone mapping work well enough too. Go ahead and experiment a little to see what works for you.

Once you’ve mastered the basic technique of using high ISO, wide aperture shots for low light metering, you can apply it to different scenarios, but the basic process is the same. Here are some other examples:
In this shot of Ribblehead Viaduct, I’m shooting well after sunset and the only significant light source is the moon. This is a simpler scenario than the one above since the light is more constant (fairly steady moonlight rather than fading dusk). In this case, the test shot was ISO3200, f/2.8, 10s and the final shot at ISO100, f/5.6 was 10s x 32 x 4 = 1280s (approx 21 minutes).
One of my personal favourites is this shot I took of an old building in the Yorkshire Dales. In this case, the foreground light’s provided by occasional passing cars on a nearby road sweeping their headlights across the building. Again, the principle’s the same though. I used high ISO, wide aperture test shots to judge approximately how many cars needed to pass to correctly expose the foreground, then went for the final shot at ISO100, f/5.6.
In this shot, the only significant light is that of the fading dusk, so I’ve doubled my original exposure measurement (which would have given 10 minutes) and gone for a 20 minute exposure. Despite the scene being almost completely dark to the naked eye, the final effect is almost as if the scene is in full daylight, with the star trails just showing through.
Hopefully this starts to give you an idea of what’s possible under different conditions.
| Time for final shot f/5.6, ISO100 or f/8, ISO200 |
Time for test shot in seconds (use the nearest setting on your particular camera) |
|||
|---|---|---|---|---|
| f/2.8, ISO6400 | f/4, ISO6400 | f/2.8, ISO3200 | f/4, ISO3200 | |
| 10 min | 2.5 | 4.5 | 4.5 | 9 |
| 15 min | 3.5 | 7 | 7 | 14 |
| 20 min | 4.5 | 9 | 9 | 19 |
| 25 min | 6 | 12 | 12 | 23 |
| 30 min | 7 | 14 | 14 | 28 |
| 40 min | 9 | 19 | 19 | 38 |
| 50 min | 12 | 23 | 23 | 47 |
| 1 hr | 14 | 28 | 28 | 56 |
I’m sure there are still further refinements which can be made to this metering technique so if you have any ideas for improvement please feel free to suggest them in the comments and drop in a link if you’ve been shooting your own low light landscapes. I hope you find it useful in the meantime.
I’ve just added some new larger print sizes to the standard range of options in my landscape photography gallery. I’ve been producing larger prints for a while as custom orders for a number of customers but having them as a standard option just makes the ordering process a little easier. The new standard sizes are:
You can see the full range of options available on the print options page or simply click the prints link at the bottom of each page in the landscape gallery.
I’ve spent a fair bit of my time recently working on training course portal HelpTrainingCourses.com. Mostly this has been technical web build work, such as setting up the mechanisms to automate the travel industry style last minute deals that the site brings to spare training course places. There’s still been plenty of scope for some fun photography work too though, such as this impromptu poster campaign featuring Help’s Sales Director to use in a social media ad campaign for summer work placements.
The recolouring work for the shot was done with a very quick technique in Photoshop CS4, overlaying one of the standard company colour palates of green, black, white and orange in four separate layers over the original. The layers were masked using selections created via the Select -> Colour Range option to to give a stylised effect and then the opacity of the top couple of layers was fine tuned a little.

As a photographer it’s good to see some deals on photography training courses appearing on the Help Training Courses website and there are some particularly good ones at the time of writing, such as 50% off Photoshop Training and ‘Introduction to Digital Photography’, both of which are aimed at helping beginners get started. The easiest way to find what you’re looking for is to use the find a training course option on the home page but there’s a dedicated photography training page too.
I had a great afternoon at the local Charity Duck Race on Saturday and managed to get a little bit of video and time lapse in too as the ducks raced their way down the river…
Duck Race from John Patrick on Vimeo.
HelpTrainingCourses.com offers a wide range of
photography training courses
from camera and video skills to post processing.