Update, September 2026. ZWOgain is now PulsarFab Regain. The project moved to pulsarfab/regain with its documentation at pulsarfab.com/docs, and it has grown well past a ZWO camera plugin. See What Regain adds at the end of this post, and the follow-up, Regain: One Driver Hub for the Whole Rig.
A camera can finish an exposure and still fail to deliver the image. Starting the exposure again may be reasonable for a short frame; for a twenty-minute sub, recovering the pixels already in the camera is much more interesting.
ZWOgain, as in “ZWO Again,” is a ZWO ASI camera plugin for N.I.N.A. It runs the SDK in a separate Rust worker process and manages recovery while N.I.N.A. waits for the image. A worker crash or hang can be handled without taking the camera SDK down inside N.I.N.A.’s process.
The 0.2.0.0 release adds ASI6200MM Pro P25 direct capture and fixes several awkward cases around downloads, aborts, and restoring camera controls.
Retry the transfer, or repeat the exposure?
ZWOgain gives those operations separate budgets:
| Operation | Default |
|---|---|
| Retry downloading the same frame | Two retries, regardless of exposure length |
| Reconnect and take a replacement exposure | Three retries, for exposures of 30 seconds or less |
| Delay before reconnecting | Five seconds |
Each is configurable, and a zero retry count disables that kind of retry. SDK download retries depend on the SDK still reporting a ready frame. The experimental direct drivers for supported ASI2600, ASI6200, and ASI676 cameras can reread a retained frame from camera memory, starting the transfer at byte zero. The guide-camera path cannot reread the same frame.
That distinction keeps a failed transfer from automatically turning into a new long exposure. SDK fallback also respects the configured recapture limit.
Restore the camera before carrying on
After reconnecting, ZWOgain restores camera settings and the cooler setpoint. Before recapturing, it checks temperature and cooler output so imaging does not immediately resume with a camera still recovering thermally.
An abort stops the capture. Recovery can restore controls and cooling without taking another exposure. If the image downloaded successfully but a later stop or reset fails, ZWOgain keeps that image and reconnects before the next capture. If recovery cannot finish, the error reaches N.I.N.A.; the log contains the details.
An optional path around the SDK
The ZWO SDK remains the default backend. Version 0.2.0.0 also offers experimental direct USB capture for ASI676MC, ASI2600MM Pro (non-P25), ASI6200MM Pro P25, and the ASI220MM Mini guide camera. Direct mode still needs the ZWO Windows camera driver. SDK fallback is a separate opt-in.
The new ASI6200 P25 support includes RAW16 capture, defect correction, binning, cooling, and auxiliary controls. The release also fixes incomplete readout by waiting for all sensor rows before freezing the frame.
The validation has limits worth keeping with the feature list. Testing used dark frames and controlled transfer faults, including a 1,200-second direct ASI6200 P25 exposure in N.I.N.A. The full 2,000-second maximum, cable removal, and power-loss recovery were untested at this release. Its latest recovery fixes passed automated tests but had not yet been repeated on the physical camera. Live view and trigger modes are unsupported.
See the versioned documentation for the supported-camera details and links to hardware results.
What Regain adds
Since this was written, the 0.3 and 0.4 releases turned ZWOgain into PulsarFab Regain, the equipment side of PulsarFab. The recovery engine described above is unchanged in spirit and now shared by three frontends:
- Retryable, fault-tolerant USB capture. The direct drivers for the ASI2600 (P25 and non-P25), ASI6200 (P25 and non-P25) and ASI676 can re-read a frame still held in camera memory, starting the transfer again from byte zero, so a failed download does not become a new twenty-minute exposure. On Windows the ASI2600 P25 driver can also reopen its USB handle within the same retry budget, checking the camera identity and the pixels already received before returning the recovered frame. Every attempt logs the failed chunk, completed bytes and USB status.
- Three frontends, one recovery engine. The native N.I.N.A. plugin and the native Windows ASCOM drivers run local Rust workers with matching setup dialogs. A standalone Alpaca server exposes the same cameras and accessories over the network and runs on Windows, Linux and macOS.
- Drivers beyond one vendor. Alongside ZWO cameras and the CAA rotator, EFW filter wheel and EAF focuser, Regain drives the Pegasus Astro FocusCube3 and the Deep Sky Dad OFP2 flat panel, with the same setup experience in each frontend.
- Camera recovery you can tune. Download retries, replacement-exposure count and duration limit, reconnect delay, cooler recovery and timeouts are the same settings in N.I.N.A., ASCOM and Alpaca.
To install, add https://nina-plugins.pulsarfab.com/ as a N.I.N.A. plugin
repository (the older nina-plugins.psf-guard.com address is the same
registry). Documentation, including the Windows ASCOM and Alpaca setup and the
FocusCube3 and OFP2 guides, lives at
pulsarfab.com/docs; source and releases at
github.com/pulsarfab/regain.
Install it, or help add a camera
The plugin requires Windows x64, N.I.N.A. 3.2.0.9001 or newer, and the
ZWO Windows camera driver. Add https://nina-plugins.psf-guard.com/ as a plugin
repository, install ZWOgain, and restart. Select ZWOgain Retryable
Camera, open its setup, and choose the camera. Disconnect other applications
using that camera before connecting.
The release also includes a Camera Kit for collecting data on additional
models. Extract the kit, close other camera applications, cap the camera, and
run ZwoGain-CameraKit.exe. It records settings and SDK USB traffic in a
local ZIP, with optional image samples. Nothing uploads automatically; review
the bundle before sharing it. No compiler or Python installation is needed.
Release binaries are signed by StackFoundry LLC. ZWOgain is an independent, Apache-2.0 project, unaffiliated with and unsupported by ZWO; bundled components retain their own licenses.
Get the latest Regain release, read about Field Kit’s safety and focus tools, or browse the astronomy software collection.