Generic INDI drivers for ASCOM Alpaca-compatible devices + Seestar-specific extensions
This project provides:
- Generic INDI Alpaca drivers - Work with any ASCOM Alpaca-compatible device
- Seestar-specific drivers - Enhanced drivers for ZWO Seestar S50/S30 Pro smart telescopes
All drivers communicate via the standard ASCOM Alpaca REST API (default port 32323) and are compatible with KStars, Ekos, and any INDI-compatible application.
Work with any ASCOM Alpaca-compatible device:
- indi_alpaca_telescope - Mount control (slewing, tracking, parking)
- indi_alpaca_ccd - Camera control (imaging, gain, temperature)
- indi_alpaca_filterwheel - Filter wheel control
- indi_alpaca_focuser - Focuser control (absolute/relative positioning)
- indi_alpaca_dome - Dome/observatory control
Inherit from generic drivers with Seestar enhancements:
- indi_seestar_telescope - Enhanced for Seestar S50/S30 Pro with:
- Adjustable guide rates for autoguiding and dithering (v1.1.2-1+)
- Device status display (model, firmware, SSID, state)
- Dew heater control (v1.1.2-1+)
- PulseGuide support for dithering (v1.1.2-1+)
- S30 Pro dual camera/focuser support (telephoto + wide-angle)
The Seestar drivers leverage features added in December 2025 firmware:
β
PulseGuide & IsPulseGuiding - Autoguiding and dithering support
β
Adjustable Guide Rates - Control PulseGuide speed via INDI
β
Park/Unpark - Full parking support
β
S30 Pro Wide-Angle - Dual camera/focuser (device 0=tele, 1=wide)
β
Switch Module - Dew heater control
β
Device SSID - Shown in device info
β
Web update interface (accessed via Alpaca web UI)
β
Improved time synchronization
Note: Seestar does NOT support custom Alpaca actions. All features use standard ASCOM Alpaca endpoints.
Generic Alpaca Drivers: Beta quality - tested with multiple Alpaca devices
Seestar Drivers: Alpha quality - actively being enhanced
- β All generic drivers built and functional with standard Alpaca devices
- β Seestar telescope driver with v1.1.2-1 feature support
- β API compatibility verified (48/52 GET methods working on Seestar)
- π Seestar CCD, focuser, filterwheel drivers planned
- π Integration testing with KStars/Ekos
- π Bug reports and feedback welcome
- ZWO Seestar S50 (Alpaca v1.1.2-1, v1.2.0-3)
- Generic Alpaca simulators and devices
- Connection management and device discovery
- RA/Dec and Alt/Az positioning
- Slewing, tracking, and parking
- Multiple tracking modes (Sidereal, Lunar, Solar)
- Manual axis movement and guide rates
- Sync and alignment support
- Site location (latitude/longitude) query and configuration
- Image capture with configurable exposure
- Gain and offset control
- Subframe/ROI support
- Temperature monitoring
- Abort capability
- Multiple image formats
- Multi-position filter wheel support
- Filter naming and identification
- Focus offset management
- Position tracking
- Absolute and relative positioning
- Temperature monitoring
- Halt capability
- Position tracking
- Azimuth control
- Shutter control (open/close)
- Park and home operations
- Telescope slaving
- Abort capability
Note: Actual capabilities depend on your specific Alpaca device implementation. Not all devices support all features.
# On Debian/Ubuntu/StellarMate:
sudo apt-get update
sudo apt-get install build-essential cmake libindi-dev libcfitsio-devcd indi-alpaca
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make installcd indi-seestar
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make installThis installs:
- Drivers to
/usr/local/bin/ - Configuration to
/usr/local/share/indi/
Note: Seestar drivers require the Alpaca drivers to be built first (used as base classes).
# Generic Alpaca drivers (for any Alpaca device):
indiserver -v indi_alpaca_telescope indi_alpaca_ccd indi_alpaca_filterwheel indi_alpaca_focuser
# Seestar-specific driver (for ZWO Seestar):
indiserver -v indi_seestar_telescope indi_alpaca_ccd indi_alpaca_filterwheel indi_alpaca_focuser
# Individual drivers:
indiserver -v indi_seestar_telescope
indiserver -v indi_alpaca_ccdFor Seestar S50/S30 Pro:
- Configure Server Address:
- Host:
seestar.local(or your Seestar's IP address) - Port:
32323(Alpaca default) - Device Number:
0(main telescope/camera),1(S30 Pro wide-angle, if available)
- Host:
For Generic Alpaca Devices:
-
Configure Server Address:
- Host: Your Alpaca device hostname or IP address
- Port:
32323(default Alpaca port, check your device) - Device Number: Usually
0(check your device documentation)
-
Connect: Set CONNECTED property to ON
-
Ready: All device properties will populate automatically
After connecting with indi_seestar_telescope:
- Status Tab: View model, firmware, SSID, filter, temp, and state
- Options Tab > Guide Rates: Adjust RA/Dec guide rates (0.0-1.0) for autoguiding
- Main Control > Dew Heater: Toggle dew heater (requires Switch module)
- Refresh Button: Update all Seestar status information
- Start INDI server:
indiserver -v indi_seestar_telescope indi_alpaca_ccd indi_alpaca_filterwheel indi_alpaca_focuser - In Ekos Equipment Profile:
- Mount: "Seestar Telescope"
- Camera: "Alpaca CCD"
- Filter Wheel: "Alpaca FilterWheel"
- Focuser: "Alpaca Focuser"
- Configure connection to
seestar.local:32323, device0 - Enable guiding with adjustable guide rates
- Connect and start imaging!
- Start INDI server with generic drivers
- In Ekos Equipment Profile:
- Mount: "Alpaca Telescope"
- Camera: "Alpaca CCD"
- Filter Wheel: "Alpaca FilterWheel"
- Focuser: "Alpaca Focuser"
- Dome: "Alpaca Dome"
- Configure connection settings for each device
- Connect and start imaging!
Detailed documentation available in the docs/ folder:
- Supported.Common.md - Common ASCOM methods
- Supported.Telescope.md - Telescope methods
- Supported.Camera.md - Camera methods
- Supported.FilterWheel.md - FilterWheel methods
- Supported.Focuser.md - Focuser methods
- CCD_DRIVER_STATUS.md - CCD driver implementation details
- FILTERWHEEL_DRIVER_STATUS.md - FilterWheel driver details
- Seestar_Alpaca_Changelog.txt - Seestar firmware changelog
- indi-seestar/README.md - Seestar driver architecture and implementation
- Test results showing 48/52 GET methods working on Seestar v1.1.2-1
The drivers implement the ASCOM Alpaca API specification. Specific device capabilities may vary based on the hardware implementation.
The alpaca-tests/ directory contains validation programs:
cd alpaca-tests
mkdir build && cd build
cmake ..
make
# Run individual tests:
./alpaca_discovery_test
./telescope_complete_test seestar.local
./seestar_methods_test seestar.local # Test Seestar-specific features
./camera_methods_test
./filterwheel_methods_test
./focuser_methods_testSee alpaca-tests/README.md for complete test program documentation.
Comprehensive testing on Seestar S50 v1.1.2-1:
- β 48 of 52 GET methods working (92% success rate)
- β All capability queries functional
- β Position, tracking, and status queries operational
- β Park/Unpark working
- β PulseGuide and guide rates working
- β Custom actions not supported (method_sync/method_async return error 1036)
- β Alt/Az slewing not implemented (canslewaltaz=false)
- Device capabilities vary by manufacturer and firmware
- Some optional ASCOM methods may not be implemented by all devices
- Error handling depends on device firmware quality
- Coordinate updates may be slow during rapid slewing
- No custom actions: Seestar does not support ASCOM action extensions (error 1036)
- No Alt/Az slewing: Only equatorial (RA/Dec) coordinates supported
- No SiteElevation: Throws exception in v1.1.2-1+ (not supported)
- Dew heater control: Requires Switch module API (placeholder in driver)
- S30 Pro wide-angle: Requires device number
1for wide-angle camera/focuser
- Seestar drivers inherit from generic Alpaca drivers
- All Seestar features use standard ASCOM Alpaca endpoints
- No special protocol extensions needed
Check your device's documentation for specific capabilities and limitations.
Contributions welcome! This project is in active development.
How to help:
- Test the drivers with your Alpaca devices or Seestar
- Report bugs via GitHub Issues
- Submit pull requests with fixes or enhancements
- Improve documentation
- Test Seestar-specific features and firmware updates
Priority Areas:
- Seestar CCD driver implementation
- Seestar focuser and filterwheel drivers
- Switch module integration for dew heater
- S30 Pro dual camera/focuser testing
indi-seestar/
βββ indi-alpaca/ # Generic Alpaca drivers (base classes)
β βββ indi_alpaca_telescope.cpp/.h
β βββ indi_alpaca_ccd.cpp/.h
β βββ indi_alpaca_filterwheel.cpp/.h
β βββ indi_alpaca_focuser.cpp/.h
β βββ indi_alpaca_dome.cpp/.h
β βββ alpaca_telescope_base.cpp # Library version for inheritance
β βββ indi_alpaca.xml
βββ indi-seestar/ # Seestar-specific drivers
β βββ indi_seestar_telescope.cpp/.h
β βββ indi_seestar.xml
β βββ CMakeLists.txt
β βββ README.md
βββ indi-switchbot/ # SwitchBot auxiliary driver
βββ alpaca-tests/ # API validation test programs
β βββ seestar_methods_test.cpp # Seestar feature testing
β βββ ...
βββ docs/ # Detailed documentation
β βββ Supported.*.md # API support matrices
β βββ Seestar_Alpaca_Changelog.txt # Seestar firmware history
βββ samples/ # Sample code and API docs
βββ README.md # This file
- INDI Library - INDI framework
- ASCOM Alpaca API - API specification
- ASCOM Initiative - Standards organization
- KStars/Ekos - Astronomy software
- ZWO Seestar - Smart telescope
- Seestar Alpaca Changelog - Firmware updates
LGPL-2.1 License - See individual source files for details.
- INDI development team for the excellent framework
- ASCOM Initiative for the Alpaca API standard
- ZWO for Seestar Alpaca implementation and documentation
- Contributors to Alpaca-compatible device firmware
- StellarMate for testing platform
This is an independent open-source project providing generic ASCOM Alpaca protocol drivers with optional Seestar enhancements. Use at your own risk. Always ensure your equipment is properly set up and supervised during automated operations.
ASCOM Alpaca Protocol: v1
INDI Library Version: 2.1.7
Seestar Firmware Tested: v1.1.2-1, v1.2.0-3
Last Updated: February 3, 2026