Skip to content

Installation Guide

Get eclipseClick installed and your camera detected. When you're done here, head to the Post-Install Setup Guide for scripting, focusing, and eclipse-day workflow.

Overview

eclipseClick controls cameras through one of three connection paths, picked automatically based on your camera vendor and model:

  • Vendor SDK — Canon EDSDK, Nikon MAID, Sony Camera Remote SDK. Full feature support: live view, all settings, fast burst.
  • libgphoto2 fallback — bundled open-source PTP/MTP driver. Used when the vendor SDK doesn't support your specific body. Slower (about 1 frame/second on Sony), settings still work.
  • DSUSB shutter — hardware shutter trigger via the Shoestring Astronomy adapter. Used alongside an SDK connection for time-critical bursts. Canon and Nikon only — Sony bodies don't expose a wired shutter port.

Find your camera in the support matrix below to see which path applies, then jump to the matching section.

Note

Camera not detected after following the steps below, or dropping out mid-capture? Jump to the Connection Troubleshooting FAQ at the bottom of this page — it covers the most common fixes for each vendor on Windows and macOS.

Camera Support Matrix

Vendor Connection Windows macOS DSUSB
Canon EOS Canon EDSDK Yes (needs EOS Utility for drivers) Yes (needs EOS Utility for drivers) Yes — via 2.5mm/3.5mm remote port
Nikon (Windows) Nikon MAID SDK Yes (needs .md3 module per body) N/A — see Nikon (macOS) Yes — via MC-DC2 / 10-pin port
Nikon (macOS) libgphoto2 N/A — see Nikon (Windows) Yes — no module download needed Yes
Sony — native SDK list Sony Camera Remote SDK Yes (needs Imaging Edge driver) Yes (needs Imaging Edge driver) No — not supported
Sony — fallback bodies libgphoto2 Yes — needs WinUSB driver swap and Memory Integrity off Yes — no driver swap needed No — not supported

Sony's native SDK supported list and fallback list are below in the Sony sections. Both lists evolve as Sony updates the Camera Remote SDK.

Windows

Tested on Windows 10 21H2+ and Windows 11 (all versions including 24H2). You need administrator rights for the initial driver installs — once drivers are installed, eclipseClick runs without elevation.

Canon — all EOS bodies (Windows)

Works with every Canon EOS body the EDSDK supports — from the EOS 7D Mark II up to current R-series mirrorless. Bundled SDK is version current as of the eclipseClick release; older bodies that rely on legacy EDSDK 13.x behavior may misbehave.

1

Install Canon EOS Utility 3.x

Download the latest EOS Utility from Canon's support page for your specific camera model. The installer registers the WIA USB driver that EDSDK requires.

You don't need to launch EOS Utility — the driver is what matters. If EOS Utility is running when you open eclipseClick, close it (it claims the camera and blocks SDK access).

2

Connect over USB

Use the manufacturer's cable. Some R-series bodies tolerate third-party USB-C cables; older M-series and DSLRs are picky about the original cable.

3

Set the camera to Manual (M)

Mode dial to M. eclipseClick relies on full manual control of shutter, aperture, and ISO. Bulb mode is supported via long shutter values.

4

Detect in eclipseClick

Equipment tab → vendor CanonScan. The body should appear within a second.

Tip

If scan finds nothing, unplug + replug the camera and rescan. Windows occasionally fails to enumerate the WIA endpoint on first connect.

Nikon — F-mount and Z-mount via MAID (Windows)

Each Nikon body requires its own .md3 "MAID module" from Nikon. The modules are proprietary and we can't bundle them with eclipseClick — you have to download them yourself (free, registration required).

1

Register at Nikon SDK portal

Sign up (free) at the Nikon SDK portal. Select the SDK matching your camera generation (Type 0006 for most modern bodies, Type 0011 for newer Z-series).

2

Stage the .md3 files

From the SDK download, copy every .md3 file plus any companion DLLs (NkdPTP.dll, NkdImg.dll) into a folder, e.g.:

C:\NikonSDK\modules\
  Type0006_D7200.md3
  Type0006_D850.md3
  NkdPTP.dll
3

Set NIKON_MD3_PATH

Open Settings → About → Advanced system settings → Environment Variables. Add a User variable:

  • Name: NIKON_MD3_PATH
  • Value: the folder path you created (e.g. C:\NikonSDK\modules)

Restart eclipseClick after setting the variable — the bridge reads it on startup.

4

Connect and scan

USB connect, camera in Manual mode, then Equipment → vendor NikonScan.

Module per body

