Hayden Geiger

// Shipped · 2025–2026

Dual-axis star tracking mount

Built a battery-powered dual-axis (alt-azimuth) star tracking mount — NEMA 17 steppers through 71:1 planetary gearboxes, closed-loop encoders, a custom ESP32 board and a Wi-Fi web UI — and validated tracking with a GoPro and an iPhone.

ESP32 Wi-Fi2× NEMA 1771:1 planetaryTMC2209AS5600 closed-loopSamsung 50E + Daly BMS
The assembled dual-axis mount — a 3D-printed altitude fork on an azimuth base, driven by a stepper motor through a planetary gearbox labelled 1:71.
Assembled dual-axis mount — 1:71 planetary gearbox

What it does

Long exposures of the night sky have to fight Earth’s rotation — leave the shutter open and stars smear into arcs. This mount cancels that motion: two motorised axes turn the camera at the sidereal rate so a multi-minute exposure still records stars as points. It’s built to carry a small telescope; so far it’s been validated with a GoPro and an iPhone.

Two versions

V1 — single-axis equatorial (summer 2025). A two-stage 3D-printed planetary reduction on one axis, aligned to Earth’s pole so a single constant-rate drive follows the sky. It proved the concept, but one axis limits where you can point and how long you can hold a target before re-aligning.

V1 — the single-axis equatorial mount: a tall 3D-printed housing with an early D-pad controller cut-out, beside the first prototype control board.

V2 — dual-axis alt-azimuth (winter 2025–26). Two NEMA 17 steppers, each through an off-the-shelf three-stage 71:1 planetary gearbox, giving 360° of continuous azimuth and 180° of altitude. Alt-az is the harder control problem: unlike an equatorial mount’s single fixed rate, both axes have to be driven at continuously changing, computed rates to hold a star — so most of the difficulty moved into firmware.

V2 build — the azimuth turntable and 3D-printed bearing, the assembled control board, and the spot-welded 21700 pack on the bench.

Motion and precision

The NEMA 17s run 200 steps/rev at 1/256 microstepping — 51,200 microsteps per motor revolution — and the 71:1 gearbox takes that to a sub-arcsecond step size at the axis. Sidereal tracking only needs tens of microsteps per second, so the commanded resolution sits well below the mechanical error floor. Both axes run on TMC2209 drivers over UART.

Closed loop

The controller doesn’t trust the steppers blind:

  • AS5600 magnetic encoders on each axis check commanded position against actual.
  • Hall sensors home each axis at power-on.
  • DS3231 RTC, MPU6050 IMU and BMM150 magnetometer give it time, level and true north — the inputs a Polaris / two-star alignment needs to establish where the mount is pointed.

Electronics and control

One custom ESP32 board carries the stepper-driver sockets, I²C sensor connectors and power regulation (12 V → 5 V → 3.3 V). Control is entirely wireless — the ESP32 hosts a web server, so the mount is driven from a phone or laptop browser over Wi-Fi. There’s no dedicated hand controller to build, carry, or keep charged.

Power

A custom lithium-ion pack, built from Samsung 50E cells and managed by a Daly BMS, runs a full session in the field. A voltage divider into the ESP32’s ADC turns pack voltage into a state-of-charge readout streamed to the same web interface — so remaining runtime is visible in the browser, right next to the tracking controls.

Validated with

A GoPro and an iPhone 15 Pro. The Milky Way core in the gallery is a single tracked 30-second exposure on the iPhone 15 Pro — long enough that, without tracking, the stars would visibly trail across the frame. A telescope payload is the design target.

All projects