Auto ISO and flash on the Nikon D7000, D5100, D3100 etc.

Summary: Newer Nikon DSLR cameras seem to choose unnecessarily high ISO values when using a flash in combination with auto-ISO – specifically in “P”, “A” and “S” mode. I have verified this issue for the Nikon D7000 and the D3100, and from forums I deduce that it also goes for the D5000, D3000, D5100 and D300s.

Auto ISO on Nikon’s DSLRs has gotten confusing

Auto ISO is a very useful feature found on many modern digital cameras. Nikon has been offering it for more than 6 years now, but they greatly surprised me by subtly changing the way it works in the D7000 (which I own). With “changed” I mean that they made it confusing and counter-intuitive.

The idea of Nikon’s auto ISO is simple enough: you set your default (minimum) ISO, a minimum shutter speed, and a maximum ISO.

  • As long as there is enough light the camera will use the minimum ISO.
  • As the illumination changes the camera will adjust the aperture and/or shutter speed (depending on whether you are in the P, A or S mode) to maintain correct illumination
  • When the light drops so low that the camera needs to use a slower shutter speed than the specified minimum it will raise the ISO while keeping the shutter speed on this limit.
  • When the maximum ISO value is reached the camera won’t raise it further but instead will again lower the shutter speed beyond its set minimum limit.

This is how it worked on my old Nikon D80, and how it still works on the D7000 as long as you don’t use flash. So far, so good.

But what happens if we use either the built-in or an external flash? It used to do what one would expect:

  • The flash (pop-up or external) adds extra light and the camera treats this extra  light the same way it does natural light. Thus the camera reverts to its base ISO setting unless the flash is unable to provide the required light, in which case the ISO is increased to no more than the maximum auto-ISO value.
  • If the slow-sync flash setting is used the camera exposes for the scene as if the flash isn’t used, but also fires the flash. This is nice if you want to mix ambient background light with a flash-lit foreground.

But these days (with the D7000, D5100, D3100 etc.) Nikon does some strange things

  • The built-in flash is treated differently than a hot-shoe mounted flash (such as the Nikon SB600)
  • With popup flash the ISO is raised until the ambient light (alone) is enough to properly expose the scene using the preset minimum shutter speed, or until the maximum ISO is reached. Much like in “slow sync mode”.
  • When a hotshoe-mounted flash is used, the ISO is raised to four times (4x) the specified ISO value unless the flash cannot provide enough light in which case the ISO is raised even further.

Example: Shooting a back-lit potted plant against a dim evening sky. Nikon D7000 with a Nikkor 17-55 F2.8 lens, either with built-in flash or hotshoe-mounted Nikon SB-600. Base ISO set to 160, auto ISO enabled with min shutter 1/200 and max ISO 3200. Modes used: Auto and Program.

“P” mode. No flash (forced). ISO 3200, 1/50, F2.8

Note that although in these small
photographs you can’t see the noise
caused by very high ISO values, it
is very visible in the full size photographs.

“Auto” mode. Built-in flash. ISO 800, 1/60, F2.8

“Auto” mode. Hot-shoe flash. ISO 800, 1/60, F4.0

“P” mode. Built-in flash. ISO 3200, 1/200, F7.1

“P” mode. Hot-shoe flash. ISO 640, 1/200, F6.3

“P” mode. Built-in flash (“slow sync”). ISO 3200, 1/10, F7.1

“P” mode. Hot-shoe flash (“slow sync”). ISO 640, 1/2, F6.3

In the above example you see a number of odd things:

  • In P (Program) mode, the camera inexplicably chooses a small aperture (F6.3 or F7.1) when the flash is used – even in combination with “slow sync” flash. This leads to unnecessarily long shutter times and high ISO values.
    To me it makes no sense for the camera to use F7.1 in slow-sync mode if this requires ISO3200 at 1/10 second. This carries a huge risk of camera shake (blurry images) and has guaranteed noise – what for? The same lighting could be achieved with ISO 1600 and 1/30s by only changing the aperture to F2.8 – which was available with this lens!
  • In P mode, the ISO value chosen by the camera depends on whether the built-in or hot-shoe mounted flash is used. In the former case the ISO is limited by the max ISO, in the latter case by four times (4x) the base ISO.
  • The Auto mode seems to do the most sensible thing – it uses the available large aperture of the lens in combination with mid-range shutter and ISO values. But this mode cannot be controlled in any way.
  • The observed behaviour was not significantly influenced by the metering mode (spot / centre weighted / matrix) or whether “balanced” (flash mode) lighting was used or not.

