How Long Should Your Sub-Exposures Be?
The answer depends on your sky, not your camera. The measurement that settles it in one night, and why going as long as possible is wrong under light pollution.
Ask this in a forum and you will get three answers: 300 seconds because that is what the poster uses, “as long as your mount allows”, and a link to a calculator that wants eleven numbers you do not have.
There is a real answer. It depends on your sky rather than your gear, and you can measure it on one ordinary night.
What a longer sub buys you
Only one thing. It dilutes read noise.
Read noise is added once per frame, when the sensor is emptied. A 600-second exposure pays it once. Twenty 30-second exposures pay it twenty times. That is the whole case for long subs, and it matters most on faint targets where read noise is a meaningful share of the total.
Everything else (photon noise from the target, photon noise from the sky) accumulates with total integration time, not with how you slice it. Ten hours is ten hours whether you took it in 60-second or 300-second pieces. How stacking works covers why.
So the question is narrower than it sounds: how long until read noise stops mattering?
The swamping criterion
Read noise stops mattering once the noise from the sky background is comfortably larger than it.
Sky background is not darkness. Under any real sky there is airglow, scattered moonlight and, for most of us, a town. Those photons land on the sensor and bring their own shot noise. Once that noise is several times the read noise, making a single frame longer buys you almost nothing.
The usual rule of thumb is sky noise at three to five times read noise. Past five you are into diminishing returns, and paying for it with the costs in the next section.
The part people miss is that a bright sky reaches that threshold faster. Light pollution, bad for almost everything else, means your best sub length is shorter. Someone in a Bortle 8 suburb needs shorter subs than someone in a Bortle 3 field, so copying settings from a dark-sky imager means copying the wrong number.
Measuring it, without maths
You do not need to know your camera’s read noise in electrons. Use the histogram.
Take a single exposure at your working gain and look at where the background peak sits as a fraction of full scale. For most modern CMOS astro cameras, a peak somewhere around 10% to 20% from the left is comfortably swamped. Much further left and read noise is still in play. Much further right and you are spending dynamic range on sky you will subtract anyway.
Then take a 60-second frame and a 300-second frame of the same field and subtract the sky level from each. If the 300-second frame’s background peak is five times higher, you were already sky-limited and the longer exposure gained you nothing but risk. If it is only twice as high, you were read-noise-limited at 60 seconds and the longer sub was doing real work.
That is ten minutes of testing, once per site and gain setting.
Why longer is not free
There are four costs, and none of them is small.
Saturated stars. Every extra second pushes more bright stars to full well. Once a star’s core clips it is a white disc with no color and no profile, and it stays that way through every later step. This is why long-sub images of star-rich fields often look faintly cartoonish.
Bigger loss per accident. A satellite, a gust or a passing cloud costs you one frame. With five-minute frames that is five minutes. At 60 seconds it is one.
Fewer frames for rejection. Statistical outlier rejection needs a population to work with. Below about fifteen frames, sigma clipping cannot reliably tell a satellite trail from a pixel that really is bright; there is more on this in how many frames you need. A three-hour session in 300-second subs is 36 frames. In 90-second subs it is 120, and the rejection is noticeably better.
Tighter tracking. Everything in why your stars are trailing gets harder as subs get longer. A mount that holds round stars for 90 seconds unguided may fail at 240.
Rough starting points
Measure rather than trust these. If you need somewhere to begin, for a modern cooled CMOS at roughly unity gain:
| Sky | Broadband (LRGB / OSC) | Narrowband |
|---|---|---|
| Bortle 8-9, city | 30-60 s | 180-300 s |
| Bortle 6-7, suburb | 60-120 s | 300-600 s |
| Bortle 4-5, rural | 120-300 s | 600-900 s |
| Bortle 1-3, dark | 300-600 s | 900-1200 s |
Narrowband is longer across the board because a 3nm filter throws away most of the sky background along with everything else. With 99% of the light blocked before it reaches the sensor, it takes much longer to swamp read noise.
An uncooled DSLR or mirrorless camera belongs one row shorter than its Bortle class suggests, because thermal noise builds up within the frame and there is no set point holding it steady.
Gain, briefly
Higher gain lowers read noise in electrons, which shortens the sub needed to swamp it, at the cost of dynamic range. Most modern sensors have a step in the gain curve where a high-conversion-gain mode kicks in and read noise drops sharply. Sitting just above that step is a sensible default, and it is what most manufacturer “unity gain” recommendations point at.
Do not chase gain to fix an exposure problem. Set it once and vary time.
What the stack does with it
Try not to mix sub lengths within one session. Calibration frames have to match, and rejection statistics assume a consistent population. If you must mix, keep them in separate groups and combine the results at the end rather than putting everything into one stack.
Akastroid reads the exposure time from the FITS header and warns you when a folder contains frames of different lengths, instead of silently averaging a 60-second frame with a 300-second one.
The short version
- Long subs buy one thing: less read noise.
- Bright skies swamp read noise faster, so light pollution means shorter optimal subs.
- Check the background peak sits 10-20% from the left of the histogram.
- Longer costs you saturated stars, bigger losses per accident, and worse rejection.
- Take the shortest sub that swamps read noise, then spend the night on frame count.
Try it on your own data
Akastroid runs its processing on your own frames and logs each step it took.
Download Akastroid