[documentation/kstars-docs-kde-org] /: Add Tilt Correction and Tilt Correction Advisory guide

Jasem Mutlaq <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 2b39d0651b0f06aeeb33a310c2673571d23e0a7d by Jasem Mutlaq, on behalf of Andreas R..
Committed on 18/08/2026 at 08:54.
Pushed by mutlaqja into branch 'master'.

Add Tilt Correction and Tilt Correction Advisory guide

## Summary

Adds a new, self-contained user-manual page documenting the **Tilt Correction Advisory**
in the Ekos Focus module's Aberration Inspector, and its integration with motorized tilt
plates (WandererAstro ETA M54).

The existing `ekos-focus.rst` already documents the Aberration Inspector (V-curve, table,
results, 3D graphic) and the generic "adjust tilt with a device" loop, but it does not
cover the newer **Tilt Correction Advisory** widget, the **Apply to ETA** integration,
plate geometry configuration, how to measure focuser step size, or how to recognize a
tilt too large to measure. This page fills those gaps.

It is intentionally a **standalone, beginner-oriented walk-through** rather than an
edit spread through the existing reference section, since a newcomer setting up tilt
correction for the first time is unlikely to read the full Focus chapter end-to-end.
Reviewers should feel free to suggest folding parts into the existing Aberration
Inspector section if preferred.

## What's included

- New page: `user_manual/ekos-tilt-correction.rst`, added to the Ekos toctree after
  `ekos-focus`.
- Sections: overview of sensor tilt; prerequisites; measuring focuser step size
  (with a diagram); running the Aberration Inspector; understanding the results; the
  Tilt Correction Advisory (3-point and 4-point plates, modes, visual diagram);
  applying corrections with the WandererAstro ETA M54; the iterative workflow; what to
  do when tilt is too large to measure ("No tilt data") including reading the focus
  sweep to guess direction; verification with external tools; and reference tables
  (supported plates, thread pitches, ETA specs).
- 20 supporting images under `images/` (prefixed `ekos_tilt_`).

## Related upstream work

- Tilt Correction Advisory widget: kstars MR !1692 (merged 2026-07-16).
- WandererAstro ETA driver + integration: INDI PRs #2386, #2397, #2433, #2437 (merged).

A  +-    --    images/ekos_tilt_abins_multitile.jpg
A  +-    --    images/ekos_tilt_advisory_4point.jpg
A  +-    --    images/ekos_tilt_advisory_applied.jpg
A  +-    --    images/ekos_tilt_advisory_run1.jpg
A  +-    --    images/ekos_tilt_cfz_stepsize.jpg
A  +-    --    images/ekos_tilt_equipment_train.jpg
A  +-    --    images/ekos_tilt_eta_applied.jpg
A  +-    --    images/ekos_tilt_eta_closeup.jpg
A  +-    --    images/ekos_tilt_eta_indi_panel.jpg
A  +-    --    images/ekos_tilt_external_analysis.jpg
A  +-    --    images/ekos_tilt_external_m31.jpg
A  +-    --    images/ekos_tilt_focus_run.jpg
A  +-    --    images/ekos_tilt_focus_wellfocused.jpg
A  +-    --    images/ekos_tilt_notiltdata_run6.jpg
A  +-    --    images/ekos_tilt_notiltdata_run8.jpg
A  +-    --    images/ekos_tilt_run2.jpg
A  +-    --    images/ekos_tilt_run3.jpg
A  +-    --    images/ekos_tilt_stepsize_diagram.png
A  +-    --    images/ekos_tilt_sweep_early.jpg
A  +-    --    images/ekos_tilt_sweep_later.jpg
A  +677  -0    user_manual/ekos-tilt-correction.rst
M  +1    -0    user_manual/ekos.rst

https://invent.kde.org/documentation/kstars-docs-kde-org/-/commit/2b39d0651b0f06aeeb33a310c2673571d23e0a7d