Ken Rockwell partly figured this out but only describes the case for a hotshoe mounted flash when a base ISO of 100 is used. Surprisingly not even the D7000′s manual properly explains this unexpected behaviour; on p103-104 it states “ISO sensitivity is adjusted appropriately when the flash is used” and that “ISO sensitivity may be raised automatically when auto ISO sensitivity control is used in combination with slow sync flash modes“. But as I just stated, this is actually a description of how it used to work on Nikon’s older cameras, and precisely what goes wrong on the D7000. Googling it yielded few explanations (until this blog post, at least).

The big problem with the new auto-iso is that it now often happens that the D7000 unnecessarily reverts to a noisy high-ISO setting in combination with a weak flash setting where the flash is perfectly capable of providing enough light to use a low ISO. And even with the newest cameras that feature great low-light sensitivity, ISO still matters.

ISO matters: Cropped from ISO 100 photo.

ISO matters: Cropped from ISO 3200 photo.

In the days of analog cameras you could use a “fast” (high ISO) or “slow” (low ISO) film. Fast films were more sensitive to light but also more “grainy” (noisy). With digital cameras the ISO value can be changed with the push of a button. With a higher ISO value you increase signal amplification, thereby needing less light to make a photograph. Just as with film this comes at the cost of noisier images and less dynamic range.

I understand that this feature might sometimes improve photos by balancing ambient and flash light, reducing the “deer caught in headlights” look. But that was already covered by the slow-sync mode. In some cases there now seems to be little or no difference between normal and slow-sync pop-up flash modes. This is sort-of understandable in the bottom-range D3100 which has no slow-sync mode anyway, but this is not what I expect from an advanced camera like the D7000. Worst of all, Nikon made the auto-ISO system so confusing and badly documented that we are left with unexpected noisy photographs where they were not intended.

I know of two ways to work around this, but these are both clunky:

Workaround 1: Set the built-in flash to Commander mode and TTL in the sub-menu

  1. Set the built-in flash (setting e3) to “Commander” mode, then in the accompanying sub-menu to TTL mode. This prevents auto-iso from raising the ISO, but you have to live with the longer preflash sequence (since the camera thinks that it needs to control an external flash)
    OR
  2. Disable auto-ISO whenever you want to use the flash. This can be made more convenient by putting auto-ISO settings at the top of “my menu” and assigning the customizable fn-button to the top of “my menu”. But this remains a cumbersome solution and forces you to remember changing the iso setting dependent on flash usage – exactly the kind of task loading auto-iso is supposed to solve.

I want to see Nikon do the following (firmware update, anyone?):

  • to use a more sensible and/or comprehensible approach and using larger apertures in “Program” mode if that can lower the required ISO
  • to clarify or remove the mysterious distinction between the way auto-ISO works with built-in vs. external flash
  • to enable the auto-ISO “minimum shutter speed” to be dependent on the lens’ focal length. It is common knowledge that, to avoid motion blur, the minimum required shutter speed scales linearly with the inverse of the focal length. I would like to be freed from manually changing this value or by using a unnecessary safety margin whenever I use a zoom lens.

Quote from a 2008 review by Nikon expert Thom Hogan:

Overall, the camera shows just how overextended the current Nikon UI design has gotten. You will be hit by something that slows your shooting (or makes you miss a setting) someday, which is not what we want in a camera of this caliber. The details are getting rough-edged in so many areas that they won’t survive another expansion of capability, in my opinion.

In the 3 years since that review was written we have seen that the typical Nikon mid-range DSLR user interface did survive another generation, and still groans and creaks under the weight of feature creep.

(Disclaimer: I am not implying that Canon or any other manufacturer does this better. Only that I think that Nikon should do this better)