The .md3 file is camera-specific. If you have a D7200 and a D850, you need both modules in the folder. eclipseClick picks the right one automatically when the body is connected.

Tip

For bodies not covered by any current MAID module (rare — mostly older pre-2010 DSLRs), use DSUSB instead. eclipseClick handles the shutter via DSUSB and skips the SDK path.

Sony — native Camera Remote SDK (Windows)

Use this path if your body is on Sony's official Camera Remote SDK supported list. Full burst rate, all settings, no driver swap.

Native SDK supported bodies (CrSDK v1.13+)

α1α1 IIα7 IIIα7 IVα7Cα7C IIα7C Rα7R III / IIIAα7R IV / IVAα7R Vα7S IIIα9 IIα9 IIIFX3FX30ZV-E1

Sony updates this list periodically. If your model isn't here but is newer than what's listed, try this path first — it may be supported by a recent SDK update.

1

Install Sony Imaging Edge Desktop

Download Imaging Edge Desktop from Sony's site. Specifically you need the "Remote" component — it ships the driver Sony's Camera Remote SDK enumerates against.

Without this driver, the SDK reports zero cameras even with the body plugged in and powered on. You don't need to launch Imaging Edge; the install is what matters.

2

Set USB Connection to PC Remote and enable PC Remote

Two separate settings to configure on the camera:

1. USB Connection mode

Menu → Setup → USB → USB ConnectionPC Remote. Some bodies have this under the Network submenu instead of Setup.

2. Enable PC Remote over USB

Menu → Network → PC RemoteOn, then set Connection MethodUSB. Without this, the camera presents as a storage device only and the SDK cannot issue remote-control commands.

3

Camera in Manual (M)

Mode dial to M. Required for full exposure control via SDK.

4

Connect over USB and scan

USB-C cable, camera on, then Equipment → vendor SonyScan. Should detect within 2–3 seconds.

Note

If the scan returns zero cameras, eclipseClick will automatically fall back to the libgphoto2 path described in the next section. Watch the log — if you see "Sony SDK found no cameras — switching to gphoto2 fallback", your body isn't on Sony's SDK list and you'll need the WinUSB driver install.

Sony — fallback path (ZV-E10, α6×00, etc., Windows)

Use this path if your Sony body isn't on the Camera Remote SDK list. eclipseClick falls back to the bundled libgphoto2 driver, which talks to the camera over PTP/MTP. To make that work on Windows, the camera's USB endpoint has to be bound to the WinUSB kernel driver instead of Windows' inbox MTP driver — eclipseClick automates the swap, but you have to disable Memory Integrity first, otherwise the driver install hangs at the Windows policy gate with no error.

Bodies that use this fallback path

ZV-E10ZV-E10 IIα6000α6100α6300α6400α6500α6600α6700 (partial)α5000-seriesNEX-seriesolder RX-series compacts

Plus any other Sony body that returns zero cameras from the native SDK scan. The list above is what we've confirmed; the fallback works with any libgphoto2-recognized Sony PTP body.

Performance ceiling: about 1 frame per second

The libgphoto2 fallback path on Sony has a hard floor of roughly 700–1000 milliseconds per shutter trigger — libgphoto2 doesn't expose Sony's held-shutter primitive on these bodies. For time-critical phenomena like Bailey's beads or the diamond ring where the window is under 2 seconds, a 5-step bracket physically cannot fit. Plan single-shot or 2-step brackets at those moments, or pick a body on the native SDK list above.

What eclipseClick is actually installing

Windows ships WinUSB — a generic, Microsoft-signed USB driver in every Win10/11 install. Userspace processes can talk directly to a USB device through it. The driver is already on your system; nothing new is being downloaded.

The "install" we're doing isn't installing WinUSB itself — it's generating a tiny .inf file that tells Windows "for this specific camera (vendor 0x054C, product 0x0D97 for ZV-E10), use WinUSB instead of the inbox MTP driver." Windows then re-binds the device. eclipseClick uses libwdi (LGPL-3, vendored as WinUsbInstall.exe) for this.

No camera firmware is touched. The camera sees no change. Only Windows' "this device speaks USB protocol X via driver Y" mapping is updated.

Why Memory Integrity (HVCI) blocks the install

Windows Hypervisor-protected Code Integrity (HVCI), surfaced in the Windows Security UI as "Memory Integrity," runs every driver binary through an extra signature check at install time. It requires drivers to be signed by a certificate that Microsoft has WHQL-attested.

