C#CArduino

EQ Focuser

By Everett Quebral
Picture of the author
Published on
image alt text
image alt text
image alt text
image alt text

đź”­ EQFocuser: Precision Electronic Focuser for Astrophotography

EQFocuser is a custom-built, ASCOM-compatible motorized focuser designed to provide precise, temperature-compensated, automated focusing for astrophotography rigs. Created for hobbyists and enthusiasts who demand accuracy and automation from their imaging sessions, EQFocuser offers a reliable, customizable solution for achieving critical focus—especially for deep-sky and narrowband imaging.

Built with Arduino hardware and a C# ASCOM driver, EQFocuser integrates directly into astrophotography workflows using tools like NINA, Sequence Generator Pro (SGP), and other ASCOM-aware applications.


🛠️ Why I Built This

Manual focusing during astrophotography, especially in varying nighttime temperatures, introduces inconsistencies that can ruin an imaging session. Commercial electronic focusers are often expensive or limited in compatibility. I designed EQFocuser as an open-source, budget-friendly, and adaptable alternative with full ASCOM support.


đź”§ Key Features

  • ASCOM Focuser Compatibility
    Seamlessly integrates with Windows-based astrophotography software like NINA, SGP, and SharpCap using the ASCOM platform.

  • Microstepping Precision via Stepper Motor
    Uses A4988 or DRV8825 stepper drivers to achieve microstepping focus control for sub-millimeter accuracy.

  • Customizable Focus Travel and Limits
    Allows users to define min/max travel limits and microsteps per millimeter for compatibility with various focusers (Crayford, Rack & Pinion, etc.).

  • Temperature Compensation (Optional)
    Supports a temperature sensor (e.g., Dallas DS18B20) to track temperature changes and adjust focus accordingly over long sessions.

  • Backlash Compensation
    Software-enabled backlash handling ensures accurate bidirectional focusing—a crucial feature when changing directions during autofocusing.

  • USB Connectivity via Arduino Nano
    Connects over USB to your PC, where the ASCOM driver interfaces with your control software.

  • DIY-Friendly and Affordable
    Uses off-the-shelf components and is easy to build for under $40 USD.


🧰 What’s Included

  • âś… Arduino firmware for USB communication and stepper control
  • âś… Custom ASCOM driver built in C#
  • âś… Wiring diagrams and component list
  • âś… ASCOM driver installer and source code
  • âś… Basic instructions for NINA and SGP integration
  • âś… STL mount files (optional: upload to GitHub)

⚙️ Hardware Requirements

  • Arduino Nano (ATmega328P-based)
  • Stepper motor (e.g., NEMA 17)
  • Stepper driver (A4988 or DRV8825)
  • Temperature sensor (DS18B20, optional)
  • External 12V power supply
  • Pulley or flexible shaft coupler (based on focuser type)
  • USB cable for Arduino
  • Mount/bracket for stepper motor (3D printed or machined)

đź’ˇ Software Stack

LayerTechnology
ControllerArduino C++ firmware
Driver InterfaceASCOM (C# .NET Driver)
Host IntegrationNINA, SGP, SharpCap
ProtocolASCOM Focuser API

🪛 Installation and Setup

  1. Flash the Arduino Nano
    Upload the firmware from the firmware folder using Arduino IDE.

  2. Install the ASCOM Platform
    Download and install ASCOM Platform.

  3. Install EQFocuser Driver
    Run the .exe installer from the driver folder to register the focuser.

  4. Connect to Imaging Software
    Open NINA or SGP, go to the focuser settings, and choose "EQFocuser" as the device.

  5. Configure Steps per mm
    Use your software's settings to tune the steps per revolution, backlash, and temperature compensation.


📸 Real-World Use

I’ve used EQFocuser in live astrophotography sessions under various conditions with my Explore Scientific ED127mm triplet APO and ZWO ASI1600MM Pro camera. Focus precision was maintained throughout long exposures and filter changes, especially when using narrowband filters where focus shifts are significant. Autofocus routines performed via NINA showed repeatable, stable V-curves even over several hours.


🤝 Open Source & Community

EQFocuser is entirely open-source. Whether you're a maker, an astrophotographer, or just curious, feel free to fork, contribute, or adapt the project to your own telescope. I welcome community improvements and would love to see this adapted to more platforms—such as INDI for Linux users.

đź”— GitHub Repo: github.com/EverettQuebral/EQFocuser


📌 Future Plans

  • Support for INDI and Linux integration
  • OLED display showing position and temperature
  • WiFi/ESP32 version for cable-free setups
  • Support for absolute position encoding
  • 3D printable enclosure and geared mount for Crayford focusers

Stay Tuned

Want to become a Next.js pro?
The best articles, links and news related to web development delivered once a week to your inbox.