Backfocus Solver
Nearly every corrector wants the sensor a fixed distance behind it, and being 2 mm out puts elongated stars in the corners of every frame you take. This works out the stack that gets you there from parts you already own, and tells you when it can’t.
Every figure below is re-keyed from a manufacturer page or drawing and carries a link to it. Where a number could not be confirmed, the row says so in the list before you pick it — there are no plausible-looking substitutes in this catalogue.
42 rows. 6 could not be confirmed against a manufacturer page or drawing and are marked in the list.
70 rows. 11 could not be confirmed against a manufacturer page or drawing and are marked in the list.
ZWO ASI533MC Pro
Verified against the manufacturersource17.50 mmfemale M42 face of the fitted 11 mm T2 extender to sensor — with the supplied 11 mm T2 extender fitted
- Input thread
- M42x0.75
- Sensor
- 11.31 × 11.31 mm · 3.76 µm pixels
Manual v1.2: "When 11mm T2 Extender is removed from camera, back focus length is reduced to 6.5mm." Minor source conflict on sensor diagonal: 16 mm (2024 manual) vs 15.968 mm (v1.2).
Between corrector and camera
8 rows, every figure confirmed against a manufacturer source.
Only manufacturer-supplied kits are catalogued so far. Generic aftermarket spacer sets are not here yet, and an invented set of lengths would produce a confident stack out of rings you may not own.
Nothing solved yet
Still needed: a flattener or corrector, the spacers you own, which configuration of the camera you have, whether an off-axis guider sits in the train, whether a filter drawer or wheel sits in the train.
Nothing is filled in on your behalf. Where a product ships in more than one configuration you are asked which one you own, because the two are not interchangeable and the difference is often larger than the tolerance.
Or open a real train
- Baader MPCC III + ZWO ASI2600MC ProA clean solve with the rings in ZWO's box
- Baader MPCC III + ZWO ASI2600MC DUOThe threads don't meet: which adapter do you have?
- ZWO ASI533MC ProZWO publishes two configurations for it: which is yours?
- Baader MPCC III + ASI2600MC Pro + ZWO M42 filter drawerZWO's own drawer chart, reproduced — with 2 mm of filter glass
How this is computed
required[mm] = flattenerBackfocus[mm] + Σ( glassThickness[mm] × (n − 1) / n )
fixed[mm] = cameraFlangeToSensor[mm] + Σ components[mm]
residual[mm] = required[mm] − fixed[mm] − Σ rings[mm]
rings: spacers, extenders and adapters you own, each used at most as
many times as you have it, where every ring's thread fits the nextThe required distance is the corrector’s own published figure, measured from the face the manufacturer measured it from — which is why every row names that face. The same corrector quoted from two different threads is two different numbers.
Filter glass shifts focus outward, so it makes the required distance longer, by t × (n − 1) / n. The familiar “one third of the thickness” is that expression at n = 1.5 and is wrong by about 2.5% for ordinary filter glass. Where a filter’s glass type is unpublished the solver assumes n = 1.52 and says so in the result rather than burying the assumption.
Tolerance is the corrector’s published figure where it has one, and ±0.5 mm otherwise — the usual working figure for a 55 mm system. Faster systems are tighter than that, not looser.
Lengths and threads are solved together, because a camera kit is not a list of lengths. ZWO’s ASI2600 Pro kit includes an extender that is M48 on one side and T2 on the other: an M48 corrector screws straight onto it, a T2 corrector needs the kit’s 0 mm ring first, and which of those is true decides the stack.
The stack is chosen fewest-pieces-first, because every threaded joint is a place the train can tilt. When an exact stack exists that needs more rings, the result shows it rather than hiding the trade. How the numbers are computed.
Source: docs/03-physics-reference.md § 5 · Agena, “A primer on back focus in astronomy” · ZWO, “The best solution of 55 mm back focal length”. Implemented in packages/physics/src/backfocus.ts, with the worked examples as unit tests.