The .inf libwdi generates is signed by libwdi's own CA-chained certificate ("Akeo Consulting"), which is a real, valid certificate — but not WHQL-attested. HVCI rejects it. Worse, Windows doesn't return an error: the install hangs at [Device Installation Restrictions Policy Check] for the entire 5-minute install timeout, then reports a generic failure with no mention of HVCI.

HVCI is on by default in Windows 11 22H2+ on hardware that supports it (most machines from 2018 onward). Disabling it for this one install is the only practical workaround until either Microsoft adds libwdi's cert to WHQL (unlikely) or eclipseClick ships a WHQL-signed package (multi-month process; on the roadmap).

1

Disable Memory Integrity (Required)

  1. Press Win and type Windows Security, open it.
  2. Left sidebar → Device security.
  3. Under "Core isolation," click Core isolation details.
  4. Toggle Memory integrity to Off.
  5. Windows prompts to restart. Restart now — the change doesn't take effect until reboot.

The Windows Security GUI is more reliable than bcdedit for HVCI on Windows 11 24H2 — some bcdedit-driven approaches leave the registry inconsistent.

If the toggle is grayed out:

Windows blocks Memory Integrity changes when an incompatible driver is installed. Click "Review incompatible drivers" in the Memory Integrity UI — Windows lists the offenders. Common culprits: old WiFi drivers, virtualization tools (VMware Workstation Player versions before 17, VirtualBox versions before 7). Update or uninstall the listed drivers, reboot, then try the toggle again.

Verify Memory Integrity is actually off:

Open PowerShell (no need to elevate) and run:

$di = Get-CimInstance -ClassName Win32_DeviceGuard `
  -Namespace root\Microsoft\Windows\DeviceGuard
$di.SecurityServicesRunning

Output should be either empty or values not containing 2. A value of 2 in the list means HVCI is still running — the toggle didn't take or you didn't reboot.

2

Set USB Connection to MTP and enable PC Remote

Two separate settings to configure on the camera:

1. USB Connection mode → MTP

This sets the camera's USB device class / product ID. It must be MTP (not PC Remote) so eclipseClick can swap the Windows driver:

  • ZV-E10 / ZV-E10 II: Menu → Network → USB ConnectionMTP
  • α6×00 series: Menu → Setup (Toolbox) → USB ConnectionMTP
  • NEX-series: Menu → Setup → USB ConnectionMTP (some models call it "Auto" instead)

Note: "PC Remote" as a USB Connection mode uses a different USB product ID that Sony's own Imaging Edge driver claims first — eclipseClick can't swap a device already owned by that driver. Always leave USB Connection set to MTP on this fallback path. "Auto" works too — it resolves to MTP on first attach. If you previously used the camera on a Mac, set it explicitly; some bodies remember the last mode.

2. Enable PC Remote over USB

This is a separate toggle that enables remote-control commands. Without it, the camera appears as a storage device only and libgphoto2 cannot trigger the shutter:

Menu → Network → PC RemoteOn, then set Connection MethodUSB.

3

Plug in and run the scan

Connect the camera over USB-C, turn it on, then in eclipseClick:

  1. Equipment tab → vendor selector → Sony
  2. Click Scan

What happens, in order:

  1. eclipseClick tries the Sony Camera Remote SDK first. Returns "0 cameras" within ~3 seconds (your body isn't on Sony's list).
  2. eclipseClick automatically falls back to libgphoto2 and sees the camera on USB.
  3. libgphoto2 fails to claim the device (it's currently bound to MTP).
  4. eclipseClick detects the failure pattern and pops a dialog: "Sony camera driver required — Install WinUSB driver?" with a list of detected cameras.
  5. Click Install driver.
  6. Windows shows a UAC prompt (the install needs admin to write to the driver store). Click Yes.
  7. WinUsbInstall.exe runs for 5–15 seconds. You may briefly see a "driver installation" toast.
  8. eclipseClick re-runs the libgphoto2 scan with 1s/2s/3s backoff. The camera should appear in the Equipment tab as Connected.

Verify in Device Manager:

Open Device Manager. Before the swap, the camera was under Portable Devices with a name like "ZV-E10". After, it's under Universal Serial Bus devices (or "WinUSB Devices" on some Windows builds) with a name like "Sony ZV-E10".

From PowerShell:

Get-PnpDevice -PresentOnly | Where-Object {
  $_.HardwareID -like "*VID_054C*"
} | Select-Object FriendlyName, Service, Status | Format-List

Look for Service: WinUSB on the camera entry. If it still says WUDFRd or usbccgp, the swap didn't take — see troubleshooting below.

4

Manual driver install (if step 3 fails)

If eclipseClick's automatic install hangs or the in-app dialog never appears, you can run the bundled installer yourself.

Find your camera's USB IDs:

Get-PnpDevice -PresentOnly | Where-Object {
  $_.HardwareID -like "*VID_054C*"
} | Select-Object FriendlyName, HardwareID

Note the four-hex-digit values after VID_ and PID_. For the ZV-E10 in MTP mode it's VID_054C&PID_0D97.

Run the bundled installer (elevated):

& "$env:LOCALAPPDATA\Programs\eclipseClick\resources\winusb-install\WinUsbInstall.exe" `
  --vid 0x054C --pid 0x0D97 --type 0 `
  --inf winusb_zve10.inf --name "Sony ZV-E10" --manufacturer "Sony"

Replace 0x0D97 with your camera's PID, and the --name / --inf values with your model.

The installer is the binary eclipseClick automates; running it directly produces the same outcome with full output visibility. If this hangs, the issue is HVCI — double-check Step 1's verification.

5

Measure FPS before generating scripts

Equipment tab → Measure FPS. The result will be around 1 frame/second on this path. The Script Wizard reads this value and budgets bracket steps accordingly — if you skip this step, the wizard assumes a much higher rate and generates scripts that can't fit on the camera at totality.

The FPS measurement fires 10 captures back-to-back. You'll hear the shutter for ~10 seconds. Photos land on the SD card; you can delete them after.

6

Re-enable Memory Integrity (recommended)

Once the WinUSB binding is in place, Memory Integrity can go back on without affecting the camera. The binding is stored in Windows' driver-store and survives the HVCI toggle.

  1. Windows Security → Device security → Core isolation details.
  2. Toggle Memory integrity to On.
  3. Restart.
  4. Verify the camera still works: open eclipseClick → Equipment → Scan. Should re-detect immediately, no driver prompt this time.

Adding a different Sony body later: the new body has a different USB PID and needs its own driver swap. That means disabling Memory Integrity again, doing the install, then re-enabling. Plan around that if you're outfitting multiple cameras.

Sony fallback troubleshooting

Install dialog never appears, scan just says "no cameras"

The libgphoto2 fallback didn't see the device on USB. Confirm the camera is on, USB-C cable plugged into the camera's data port (not the headphone or HDMI jack), and the body shows up in Device Manager under Portable Devices. If yes, check eclipseClick's log (Settings → Open Logs Folder) for "Sony SDK found no cameras — switching to gphoto2 fallback" — if missing, eclipseClick didn't try the fallback path. Restart eclipseClick.

Install hangs for 5 minutes, then fails

Memory Integrity is still on. Run the PowerShell verification from Step 1 — if SecurityServicesRunning contains 2, HVCI is active. Toggle it off, restart, retry.

UAC dialog doesn't appear when I click Install

Some EDR / antivirus tools (CrowdStrike, SentinelOne, Sophos) block elevated PowerShell spawned from non-system processes. Add an exception for eclipseClick.exe and WinUsbInstall.exe, or run the manual install from Step 4 above.

Driver install reported success, camera still not in eclipseClick

Verify in PowerShell that Service: WinUSB shows on the camera (Step 3's command). If yes, restart eclipseClick — sometimes the post-install rescan races Windows' device-rebind. If Service is still WUDFRd, the swap didn't actually happen — unplug the camera, run the manual install (Step 4) with the camera plugged back in.

Camera disconnects intermittently after WinUSB swap

Almost always a USB cable issue. Sony bodies are sensitive to USB-C cable quality — swap to a known-good cable (Sony's own cable or a high-quality USB 3.x data cable). Avoid USB hubs; plug directly into the computer.

Memory Integrity toggle is grayed out

An incompatible driver is blocking the change. The Memory Integrity UI has a "Review incompatible drivers" link — click it to see the offenders. Common causes: old WiFi/audio drivers, VMware Workstation Player <17, VirtualBox <7, certain Anti-Cheat services. Update or uninstall the listed drivers, reboot, then try the toggle again.

Reverting the driver

If you ever want the camera back on Windows' standard MTP driver (e.g. to copy photos via File Explorer):
  1. Open Device Manager.
  2. Find the camera under "Universal Serial Bus devices."
  3. Right-click → Uninstall device → check "Delete the driver software for this device" → OK.
  4. Unplug and replug the camera. Windows reinstalls the inbox MTP driver automatically.

This doesn't require disabling Memory Integrity — you're going back to a Microsoft driver, not installing one. Re-doing the WinUSB swap later does require HVCI off again.

DSUSB shutter — Canon and Nikon (Windows)

The Shoestring Astronomy DSUSB enumerates as a generic HID device — no driver install. Sony bodies don't expose a wired shutter port that DSUSB targets, so the DSUSB option is only meaningful for Canon and Nikon.

1

Plug DSUSB into any USB port

Windows enumerates it instantly. Equipment tab → DSUSB section should show "Connected".

2

Connect the right shutter cable

Pick the cable that matches your camera's remote port:

  • Canon EOS: 2.5mm sub-mini (Rebel/M-series) or N3 (5D/6D/7D-series)
  • Nikon F-mount entry (D3xxx, D5xxx, D7xxx): MC-DC2
  • Nikon Z-mount and pro F-mount (D850, D5/D6, Z6/Z7): 10-pin or MC-DC2 depending on body
3

Verify with the test trigger

Equipment tab → DSUSB → Trigger Test Shot. Camera should fire whatever shutter speed it's currently set to.

Tip

You can use DSUSB alongside the SDK connection for the same body. eclipseClick uses the SDK to push settings between shots and DSUSB to fire the actual shutter — useful when the SDK's per-shot latency would push you outside a tight phenomenon window.

macOS

Tested on macOS 12 Monterey and later, both Apple Silicon and Intel. On Apple Silicon, the eclipseClick installer is a universal binary — no Rosetta needed.

Canon — all EOS bodies (macOS)

Same model coverage as Windows. Canon's macOS EDSDK build is a universal binary; works on Apple Silicon.

1

Install Canon EOS Utility for macOS

Download from Canon's support page. Apple Silicon Macs need the version compiled for ARM — Canon publishes both.

2

Quit Image Capture and Photos before scanning

macOS launches ptpcamerad when a camera is plugged in, and Image Capture / Photos can claim the camera before EDSDK gets to it. Quit both before scanning in eclipseClick. eclipseClick auto-stops ptpcamerad on capture, but it can respawn via launchd in 1–2 seconds.

3

Connect and scan

USB cable, camera on, Manual mode, Equipment → CanonScan.

Nikon — via libgphoto2 (macOS)

Nikon's MAID SDK is x86_64-only and crashes under Rosetta on Apple Silicon. eclipseClick uses libgphoto2 instead on macOS — no module download needed, no NIKON_MD3_PATH env var.

1

Plug in and scan

Connect, Manual mode, Equipment → NikonScan. libgphoto2 detects the body via PTP and reports it.

2

If using DSUSB, plan around ptpcamerad

For DSUSB-triggered captures on Nikon (e.g. D7200), eclipseClick has to release the PTP session each shot so the camera's remote terminal accepts the DSUSB pulse. macOS's ptpcamerad daemon fights this; eclipseClick auto-kills it before each shot, with a 100–500ms recovery window. Live view will be flaky during DSUSB-mode scripts — expected.

Coverage

libgphoto2 supports most current Nikon bodies. If your specific body isn't recognized, file an issue — usually means libgphoto2 is missing the USB ID, which is a one-line fix upstream.

Sony — both paths (macOS)

On macOS, both the native SDK path and the libgphoto2 fallback work without driver swaps — macOS doesn't have HVCI or the MTP-vs-WinUSB binding problem.

Native SDK bodies (same list as Windows)

1

Install Sony Imaging Edge Desktop for macOS

Download from Sony's site. The "Remote" component installs the macOS driver Sony's SDK enumerates against.

2

Set USB Connection to PC Remote, enable PC Remote, then scan

Same two settings as the Windows native path:

  • USB Connection: Menu → Setup → USB → PC Remote (or the Network submenu on some bodies)
  • PC Remote: Menu → Network → PC RemoteOn, Connection Method → USB

Mode dial to M, then Equipment → SonyScan.

Fallback bodies (ZV-E10, α6×00, etc.)

1

USB Connection → MTP (or Auto), then enable PC Remote

Two separate camera-side settings:

  • USB Connection: Menu → Setup (or Network) → USB ConnectionMTP (or Auto). macOS doesn't need a driver swap, but MTP mode is still required for libgphoto2 to claim the device.
  • PC Remote: Menu → Network → PC RemoteOn, Connection Method → USB. Without this, libgphoto2 sees the camera but cannot issue remote-control commands.

macOS's ptpcamerad will grab the camera by default; eclipseClick releases it.

2

Plug in and scan — no driver install

libgphoto2 talks to Sony PTP bodies directly via libusb on macOS. No WinUSB equivalent, no Memory Integrity gate.

Same per-shot ceiling as Windows

The 700–1000ms per-trigger floor on libgphoto2 + Sony also applies on macOS. Plan brackets accordingly — see the Windows fallback section's note on Bailey's beads / diamond ring.

DSUSB shutter — Canon and Nikon (macOS)

Plug-and-play HID. macOS doesn't ask for permission for HID devices, so it just works.

1

Plug DSUSB in, attach camera cable

Same cable matrix as Windows. Equipment tab shows "Connected" immediately.

2

If your script uses DSUSB on Nikon

See the Nikon (macOS) section above for the ptpcamerad timing note.

Troubleshooting

Sony scan finds nothing on Windows

Check the log (Settings → Open Logs Folder). If you see "Sony SDK found no cameras — switching to gphoto2 fallback" but no driver prompt, your body uses the fallback path and Memory Integrity is still on. Toggle it off (Win Security → Device security → Core isolation), restart, retry. If you see no log line at all, Sony Imaging Edge isn't installed.

Sony WinUSB install hangs for five minutes

Memory Integrity blocks the libwdi driver INF without an error message. The install silently waits at the policy gate until the five-minute timeout. Disable Memory Integrity, reboot, retry the scan.

Nikon "module not found" on Windows

The .md3 file for your specific body isn't in your NIKON_MD3_PATH folder. Check the file name — it usually starts with Type00xx_ followed by the model. Also confirm the env var is set (Settings → About → Advanced system settings → Environment Variables) and restart eclipseClick after changes.

Nikon module loads but camera not detected on macOS

On macOS we don't use MAID at all — libgphoto2 is the only path. If scan finds nothing, ptpcamerad has likely claimed the camera. Quit Image Capture, Photos, and any other camera app; unplug + replug the camera; rescan.

Canon SmartScreen blocks the EOS Utility installer

Click "More info" then "Run anyway". Canon's installer is properly signed but Microsoft's reputation system flags low-volume downloads.

DSUSB shows "Disconnected" after working before

Windows occasionally drops HID devices on USB hub power events. Unplug the DSUSB and plug it back in. If it happens repeatedly, move the DSUSB to a port directly on the computer rather than through a hub.

Script Wizard generates too many shots per phenomenon

The wizard uses your measured FPS to cap per-phenomenon shot counts. If you generated the script before measuring FPS, it defaulted to a high estimate (~10 fps). On Sony's gphoto2 fallback path the actual rate is ~1 fps — rerun the FPS measurement and regenerate the script.

Need more help?

Check the Setup Guide for the happy path, or the GitHub issues page for known bugs and workarounds. Logs (Settings → Open Logs Folder) usually have the specific error message that pinpoints the problem.

Connection Troubleshooting FAQ

Camera not detected, or dropping out mid-capture? Most issues fall into a small set of patterns — work through these before opening a support ticket.

Start here

Most connection issues come down to one of four things: USB mode on the camera, the cable, another app holding the camera, or stale firmware. Walk through these in order before digging into vendor-specific fixes.

eclipseClick does not detect my camera at all
Run through this checklist in order — each step takes under a minute. (1) Power-cycle the camera. (2) Use a known-good USB data cable plugged directly into the computer (no hub, no dock). (3) Quit any other camera software (Image Capture, Photos, Lightroom Tether, Capture One, EOS Utility, Imaging Edge, NX Studio). (4) On the camera, set the USB Connection Mode to the vendor’s remote-control mode (PC Remote / PC Connection / PTP — the exact name depends on the vendor). (5) Restart eclipseClick. The vendor-specific sections below cover the menu paths.
It detected the camera once, then stopped
A second app probably grabbed the camera in the background. macOS Image Capture and Photos auto-launch when a supported camera is plugged in; Windows can do the same with the Photos app. Quit those apps, unplug the cable for ten seconds, plug it back in, and restart eclipseClick. If it keeps happening, disable the auto-launch behaviour: macOS → open Image Capture, select the camera in the sidebar, set the “Connecting this camera opens” dropdown to No application.
How do I know my USB cable is good?
Three things to check. (1) It must be a USB data cable, not a charge-only cable — many cables that ship with phones and accessories carry power but not data. (2) It must be USB 3.x or better for tethered shooting; USB 2.0 cables can connect but stall on large transfers. (3) Avoid hubs, USB switches, and KVMs for the camera connection — plug directly into the computer. If the camera shows up in Image Capture (macOS) or Device Manager (Windows) but not in eclipseClick, the cable is fine and the issue is somewhere else.
Should I update my camera firmware?
Yes — outdated firmware is one of the most common reasons a recent body fails to connect, especially for cameras released in the last twelve months. Check the manufacturer’s support page for your exact body, install the latest firmware, then try again. Firmware updates are free and reversible only by the manufacturer, so do this before contacting support.

macOS

macOS keeps opening Photos or Image Capture when I plug in the camera
Open Image Capture (in /Applications), plug in the camera, select it in the sidebar on the left, and set the “Connecting this camera opens” dropdown (bottom-left) to No application. Repeat for each camera body. This setting is per-device and persists across reboots.
eclipseClick asks for permissions on first launch — what should I allow?
Grant every permission eclipseClick requests. The app needs file-system access to save photos to your chosen download folder, and it needs access to USB devices to control the camera. If you accidentally denied a prompt, open System Settings → Privacy & Security and re-enable the relevant permission, then restart eclipseClick.
I see “Camera blocked by another macOS user session”
Another macOS user account is logged in on the same machine and is holding the camera. This happens with Fast User Switching. Apple menu → Log Out the other user (not just switch back to your account), then retry in eclipseClick.
Camera worked yesterday, fails after a macOS update
macOS point releases sometimes change USB or camera-access permissions. Open System Settings → Privacy & Security and confirm eclipseClick is still allowed. If the permission entry is missing entirely, reinstall eclipseClick from the latest installer on the Download page — the install flow re-registers the necessary entitlements.

Windows

Windows shows the camera in Device Manager but eclipseClick does not
Windows is probably loading the generic MTP driver instead of the vendor driver. Install the vendor’s official tethering software once (Canon EOS Utility, Nikon Camera Control / NX Tether, Sony Imaging Edge Desktop) — installing it puts the correct USB driver in place. You do not need to keep the vendor app open; eclipseClick uses the driver, not the app.
Windows Photos app keeps stealing the camera
Settings → Bluetooth & devices → AutoPlay → find your camera in the device list and set the action to Take no action. Repeat for any other body you connect.
eclipseClick crashes on launch on Windows
This is almost always missing Visual C++ runtimes. Reinstall eclipseClick from the latest installer — it bundles the runtimes it needs. If it still crashes, file a bug report with the version number and Windows build (winver in the Run dialog).

Sony

Sony bodies are the strictest about USB mode. Ninety percent of Sony connection failures are fixed by the first item below.

My Sony camera is not detected (any model)
Set the camera’s USB Connection Mode to PC Remote. The exact menu path varies by body, but it is typically: Menu → Network → USB → USB Connection Mode → PC Remote. On older bodies it may be: Menu → Setup → USB Connection → PC Remote. If the mode is set to Mass Storage or Auto, the camera will enumerate as a card reader instead of a remote-control device, and eclipseClick will not see it. After changing the mode, power-cycle the camera and reconnect.
I set PC Remote and it still does not work
Check three things. (1) Body firmware — Sony ships new bodies with very early firmware that predates current SDK support. Update via Sony’s firmware updater to the latest version. (2) Tethering destination — Menu → Network → USB → PC Remote Function → Still Img. Save Dest. should be set to PC Only or PC+Camera (not Camera Only). (3) Pairing residue — if you ever paired the camera with Imaging Edge Mobile, Menu → Network → Connect / PC Remote → Pairing → Reset Network Settings can clear stale state.
Sony connects but disconnects every few minutes
Sony bodies enter USB sleep aggressively to save battery. On the camera, disable Auto Power OFF Temp (or set Power Save Start Time to the longest available value). Use a fully-charged battery or a dummy-battery AC adapter for the eclipse itself — a low battery is the most common cause of mid-event disconnects.
macOS keeps fighting eclipseClick for the Sony camera
macOS bundles a system PTP service that auto-attaches to any Sony body within milliseconds of plug-in. eclipseClick handles this automatically when it starts, but it cannot reclaim the camera if another userspace app (Image Capture, Photos, Capture One) has already opened a session. Quit those apps before launching eclipseClick. If the issue persists, unplug the camera, fully quit eclipseClick, plug the camera back in, then relaunch eclipseClick.
Burst rate is slow or the camera locks up after a few rapid shots
This is a known limitation of the macOS fallback path used when Sony’s remote SDK cannot bind to the body. The fix is to make the SDK path work — see “My Sony camera is not detected” above. Once eclipseClick is using the Sony SDK, burst rate matches the camera’s native capability.

Canon

My Canon camera is not detected
On the camera body, the USB Connection setting (sometimes called Communication Mode) must be set to PC Connect / Tethering, not to PTP-only or Mass Storage. On modern EOS R bodies this is usually automatic, but on older DSLRs check the menu. Make sure EOS Utility (Canon’s desktop app) is fully quit — it grabs the camera exclusively and blocks all other apps including eclipseClick.
Canon connects but live view is black or frozen
On the camera, switch the lens to AF mode (not MF) for the initial connection — some Canon bodies refuse to start live view in MF. Once live view is running you can switch back to MF for focusing. If live view still fails, set the camera’s shooting mode to M (Manual) rather than Auto or Scene modes; Canon disables several SDK functions outside M.
Battery grip / dual-card slot causes connection issues
Try removing the battery grip and using a single CF/SD card. Some grips draw enough power that the USB bus voltage sags during bursts; some dual-slot configurations confuse the SDK during downloads. Both are rare but real, and easy to rule out.

Nikon

My Nikon camera is not detected on Windows
Install Nikon’s NX Tether (or older Camera Control Pro 2) once — this installs the Nikon USB driver that eclipseClick uses. You do not need to keep NX Tether open. On the camera, set USB to MTP/PTP (not Mass Storage) — exact menu path varies by body, look under Setup Menu → USB or Connect to PC.
My Nikon camera is not detected on macOS
On macOS, eclipseClick uses a different code path for Nikon than on Windows. Make sure Image Capture, Photos, and any other camera software are quit. On the camera, set USB to MTP/PTP. If detection still fails, try a different USB-C port on your Mac — older USB-A-to-USB-mini cables sometimes underperform compared to direct USB-C connections.
Live view works but capture fails
On the camera, switch out of Live View mode on the body before triggering capture from eclipseClick — Nikon bodies sometimes refuse SDK capture commands while their own live view is active. eclipseClick will start live view through the SDK as needed.

DSUSB shutter cable

eclipseClick does not see the DSUSB
The DSUSB enumerates as a generic serial / FTDI device. On Windows, install the FTDI VCP driver if it is not already installed (most systems have it from other USB-serial gear). On macOS, no driver install is needed but the device must show up in /dev/ — open Terminal and run: ls /dev/tty.usb* — you should see at least one entry when the DSUSB is plugged in. If not, try a different USB cable between the DSUSB and the computer.
Camera and DSUSB both connected, but only one fires
eclipseClick lets you assign each script step to a specific output (camera SDK or DSUSB). Open the script, check each step’s output assignment, and make sure the steps you want to fire from each device are assigned correctly. By default, capture steps go to the camera SDK; bulb steps over a long duration usually go to the DSUSB for precise timing.
DSUSB fires but camera does not respond
The 2.5 mm or 3.5 mm sub-mini jack between the DSUSB and the camera must be the correct cable for your camera body — vendor remote pinouts differ (Canon N3 vs Canon E3 vs Nikon MC-DC2 vs Sony multi-terminal, etc.). Confirm you have the right cable for your body. On the camera, the focus mode and shutter mode must allow remote release (not Self-Timer, not Mirror Lockup unless you intend it).

Multi-camera (Pro)

Only some of my cameras show up
Connect cameras one at a time and confirm each one individually first — that isolates whether one specific body is the problem versus the multi-camera setup as a whole. Once each body works alone, plug them all in (direct to the computer if possible). Avoid bus-powered USB hubs — most cannot supply enough current for multiple cameras simultaneously. If you need a hub, use a powered hub with at least 2 A per port.
Cameras drop out during a multi-camera capture
This is almost always a power or bandwidth issue. (1) Use a powered USB hub. (2) Use USB 3.x throughout — one slow USB 2.0 link in the chain throttles the whole bus. (3) Confirm each camera has a fresh battery or AC adapter — multi-camera captures stress batteries. (4) Reduce simultaneous burst rates if you are pushing the camera’s buffer to the limit.
Can I mix vendors (e.g. one Canon and one Sony)?
Yes — eclipseClick supports mixed-vendor multi-camera setups in Pro. Each camera connects through its own vendor SDK independently. Make sure each body individually meets the connection requirements in its vendor section above.

After an update

Worked before, stopped after I updated eclipseClick
New eclipseClick releases occasionally update the bundled vendor SDKs, which can require an updated camera firmware in turn. Update the camera’s firmware to the latest vendor release. If that does not help, capture the symptom in detail and email it to us — we keep a regression log per release.
Worked before, stopped after I updated my OS
Reinstall eclipseClick from the Download page. OS updates can revoke USB or camera-access permissions and a fresh install re-establishes them cleanly.
Worked before, stopped after I updated camera firmware
Rare but possible — vendor firmware updates occasionally change USB descriptors in ways that need a matching SDK update from the vendor (which then needs a matching eclipseClick update). Check the Download page for a newer eclipseClick release. If you are already on the latest, email us with your camera model and firmware version.

Once your camera is detected, the Setup Guide walks through script generation and eclipse-day workflow.