|
| 1 | +--- |
| 2 | +title: Wanderer ETA M54 |
| 3 | +categories: ["auxiliaries"] |
| 4 | +description: INDI driver for the WandererAstro ETA M54 Electronic Tilt Adjuster, a 3-point motorized tilt adjustment device for optical train collimation. |
| 5 | +thumbnail: ./wanderer-eta.webp |
| 6 | +--- |
| 7 | + |
| 8 | +## Overview |
| 9 | + |
| 10 | +The Wanderer ETA M54 is an ultra-thin (5mm) electronic tilt adjuster with three independently motorized adjustment points. It mounts between optical train components using M54 threads and allows precise tilt correction with 0.001mm resolution over a 0–1.200mm range per point. |
| 11 | + |
| 12 | +The INDI driver communicates via USB serial (CH340 chip, 19200 baud) and provides independent control of all three tilt adjustment motors with real-time encoder position feedback. |
| 13 | + |
| 14 | +## Features |
| 15 | + |
| 16 | +- 3 independent motor position controls (0.000–1.200mm range, 0.001mm step) |
| 17 | +- Real-time encoder position readback |
| 18 | +- Zero All function to return all motors to home position |
| 19 | +- Configuration save/restore (positions are remembered across sessions without triggering motor movement on reconnect) |
| 20 | +- Position verification via continuous status stream polling |
| 21 | + |
| 22 | +## Connection |
| 23 | + |
| 24 | +Connect the Wanderer ETA M54 to a USB port. The device uses a CH340 USB-to-serial adapter. |
| 25 | + |
| 26 | +1. In the **Connection** tab, select the serial port (typically `/dev/ttyUSB0`) |
| 27 | +2. Baud rate is fixed at 19200 (configured automatically) |
| 28 | +3. Click **Connect** |
| 29 | + |
| 30 | +The driver reads the device's continuous status stream to verify the connection and displays the firmware version. |
| 31 | + |
| 32 | +> [!TIP] |
| 33 | +> On Linux, if you get permission errors, add your user to the `dialout` group (Debian/Ubuntu) or `uucp` group (Arch Linux): |
| 34 | +> ``` |
| 35 | +> sudo usermod -aG dialout $USER |
| 36 | +> ``` |
| 37 | +> Then log out and back in. |
| 38 | +
|
| 39 | +## Main Control |
| 40 | +
|
| 41 | + |
| 42 | +
|
| 43 | +### Target Positions |
| 44 | +
|
| 45 | +Each motor point has its own target position property with an individual **Set** button: |
| 46 | +
|
| 47 | +- **Point 1 Target** — Set position for motor 1 (0.000–1.200mm) |
| 48 | +- **Point 2 Target** — Set position for motor 2 (0.000–1.200mm) |
| 49 | +- **Point 3 Target** — Set position for motor 3 (0.000–1.200mm) |
| 50 | +
|
| 51 | +Each motor moves independently. Setting one point does not affect the others. |
| 52 | +
|
| 53 | +### Current Positions |
| 54 | +
|
| 55 | +The **Current Positions** group shows real-time encoder readback from all three motors. These values update automatically every 2 seconds and reflect the actual physical position of each adjustment point. |
| 56 | +
|
| 57 | +### Zero All |
| 58 | +
|
| 59 | +The **Zero All Points** button moves all three motors to the 0.000mm position sequentially. Use this to return the device to a flat (no tilt) state. |
| 60 | +
|
| 61 | +### Firmware |
| 62 | +
|
| 63 | +Displays the firmware version reported by the device. |
| 64 | +
|
| 65 | +## Operation |
| 66 | +
|
| 67 | +### Adjusting Tilt |
| 68 | +
|
| 69 | +1. Connect to the device |
| 70 | +2. Set the desired position for one or more points using the individual target fields |
| 71 | +3. Click **Set** next to the point you want to move |
| 72 | +4. The motor moves to the target position; readback updates in real-time |
| 73 | +5. Repeat for other points as needed |
| 74 | +
|
| 75 | +The driver waits for each motor to reach its target (within ±0.005mm tolerance) before reporting completion. |
| 76 | +
|
| 77 | +### Saving Configuration |
| 78 | +
|
| 79 | +To preserve your tilt settings across sessions: |
| 80 | +
|
| 81 | +1. Set all points to the desired positions |
| 82 | +2. Go to **Options** → **Save Configuration** |
| 83 | +
|
| 84 | +On the next connection, the saved positions are restored as targets without triggering any motor movement. Motors only move when you explicitly click **Set** or **Zero All**. |
| 85 | +
|
| 86 | +> [!IMPORTANT] |
| 87 | +> The device does not have absolute position memory across power cycles. When powered on, the motors report their physical position from the encoders. The saved INDI configuration stores your last-used target values for convenience. |
| 88 | +
|
| 89 | +## Troubleshooting |
| 90 | +
|
| 91 | +| Symptom | Cause | Solution | |
| 92 | +|---------|-------|----------| |
| 93 | +| Timeout reading from device | ETA not powered or wrong port | Check USB connection, verify port in `dmesg` | |
| 94 | +| Unknown device identifier | Wrong WandererAstro device on port | Ensure the ETA (not rotator/cover) is selected | |
| 95 | +| Permission denied | User not in serial group | Add user to `dialout` or `uucp` group | |
| 96 | +| Motor does not reach target | Mechanical obstruction | Check optical train for binding; reduce target value | |
| 97 | +
|
| 98 | +## Hardware Specifications |
| 99 | +
|
| 100 | +| Parameter | Value | |
| 101 | +|-----------|-------| |
| 102 | +| Interface | USB (CH340 serial adapter) | |
| 103 | +| Baud Rate | 19200 | |
| 104 | +| Thread | M54 × 0.75 | |
| 105 | +| Thickness | 5mm | |
| 106 | +| Travel Range | 0–1.200mm per point | |
| 107 | +| Resolution | 0.001mm | |
| 108 | +| Adjustment Points | 3 (120° spacing) | |
| 109 | +| Power | USB bus powered | |
0 commit comments