
Introduction to Master Interfaces
This is intended to be our master generic document for the ASCOM interfaces. The interface specifications are written using language and OS independent syntax. For more information see the ASCOM Initiative web site (external) specifically the ASCOM Implementation Neutral Interface Definitions (external). For info contact Bob Denny on the ASCOM Developers Forum.
Status of This Document (1.0.15 as of 12-Sep-2025)
This is an update to the first production release of this document. Camera image array shaping and encoding has been clarified. Rotator operation was clarified with diagrams. A requirement for internal wrap management has been added as a result of new rotators without this appearing and causing confusion and limitations. No interface changes were made. The clarifying FAQ articles represent the ASCOM Platform 7 specifications. A new FAQ What do we mean by the terms Mandatory, Optional and Deprecated? has been added. Datatype specifics have been included. Consider this a living document. Inevitably, corrections and requests for clarifications will be applied during its lifetime. Significant corrections will be logged here in the future.
Data Types Used in This Document
Throughout the interface definitions, parameter and other numeric values are
assigned generic datatypes integer
, float
, list
, and array
.
Please see ASCOM Implementation Neutral Interface Definitions for COM and and
Alpaca API Reference (external) for Alpaca implementation
specific detail.
In this document the scalar types integer
and float
are considered
signed and do not imply restrictions on their permitted values. If there are
value restrictions, they are either commonly understood (e.g., range of angles)
or specifically mentioned in the value’s documentation. The specifics of an
interface in a particular language may differentiate between similar scalar type
in that language such as 16-, 32-, or 64-bit signed or unsigned integers.
A list
is a single string of comma-separated substrings. An array
is an
indexable and enumerable set of values. Array syntax and usage is language
specific.
Common Misconceptions and Confusions
Throughout the evolution of ASCOM, and particularly recently with Alpaca, our goal has been to provide a strong framework for reliability and integrity. We see newcomers to programming looking for help on the ASCOM Driver and Application Development Support Forum (external). There are a few subject areas within which misconceptions and confusion are common. Before starting a development project you may benefit from reviewing the following design principles that are foundational:
The General Principles (external)
Asynchronous APIs (external)
Exceptions in ASCOM (external)