diff --git a/images/ekos_tilt_abins_multitile.jpg b/images/ekos_tilt_abins_multitile.jpg
new file mode 100644
index 00000000..696f9cb6
Binary files /dev/null and b/images/ekos_tilt_abins_multitile.jpg differ
diff --git a/images/ekos_tilt_advisory_4point.jpg b/images/ekos_tilt_advisory_4point.jpg
new file mode 100644
index 00000000..825faf88
Binary files /dev/null and b/images/ekos_tilt_advisory_4point.jpg differ
diff --git a/images/ekos_tilt_advisory_applied.jpg b/images/ekos_tilt_advisory_applied.jpg
new file mode 100644
index 00000000..40c28426
Binary files /dev/null and b/images/ekos_tilt_advisory_applied.jpg differ
diff --git a/images/ekos_tilt_advisory_run1.jpg b/images/ekos_tilt_advisory_run1.jpg
new file mode 100644
index 00000000..4c6b66e7
Binary files /dev/null and b/images/ekos_tilt_advisory_run1.jpg differ
diff --git a/images/ekos_tilt_cfz_stepsize.jpg b/images/ekos_tilt_cfz_stepsize.jpg
new file mode 100644
index 00000000..258fad98
Binary files /dev/null and b/images/ekos_tilt_cfz_stepsize.jpg differ
diff --git a/images/ekos_tilt_equipment_train.jpg b/images/ekos_tilt_equipment_train.jpg
new file mode 100644
index 00000000..932f0541
Binary files /dev/null and b/images/ekos_tilt_equipment_train.jpg differ
diff --git a/images/ekos_tilt_eta_applied.jpg b/images/ekos_tilt_eta_applied.jpg
new file mode 100644
index 00000000..04027bd2
Binary files /dev/null and b/images/ekos_tilt_eta_applied.jpg differ
diff --git a/images/ekos_tilt_eta_closeup.jpg b/images/ekos_tilt_eta_closeup.jpg
new file mode 100644
index 00000000..ae9b43b5
Binary files /dev/null and b/images/ekos_tilt_eta_closeup.jpg differ
diff --git a/images/ekos_tilt_eta_indi_panel.jpg b/images/ekos_tilt_eta_indi_panel.jpg
new file mode 100644
index 00000000..9c0726fd
Binary files /dev/null and b/images/ekos_tilt_eta_indi_panel.jpg differ
diff --git a/images/ekos_tilt_external_analysis.jpg b/images/ekos_tilt_external_analysis.jpg
new file mode 100644
index 00000000..e8cfab93
Binary files /dev/null and b/images/ekos_tilt_external_analysis.jpg differ
diff --git a/images/ekos_tilt_external_m31.jpg b/images/ekos_tilt_external_m31.jpg
new file mode 100644
index 00000000..3dba7fd8
Binary files /dev/null and b/images/ekos_tilt_external_m31.jpg differ
diff --git a/images/ekos_tilt_focus_run.jpg b/images/ekos_tilt_focus_run.jpg
new file mode 100644
index 00000000..751a8176
Binary files /dev/null and b/images/ekos_tilt_focus_run.jpg differ
diff --git a/images/ekos_tilt_focus_wellfocused.jpg b/images/ekos_tilt_focus_wellfocused.jpg
new file mode 100644
index 00000000..d171bd69
Binary files /dev/null and b/images/ekos_tilt_focus_wellfocused.jpg differ
diff --git a/images/ekos_tilt_notiltdata_run6.jpg b/images/ekos_tilt_notiltdata_run6.jpg
new file mode 100644
index 00000000..dea2b87e
Binary files /dev/null and b/images/ekos_tilt_notiltdata_run6.jpg differ
diff --git a/images/ekos_tilt_notiltdata_run8.jpg b/images/ekos_tilt_notiltdata_run8.jpg
new file mode 100644
index 00000000..24c085c4
Binary files /dev/null and b/images/ekos_tilt_notiltdata_run8.jpg differ
diff --git a/images/ekos_tilt_run2.jpg b/images/ekos_tilt_run2.jpg
new file mode 100644
index 00000000..b100183e
Binary files /dev/null and b/images/ekos_tilt_run2.jpg differ
diff --git a/images/ekos_tilt_run3.jpg b/images/ekos_tilt_run3.jpg
new file mode 100644
index 00000000..4bccdb09
Binary files /dev/null and b/images/ekos_tilt_run3.jpg differ
diff --git a/images/ekos_tilt_stepsize_diagram.png b/images/ekos_tilt_stepsize_diagram.png
new file mode 100644
index 00000000..4e912501
Binary files /dev/null and b/images/ekos_tilt_stepsize_diagram.png differ
diff --git a/images/ekos_tilt_sweep_early.jpg b/images/ekos_tilt_sweep_early.jpg
new file mode 100644
index 00000000..1b97ee14
Binary files /dev/null and b/images/ekos_tilt_sweep_early.jpg differ
diff --git a/images/ekos_tilt_sweep_later.jpg b/images/ekos_tilt_sweep_later.jpg
new file mode 100644
index 00000000..2781c6de
Binary files /dev/null and b/images/ekos_tilt_sweep_later.jpg differ
diff --git a/user_manual/ekos-tilt-correction.rst b/user_manual/ekos-tilt-correction.rst
new file mode 100644
index 00000000..db8d9709
--- /dev/null
+++ b/user_manual/ekos-tilt-correction.rst
@@ -0,0 +1,677 @@
+.. _ekos-tilt-correction:
+
+====================================================
+Tilt Correction and the Tilt Correction Advisory
+====================================================
+
+This guide is a self-contained walk-through for measuring and correcting sensor
+tilt in Ekos, from initial setup through iterative correction to verification. It
+builds on the :ref:`Aberration Inspector <ekos-focus-aberration-inspector>` in the
+:doc:`Focus module <ekos-focus>` and focuses on the **Tilt Correction Advisory**,
+which translates measured tilt into concrete mechanical adjustments, and on its
+integration with motorized tilt plates such as the WandererAstro ETA M54.
+
+.. contents:: Contents
+   :local:
+   :depth: 2
+
+
+Overview — What is Sensor Tilt?
+===============================
+
+When the imaging sensor is not perfectly perpendicular to the optical axis, different
+regions of the field come to focus at different distances from the flattener/corrector.
+This manifests as:
+
+-  Stars in one corner appearing sharper than the opposite corner.
+-  Uneven HFR values across the field after autofocus.
+-  One side of the image always appearing slightly out of focus.
+-  Uneven color-correction performance across the frame — because each region sits at
+   a different distance from the correcting lens element, chromatic correction (and
+   field flatness) is optimized for only part of the sensor, so color fringing can be
+   stronger on the side that is furthest from the ideal focal plane.
+
+The **Aberration Inspector** measures this tilt by running autofocus across multiple
+regions (tiles) of the sensor simultaneously. The focus-position difference between
+tiles, converted to physical microns using the focuser step size, reveals the tilt
+magnitude and direction. The **Tilt Correction Advisory** then translates these
+measurements into concrete mechanical adjustments — telling you which screws to turn,
+and by how much.
+
+.. figure:: /images/ekos_tilt_equipment_train.jpg
+   :alt: Imaging train with WandererAstro ETA M54 tilt plate
+
+   Imaging train with a WandererAstro ETA M54 tilt plate installed between the focuser
+   and the camera.
+
+.. figure:: /images/ekos_tilt_eta_closeup.jpg
+   :alt: WandererAstro ETA M54 close-up
+   :width: 768px
+
+   The WandererAstro ETA M54 Electronic Tilt Adjuster (front view). The three motorized
+   adjustment points are labeled "1", "2", and "3"; each arm houses a stepper motor with
+   an encoder. The M54 threaded side faces the telescope/focuser. The sensor side has 6
+   screw holes for bolting adapters directly (optional threaded adapters are available).
+   In this photo a Pegasus Astro Indigo OAG with helical focuser is attached. Note that
+   not all OAGs fit inside the ETA's central opening — the Svbony OAG neck, for example,
+   is too wide, while the Pegasus Indigo OAG fits.
+
+
+Prerequisites
+=============
+
+**Hardware**
+
+-  A telescope with a field flattener/corrector.
+-  An electronic (absolute) focuser, e.g. ZWO EAF, Pegasus FocusCube, MoonLite.
+-  A tilt adjustment plate:
+
+   -  **3-point motorized**: WandererAstro ETA M54 (recommended — allows automated apply).
+   -  **3-point manual**: Octopi, manual 3-screw tilt rings.
+   -  **4-point manual**: ToupTek M42 Tilter and similar push/pull plates.
+
+-  A star-rich field for measurement (open clusters work well: NGC 2516, M44, M67).
+
+**Software / configuration**
+
+-  KStars 3.8.4 or later (the Tilt Correction Advisory and ETA integration are merged
+   upstream).
+-  For ETA integration: the INDI driver ``indi_wanderer_eta``.
+-  The **Mosaic Mask** enabled in the Focus module.
+-  **Focuser step size** correctly configured (see the next section).
+-  The optical train set up in Ekos (sensor dimensions and pixel size are read
+   automatically from the camera driver).
+-  The ETA connected as an Auxiliary device in the Ekos profile (if using automated
+   apply).
+
+
+Measuring Focuser Step Size
+===========================
+
+The focuser step size (microns per step, µm/step) is **critical** for accurate tilt
+measurements. The Aberration Inspector converts focuser tick differences between tiles
+into physical distance (microns). If this value is wrong, the tilt magnitude will be
+scaled incorrectly (although the direction will still be correct).
+
+Where to configure
+------------------
+
+In the Focus module, open the ``CFZ`` dialog (Critical Focus Zone). The **Step Size**
+field specifies how many micrometers the focuser moves per single step (tick).
+
+.. figure:: /images/ekos_tilt_cfz_stepsize.jpg
+   :alt: Focus CFZ dialog showing the step size
+
+   The Focus CFZ dialog: step size is set to 2.754 µm for this ZWO EAF + Askar SQA130
+   combination. The CFZ calculation (18 µm = 7 steps) uses this value.
+
+How to measure
+--------------
+
+If your focuser manufacturer publishes a specification, use it. Typical values:
+
+-  ZWO EAF: ~1.5–3.0 µm/step (depends on the scope's focuser mechanism).
+-  Pegasus FocusCube: ~2.0–5.0 µm/step.
+-  MoonLite: varies by model.
+
+If no specification is available, or you want to verify it, use the full-travel method:
+
+#. **Measure the physical travel.** With the focuser disconnected from the scope, use a
+   digital caliper or dial indicator against the drawtube. Mark the fully retracted and
+   fully extended positions and measure the total travel in mm.
+#. **Count the total steps.** Drive the focuser from one end to the other using the INDI
+   control panel and note the step count for the full travel.
+#. **Calculate.** ``Step Size (µm/step) = (Total Travel in mm × 1000) / Total Steps``.
+
+**Example** (ZWO EAF on Askar SQA130): total travel ~31 mm, total steps ~11,250 →
+31,000 µm / 11,250 = **2.76 µm/step**.
+
+.. figure:: /images/ekos_tilt_stepsize_diagram.png
+   :alt: Measuring focuser step size
+
+   Drive the focuser through its full travel, measure the physical distance, and divide
+   by the step count.
+
+Why it matters
+--------------
+
+Consider a sensor with 50 µm of tilt. The focus module might report a 20-tick difference
+between the left and right tiles.
+
+-  With the correct step size (2.5 µm/step): 20 × 2.5 = **50 µm** → correct advisory.
+-  With a wrong step size (5.0 µm/step): 20 × 5.0 = **100 µm** → advisory overshoots 2×.
+
+The *direction* of the correction is right either way, but a wrong step size makes you
+overshoot or undershoot the magnitude on each iteration, requiring more passes to
+converge.
+
+
+Running the Aberration Inspector
+================================
+
+#. **Achieve focus first.** Before using the Aberration Inspector, run a **normal
+   autofocus** on the full image (no mosaic mask) to bring the focuser near the correct
+   position. You need a good V-curve with a clean solution — the Aberration Inspector
+   sweeps around the current focus position, so if you are far from focus the tiles will
+   not produce usable data.
+#. **Switch to the Mosaic Mask.** The mask is selected in the Focus module's settings.
+   Open the Focus **Options** and find the **Mask** selector — it offers *Use all stars*
+   (full image, the default for normal autofocus), *Ring Mask*, and *Mosaic Mask*. Choose
+   **Mosaic Mask** for tilt measurement. Adjust the tile size so each tile captures enough
+   stars (tiles around 256–512 px work well for most setups).
+#. **Point to a star-rich field.** Open clusters are ideal. Avoid nebulae or regions with
+   few stars — you need multiple stars in every tile for reliable curve fits.
+
+   .. note::
+
+      **Choosing a good spot in the sky.** Tilt measurement depends on clean, round star
+      shapes and steady tracking across the whole sweep. For best results: pick a region
+      with clear, well-separated stars and good contrast; ensure good mount performance,
+      since tracking errors or drift during the sweep distort the per-tile HFR; and avoid
+      areas where the mount tracks poorly. Targets very close to the **zenith** or right
+      on the **meridian** can be problematic (near the zenith, small tracking moves cause
+      large apparent motion; on the meridian, some mounts track less smoothly near the
+      balance point). A field at a moderate altitude, well away from these, tends to give
+      more consistent star shapes for measurement.
+
+#. **Click "Aberration Inspector".** In the Focus module's Tools section, click the
+   ``Aberration Inspector`` button. This starts a dedicated tiled autofocus run that
+   sweeps through focus positions while measuring HFR in each mosaic tile independently.
+
+   .. tip::
+
+      Consider using a larger step size for the Aberration Inspector run than for your
+      normal autofocus. Because each tile has fewer stars, the per-tile V-curves can look
+      bumpy with small steps; larger steps produce smoother curves and more reliable tile
+      solutions.
+
+#. **Wait for completion.** When all tiles' V-curves are fit, the Aberration Inspector
+   dialog appears automatically with the results.
+
+.. note::
+
+   The Tilt Correction Advisory section within the Aberration Inspector is only visible
+   when either (a) a WandererAstro ETA is detected as connected, or (b) you manually
+   enable the **Tilt Plate** checkbox in the Aberration Inspector toolbar. Otherwise the
+   advisory panel stays hidden.
+
+.. figure:: /images/ekos_tilt_focus_run.jpg
+   :alt: Focus module after a successful Aberration Inspector run
+
+   Focus module after a successful Aberration Inspector run: 56 stars detected, HFR 1.32,
+   R²=0.99. The mosaic mask grid is visible on the star field (right). The
+   ``Aberration Inspector`` button in the Tools section triggers the tiled measurement run.
+
+
+Understanding the Results
+=========================
+
+The Aberration Inspector presents a per-tile table, a set of summary values, and a
+multi-tile V-curve graph. (See the :ref:`Aberration Inspector <ekos-focus-aberration-inspector>`
+reference in the Focus documentation for the full description of every control.)
+
+**Tile table** — each row is a mosaic tile (region of the sensor): the focus
+``Solution`` (steps), ``Delta (ticks)`` and ``Delta (µm)`` relative to the centre tile,
+the ``Num Stars`` used vs. detected, and the ``R²`` goodness-of-fit.
+
+**Summary values**
+
+-  ``Backfocus Δ`` — how far the sensor is from optimal backfocus distance (± µm).
+-  ``Left-Right Tilt`` — tilt along the horizontal axis (µm and %).
+-  ``Top-Bottom Tilt`` — tilt along the vertical axis (µm and %).
+-  ``Total Tilt`` — combined vector magnitude (µm and %).
+
+**Multi-tile V-curve** — all tiles' V-curves overlaid. In a tilted sensor the curves are
+shifted horizontally relative to each other; the minimum of each curve occurs at a
+different focuser position.
+
+.. figure:: /images/ekos_tilt_abins_multitile.jpg
+   :alt: Aberration Inspector multi-tile view
+
+   Aberration Inspector showing all 5 tiles (TL, TR, C, BL, BR). The TL curve (red)
+   diverges significantly from the others, indicating the top-left region is further
+   from ideal focus. Total tilt: 30 µm. The 3D visualization (right) shows the tilt plane.
+
+
+Tilt Correction Advisory
+========================
+
+Below the measurement results, the **Tilt Correction Advisory** translates the raw
+measurements into specific mechanical adjustments.
+
+Configuration
+-------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 18 52 30
+
+   * - Setting
+     - Description
+     - Example
+   * - **Plate**
+     - 3-point or 4-point geometry
+     - 3-point
+   * - **Radius**
+     - Bolt-circle radius in mm (centre to screw)
+     - 64.0 mm (ETA M54)
+   * - **Thread**
+     - Screw thread type (determines pitch)
+     - Wanderer ETA (0.50 mm)
+   * - **Pitch**
+     - mm per full turn of the adjustment screw
+     - 0.50 mm/turn
+   * - **Rotation**
+     - Camera body rotation (visual aid only)
+     - 0° or 10°
+   * - **Mode**
+     - How corrections are presented
+     - Push-only (from zero) or Relative (± deltas)
+
+.. note::
+
+   **Setting the radius and thread for your plate.** The radius is the bolt-circle radius
+   — the distance from the centre of the plate to an adjustment screw/motor. Known values
+   are listed in `Supported Tilt Plates`_ below. If your plate is not listed, check the
+   manufacturer's website for a technical drawing, or measure it yourself (centre to
+   screw). The thread type sets the pitch (mm per turn), which is only used to convert the
+   correction into a "number of turns" — an approximate radius still gives the correct
+   direction and a close magnitude.
+
+Modes explained
+---------------
+
+-  **Push-only (from zero)** — all values are shifted positive (minimum = 0). Use when
+   starting from a fully retracted / zeroed position. Recommended for first-time tuning
+   and for push-only plates like the ETA that cannot go negative.
+-  **Relative (± deltas)** — signed values to apply on top of the current position; the
+   values sum to zero (symmetric correction). Use for iterative fine-tuning when the
+   screws are already mid-range.
+
+Visual diagram
+--------------
+
+The diagram shows the tilt plate as seen from **behind the camera** (the side facing you
+when you stand behind the telescope). Points are color-coded: **red** = increase / push
+out; **blue** = decrease / pull in (4-point plates only). For 3-point plates (ETA):
+Point 1 is upper-right (rear view), Point 2 is bottom-centre, Point 3 is upper-left.
+
+.. figure:: /images/ekos_tilt_advisory_run1.jpg
+   :alt: Tilt Correction Advisory, first measurement
+
+   Aberration Inspector Run 1: total tilt 29 µm. The Tilt Correction Advisory shows Point
+   1 (upper-right) +0.119 mm (+0.2 turns), Point 2 (bottom) +0.231 mm (+0.5 turns), Point
+   3 no change. The ``Apply to ETA`` button sends these corrections directly to the ETA.
+
+4-point plate example
+---------------------
+
+For 4-point push/pull plates (e.g. the ToupTek M42 Tilter) the advisory shows corrections
+for all four corner screws. Each screw affects both tilt axes simultaneously because of
+the 45° corner geometry.
+
+.. figure:: /images/ekos_tilt_advisory_4point.jpg
+   :alt: 4-point plate advisory
+
+   Aberration Inspector with a 4-point plate selected (Radius 46.0 mm, Thread M4 fine
+   0.50 mm, Rotation 20°). All 5 tiles fit well (R² 0.91–0.98). Total tilt: 4 µm — nearly
+   perfect. The advisory shows tiny corrections (Screw 1 top-left −0.012 mm, Screw 4
+   bottom-right +0.012 mm) and an "apply all together, or Screw 1 alone −0.025 mm" note.
+
+
+Applying Corrections (WandererAstro ETA)
+=========================================
+
+The ETA M54 tilt plate
+----------------------
+
+The WandererAstro ETA M54 is a motorized 3-point tilt adjuster with three independent
+stepper motors and encoder feedback, 0–1.200 mm travel per point, 0.50 mm/turn thread
+pitch, 0.002 mm (2 µm) positioning accuracy, and USB-serial control via INDI.
+
+INDI control panel
+------------------
+
+When connected, the ETA appears in the INDI Control Panel with **Target Positions** (set
+each point 0.000–1.200 mm), **Current Positions** (real-time encoder readback),
+**Firmware** version, a **Zero All** action, and a **Backfocus Offset** that applies a
+uniform offset to all three points at once (handy for quickly compensating for the glass
+thickness of different filters).
+
+.. figure:: /images/ekos_tilt_eta_indi_panel.jpg
+   :alt: ETA INDI control panel
+
+   WandererAstro ETA M54 in the INDI Control Panel. Current positions show P1=0.200,
+   P2=0.400, P3=0.000 mm; firmware version 20251123.
+
+.. figure:: /images/ekos_tilt_eta_applied.jpg
+   :alt: ETA after applying corrections
+
+   ETA with a correction applied: P1=0.100, P2=0.330, P3=0.170 mm — different values per
+   point to compensate for sensor tilt.
+
+Automated apply
+---------------
+
+When the Aberration Inspector detects a connected ETA (and the plate is set to 3-point),
+the ``Apply to ETA`` button becomes active. Clicking it reads the current ETA positions,
+adds the advisory delta to each point, shifts all values to stay within 0.000–1.200 mm,
+and sends the targets sequentially (Point 1 → wait for arrival → Point 2 → …). A
+confirmation is displayed, e.g. "Applied to ETA: P1→X.XXX P2→X.XXX P3→X.XXX mm".
+
+.. figure:: /images/ekos_tilt_advisory_applied.jpg
+   :alt: After Apply to ETA
+
+   After clicking ``Apply to ETA`` the status shows "Applied to ETA: P1→0.119 P2→0.571
+   P3→0.065 mm. Run autofocus again to re-measure." and the button changes to "Done".
+
+
+Iterative Workflow
+==================
+
+Tilt correction is iterative — one pass rarely achieves perfect correction, due to
+mechanical hysteresis, measurement noise, and the simplification of treating tilt as
+purely planar.
+
+Recommended procedure
+---------------------
+
+#. Start with the ETA at zero (or all screws fully retracted for manual plates).
+#. **Run 1**: run the Aberration Inspector → read the tilt → apply the correction.
+#. **Run 2**: run again → the tilt should be significantly reduced.
+#. **Run 3** (if needed): fine-tune to reach the target.
+
+Example — real-world convergence
+--------------------------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 12 20 68
+
+   * - Run
+     - Total Tilt
+     - Action
+   * - 1
+     - 29 µm
+     - Applied P1=+0.119, P2=+0.231 mm
+   * - 2
+     - 6 µm
+     - Applied P1=+0.024, P2=+0.046 mm
+   * - 3
+     - 0 µm
+     - No change needed — perfect
+
+.. figure:: /images/ekos_tilt_run2.jpg
+   :alt: Run 2, tilt reduced to 6 µm
+
+   After the first correction, Run 2 shows total tilt reduced from 29 µm to just 6 µm.
+   The advisory now suggests much smaller adjustments (P1=+0.024, P2=+0.046 mm).
+
+.. figure:: /images/ekos_tilt_run3.jpg
+   :alt: Run 3, 0 µm tilt achieved
+
+   Run 3: total tilt 0 µm. All three points show "no change" — the sensor is
+   perpendicular to the optical axis. This is the target state.
+
+What counts as "good"?
+----------------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 22 20 58
+
+   * - Total Tilt
+     - Quality
+     - Notes
+   * - < 20 µm
+     - Excellent
+     - Indistinguishable from perfect in most images
+   * - 20–50 µm
+     - Good
+     - Adequate for most setups
+   * - 50–100 µm
+     - Acceptable
+     - OK for short focal length / fast scopes
+   * - > 100 µm
+     - Needs correction
+     - Visible star-shape degradation in corners
+
+Tips for convergence
+--------------------
+
+-  Use the **same star field** for each iteration (different fields can introduce noise).
+-  Wait for **stable seeing** — poor seeing adds noise to the tile measurements.
+-  Don't over-correct: if the advisory says 0.4 mm, consider applying 0.3 mm first.
+-  Fix **backfocus first** if ``Backfocus Δ`` is large (> 50 µm).
+-  Re-run after any mechanical change to the imaging train (camera rotation, filter swap).
+
+
+When Tilt Cannot Be Measured (Large Tilt)
+=========================================
+
+The problem
+-----------
+
+When sensor tilt is very large (> ~100 µm), some mosaic tiles' focus falls entirely
+outside the autofocus sweep range. Their V-curve cannot be fit (R² = 0.00, Solution = 0),
+and the precise tilt calculation returns **N/A** — the Aberration Inspector cannot safely
+report a tilt value. This typically happens when setting up a new imaging train for the
+first time, after the ETA has been zeroed or the tilt plate removed/reinstalled, or after
+a major mechanical change (camera swap, rotator adjustment).
+
+How it looks in the Aberration Inspector
+----------------------------------------
+
+Some tiles show "Solution: 0, R²: 0.00" and the Left-Right, Top-Bottom and Total Tilt all
+read **N/A**. The advisory diagram shows "No tilt data" and the ``Apply to ETA`` button is
+disabled.
+
+.. figure:: /images/ekos_tilt_notiltdata_run6.jpg
+   :alt: Aberration Inspector, no tilt data (Run 6)
+
+   Run 6: Top Left, Top Right and Bottom Right tiles failed to fit (Solution 0, R² 0.00,
+   0 usable stars). Only Centre (R²=0.50) and Bottom Left (R²=0.99) produced valid curves.
+   All tilt values read "N/A" and the diagram shows "No tilt data".
+
+.. figure:: /images/ekos_tilt_notiltdata_run8.jpg
+   :alt: Aberration Inspector, no tilt data with diverging curves (Run 8)
+
+   Run 8: same "No tilt data" state, but here three tiles fit (Centre R²=1.00, Bottom Left
+   R²=1.00, Bottom Right R²=0.79) while the two Top tiles still fail. Notice how the Bottom
+   Right curve (red) bottoms out far to the right of the others — a clear visual signature
+   of significant tilt, even though a precise value cannot be computed because the Top
+   tiles never reached focus.
+
+Guessing the direction from the focus sweep
+-------------------------------------------
+
+Even when a precise value is not available, you can often **guess the tilt direction by
+watching the focus sweep**. As the focuser moves through its range, the in-focus region
+of the sensor migrates across the field. If the sharp-star region moves from the upper
+part of the sensor to the lower part (or left to right) during the sweep, that tells you
+which edge reaches focus first — and therefore which way the sensor is tilted. The two
+frames below are from the **same sweep** at different focuser positions:
+
+.. figure:: /images/ekos_tilt_sweep_early.jpg
+   :alt: Focus sweep, early — upper tiles in focus
+
+   Early in the sweep (focuser ~6807): the sharp stars and their HFR values are
+   concentrated in the **upper** tiles, while the lower tiles are still out of focus. The
+   V-curve is just starting.
+
+.. figure:: /images/ekos_tilt_sweep_later.jpg
+   :alt: Focus sweep, later — centre/lower tiles in focus
+
+   Later in the same sweep (focuser ~6764): the sharp-star region has moved down into the
+   **centre and lower** tiles and the V-curve is nearly complete. The in-focus band
+   migrated from top to bottom, a strong hint that the sensor is tilted along the
+   top-bottom axis and which side to raise.
+
+What to do
+----------
+
+The advisory needs valid data on enough tiles to compute a correction. When you are in the
+"No tilt data" state, reduce the tilt manually until the far tiles come back within the
+autofocus sweep:
+
+#. **Estimate the direction** from the focus sweep (above) or from which corners are sharp
+   vs. bloated in a full-frame image.
+#. **Apply a small manual correction** to the ETA (or tilt screws) in that direction — move
+   the point on the side that is furthest from focus.
+#. **Re-run the Aberration Inspector.** Once all tiles fit within the sweep, the precise
+   tilt calculation returns and you can proceed with the normal iterative workflow above.
+
+.. note::
+
+   An automated coarse pre-correction advisory (which estimates the direction for you when
+   precise measurement fails) is under development but still needs more testing before it
+   is documented here.
+
+
+Verification with External Tools
+=================================
+
+After achieving good tilt correction in Ekos you can verify with external analysis tools
+that process full-frame images (CCDInspector, ASTAP, and similar). These measure HFD (Half
+Flux Diameter) across the entire frame and report a tilt metric. A well-corrected sensor
+shows uniform HFD across all corners, a tilt percentage under ~5% (typically < 3% for
+excellent correction), and off-axis aberration as the dominant remaining factor rather than
+tilt.
+
+.. figure:: /images/ekos_tilt_focus_wellfocused.jpg
+   :alt: Well-focused field after tilt correction
+
+   After successful tilt correction: 100 detected stars with HFR 1.31 and uniform focus
+   across the field — the end result of the iterative workflow.
+
+.. figure:: /images/ekos_tilt_external_analysis.jpg
+   :alt: External tilt analysis
+
+   External analysis of a corrected frame: 1269 stars, median HFD 2.8, Tilt[HFD] 0.10 (3%,
+   classified "none"), off-axis aberration 0.03. The per-tile median HFD values range only
+   from 2.79 to 2.89 — extremely uniform.
+
+.. figure:: /images/ekos_tilt_external_m31.jpg
+   :alt: M31 frame with corner HFD values
+
+   M31 single frame with corner HFD values: TL 2.12, TR 2.14, Centre 2.16, BL 2.15, BR
+   2.17. The 0.05 variation across the field is negligible — within seeing-limited
+   uniformity.
+
+
+Reference Tables
+================
+
+.. _supported-tilt-plates:
+
+Supported Tilt Plates
+---------------------
+
+**Any 3-point or 4-point tilt plate is supported** — you only need to tell the advisory the
+plate's bolt-circle radius and screw thread. The values below are known reference figures.
+For plates not listed (or to confirm any value), check the manufacturer's website for a
+technical drawing, or measure the plate yourself (centre of plate to an adjustment screw =
+radius).
+
+.. list-table::
+   :header-rows: 1
+   :widths: 26 20 12 20 22
+
+   * - Plate
+     - Type
+     - Radius
+     - Thread/Pitch
+     - Notes
+   * - WandererAstro ETA M54
+     - 3-point motorized
+     - 64.0 mm
+     - 0.50 mm/turn
+     - Automated Apply; radius/pitch auto-locked when detected
+   * - ZWO Tilt Plate (M42/M48/M54/M68)
+     - 3-point manual
+     - 40.0 mm
+     - Check drawing
+     - Radius consistent across ZWO's thread sizes
+   * - ToupTek M42 Tilter (Ø100 mm)
+     - 4-point push/pull
+     - 46.0 mm
+     - M4 push (0.70 mm)
+     - Screws on Ø92 mm circle; use the push-screw pitch
+   * - Octopi tilt ring
+     - 3-point manual
+     - Varies
+     - M3 (0.50 mm)
+     - Measure your specific unit
+   * - Generic 3-/4-screw plate
+     - 3- or 4-point manual
+     - Measure
+     - Measure/drawing
+     - Any plate works — supply radius + pitch
+
+.. tip::
+
+   Manufacturer technical drawings usually give the screw positions in mm from the optical
+   axis — that distance is exactly the radius the advisory needs. If no drawing is
+   available, a caliper measurement from the plate centre to a screw is accurate enough
+   (the correction direction is unaffected by small radius errors, and the magnitude scales
+   gently).
+
+Thread pitch reference
+----------------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 40 60
+
+   * - Thread
+     - Pitch (mm/turn)
+   * - M2.5
+     - 0.45
+   * - M3
+     - 0.50
+   * - M3 fine
+     - 0.35
+   * - M4
+     - 0.70
+   * - M4 fine
+     - 0.50
+   * - M5
+     - 0.80
+   * - M5 fine
+     - 0.50
+   * - M6
+     - 1.00
+   * - Wanderer ETA
+     - 0.50
+
+ETA M54 specifications
+----------------------
+
+.. list-table::
+   :header-rows: 1
+   :widths: 40 60
+
+   * - Parameter
+     - Value
+   * - Connection
+     - USB 2.0 Type-B, CH340, 19200 baud
+   * - Travel per point
+     - 0–1.200 mm
+   * - Accuracy
+     - 0.002 mm (2 µm)
+   * - Motor resolution
+     - 0.3 µm/step
+   * - Bolt-circle radius
+     - 64.0 mm
+   * - Thread pitch
+     - 0.50 mm/turn
+   * - Weight
+     - 470 g
+   * - Operating temperature
+     - -25°C to 50°C
+   * - Power
+     - USB 5V 0.5A
+   * - INDI driver
+     - ``indi_wanderer_eta``
+   * - Device name
+     - "Wanderer ETA M54"
diff --git a/user_manual/ekos.rst b/user_manual/ekos.rst
index f4582fb1..fe29d321 100755
--- a/user_manual/ekos.rst
+++ b/user_manual/ekos.rst
@@ -68,6 +68,7 @@ Features:
     ekos-logs
     ekos-capture
     ekos-focus
+    ekos-tilt-correction
     ekos-guide
     ekos-align
     ekos-scheduler
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.