UMBRA

Features & roadmap.

Umbra is a free, open beta. Here's what's real today, what's coming, and what I'm considering. Kept honest and updated as things ship.

Built: shipping today In progress: building / beta Considered: planned, not committed

Built SHIPPING

In the app today and exercised on real rigs.

Camera control

  • Native LUMIX / Panasonic control via reverse-engineered PTP.
  • Native Sony control via Sony's Camera Remote SDK (A1, A7 IV, A7S III and newer), save-to-card enforced.
  • Nikon and Fujifilm through a universal driver (a copy of gphoto2 bundled in the app), nothing to install.
  • Multi-camera by design: 4+ bodies, each tracked by serial number.
  • One-press camera detection: plug your bodies in, hit Detect, and Umbra claims and names each one.
  • Expected-camera roster: a loud warning when a body your script needs isn't connected.
  • Camera library: rename and forget bodies, remembered by serial number, and a per-body lens label so you can tell identical bodies apart at a glance.

Timing

  • Besselian-element contact engine: C1–C4 plus maximum.
  • Simulated, scrubbable clock and a real eclipse-day clock.
  • Run-of-show timeline: a shot-density strip of the whole script, shared across the Wizard, the editor and the AI pane, plus a per-camera shot timeline on the dashboard for every script camera, connected or not.
  • Saved observing sites with address geocoding and a map picker.
  • Sky view of the sun's altitude / azimuth track.
  • Framing simulator: lens field-of-view over real terrain and horizon, showing where the eclipse sits in your frame.

Scripting & AI

  • Contact-relative capture scripts, compatible with the established Maestro .txt format (TAKEPIC, loops, magnitude triggers).
  • Script Wizard (offline, deterministic): partial-phase timelapse, diamond ring, Baily's beads, and prominences as three independent phases (each with its own shutter, aperture, ISO, timing window, and cadence, mirrored across both sides of totality), corona HDR, and earthshine, with an optional 3/5/7-frame bracket (manual base, center/bottom/top weight). Real camera shutter values everywhere, editable shutters for the partials and earthshine, a configurable pause between corona sets, full-Sun bookend frames, and auto-fit to your totality. Multi-camera mode customizes each body's plan one at a time.
  • Inline wizard warnings: overlapping phases and cadence tighter than your body's measured floor are flagged as you type, before a script is ever generated. Shots below your local horizon can be trimmed automatically, and Validate flags them on any script.
  • AI Script Assistant: open-ended or guided interview, aware of your site and cameras, and held to the same spacing / standard-shutter / inter-set rules.
  • Exposure flexibility: full manual, or leave any field blank for Auto ISO, aperture-priority (blank shutter) or shutter-priority (blank aperture), plus per-shot exposure compensation.
  • Auto-validation flags shots below the horizon (a warning, since the same time applies to every body), exposure+write cadence overlaps, and sub-floor intervals.
  • Spoken voice cues during totality.

Reliability

  • Crash-and-resume: a power loss or crash mid-run resumes and skips missed shots rather than re-firing.
  • Camera-disconnect alarm with automatic reconnect by serial.
  • Camera gap profiler: measures a body's real sustainable shot-to-shot rate, both the instantaneous floor and a sustained burst at your bracket's actual cadence, so a script stays within what it can hold.
  • Camera profiler + value snapping (universal-driver bodies): reads the exact shutter, ISO and aperture values a Nikon or Fujifilm body actually offers, and snaps every value a script sends to it to the nearest one it has, so a computed exposure the camera does not support never fires at the wrong setting or gets rejected.
  • Drive-dial check (LUMIX and Sony): reads the camera's drive dial at detect and warns before you arm if it's on burst/continuous, where one fire can spray a burst and wedge the body writing to the card mid-totality.
  • Battery watch: your Mac's battery is watched throughout, and LUMIX bodies report their own battery before you arm and during a run, and the Mac's own battery gets the same loud banner + spoken alarm treatment.
  • Clock check + GPS time: every shot is contact-relative, so a drifted clock fires the whole script early or late. Umbra shows exactly which time reference it's trusting, best first: a plugged-in USB GPS puck (accurate to a fraction of a second and works with no internet, the real field case), then a network check against this site's clock, then the bare system clock. With a GPS puck locked, arming corrects to satellite UTC automatically, and the same puck fills your location and altitude. No driver needed.
  • Keep-awake while armed: the Mac can't sleep mid-run and lose the sequence.
  • On-disk run log: every shot (scheduled vs fired, settings, result) written to disk for auditing.
  • Per-frame drop visibility: the run view marks exactly which frames dropped (red) and opens a detail list, with a by-shutter tally.
  • Hidden-setting detection: when some bodies drop far more than the rest on an identical plan, Umbra flags it as a likely per-body setting it can't read over USB (Long-Exposure or High-ISO noise reduction).
  • Thermal-aware UI throttling.
  • Simulation Analyzer reconciles the SD card's EXIF against the plan and produces an HTML report.

Distribution

  • Free for all of 2026, donation-ware, no strings.
  • Works fully offline, no account, just a license key (critical in the field).
  • Tells you when an update is available.
  • Report a bug or send feedback from inside the app.

In progress BETA

Actively being built or hardening. Usable, but not yet considered done.

Native Canon control

Canon's EOS SDK (EDSDK), the same caliber as the native Sony path, with save-to-card enforced. Umbra tries it first for any Canon body it sees; anything EDSDK cannot claim falls back to the universal driver automatically. It is still being validated across more Canon bodies, which is why it sits here rather than in Built.

Performance & thermal hardening

Continued tuning for hot eclipse-day conditions, where a throttling Mac can drop shots. The firing path is being fully decoupled from the UI so nothing can stall a shot.

Considered PLANNED

On the radar and shaping the roadmap, not committed, and listed here so you know where I'm looking.

More native brands

Native Nikon and Fujifilm control, alongside broader per-brand validation. (Both work today through the universal driver.)

High-frame-rate burst

Burst capture aimed at corona stacking.

Auto-applied camera profiles

Turn profiler runs into saved per-body profiles that apply automatically, so each body behaves predictably without re-measuring.

Contact-time accuracy

Lunar-limb-corrected contact times, finer accuracy from the Moon's real edge profile rather than a smooth disc. GPS time and location, plus the network drift check, already ship, see Reliability.

Mobile controller

An iPad / iPhone secondary controller.

Raspberry Pi target

A headless Pi target (one Pi per camera) for large rigs.

Honest note: tiers move only when reality does. If something here is wrong or out of date, tell me at [email protected].