ASCOM is a standard developed for interfacing computers and telescopes. From the ASCOM web site:

The ASCOM Initiative is a loosely-knit group of developers and astronomical instrument makers that work together to bring vendor-independent and language-independent plug-and play compatibility between astronomy software and astronomical instruments on Windows computers. ASCOM stands for the Astronomy Common Object Model.

Developers of astronomical software can use the ASCOM standard to allow their software to talk to any kind of telescope that includes an ASCOM-compliant driver, eliminating the need to develop a separate interface for each popular type of telescope out there. The remainder of this page describes the ASCOM driver I wrote for my digital setting circles project.


This ASCOM driver allows the use of a variety of commercial and homebrew passive encoder-based digital setting circles systems with any Windows software that supports the ASCOM standard. This driver works with either alt-az mounts (like a dobsonian) or equatorial mounts. Equatorial mounts do not need to be accurately polar-aligned (although an accurate polar alignment will likely lead to a more satisfying observing experience).

This driver will not work with equatorial platforms.

The driver requires that ASCOM Platform 6 (0r newer) is installed on your computer. It also requires Microsoft .Net 3.5 or higher.

Download the ASCOM driver for Digital Setting Circles

Supported Hardware

(Not all of these systems have been tested, but all should work with this driver.)

  • Celestron Advanced AstroMaster
  • Dave Ek’s Digital Setting Circles
  • David Chandler Co. Deep Space Navigator
  • Discovery Digital Setting Circles
  • Lumicon Sky Vector
  • Mountain Instruments Star Pilot
  • Nova Astro Micro-Guider III
  • Nova Astro Micro-Guider 5
  • Orion Sky Wizard 2 and 3
  • Orion Intelliscope
  • Ouranos
  • Software Bisque BBox
  • Tele Vue Sky Tour

Setup and Configuration

1) If you have not already done so, run the installer for this driver to install it on your computer.

2) Consult the documentation for your preferred astronomy software package (e.g. TheSky, Cartes du Ciel, Hallo Northern Sky) for instructions on accessing the ASCOM Chooser dialog box. The ASCOM chooser looks like this:

ASCOM Chooser

3) Select “Tangent-Compatible Digital Setting Circles” from the drop-down list, and then click the Properties button. The Setup dialog box will appear:

Setup Dialog Box

4) In the Settings dialog box, enter the following information:

Telescope Info:

Name: a name for your telescope (optional)
Description: a description of your telescope (optional)
Mount: the type of telescope mount you’re using (alt-az, German equatorial, or other equatorial) (optional)
Focal length: the focal length in meters (optional)
Aperture Dia: the diameter of your telescope’s aperture in meters (optional)
Aperture Area: the unobstructed area of your telescope’s aperture in square meters (optional)

Encoder Info:

Interface type: the type of encoder interface between your computer and your telescope (required)
RA/Azimuth Ticks/Rev: the number of encoder tics (in quadrature mode) traversed as your telescope makes one complete turn on its RA/azimuth axis (required)
DEC/Altitude Ticks/Rev: the number of encoder tics (in quadrature mode) traversed as your telescope makes one complete turn on its DEC/altitude axis (required)
Serial Port: the serial port to which your encoder interface is connected (required). The Serial Port field can be edited if necessary. Some bluetooth drivers don’t write their port names into the registry correctly, which can result in the names appearing incorrectly in the list of ports. If this happens to you, manually edit the name so that it is correct.

Reverse Encoder Counts?:

Altitude: checking this box causes this software driver to reverse the rotational sense of the encoder counts returned for the DEC/altitude encoder. This box should normally be left unchecked. Check this box only if you cannot obtain an accurate alignment any other way.
Azimuth: checking this box causes this software driver to reverse the rotational sense of the encoder counts returned for the RA/azimuth encoder.
Test button: clicking the Test button will guide you through a test of your encoder system to determine whether the Azimuth checkbox needs to be checked. The test is not foolproof, so if you cannot obtain an accurate alignment using the recommended settings, you’ll need to experiment to find the correct settings.

Site Info:

Latitude: the latitude of your observing location, as degrees, minutes, and seconds. Optional, but required for accurate calculation of azimuth, altitude, and sidereal time.
Longitude: the longitude of your observing location, as degrees, minutes, and seconds. Optional, but required for accurate calculation of azimuth, altitude, and sidereal time.
Elevation: observing site elevation above sea level, in meters.

Click the OK button when all settings have been entered. The settings will be saved for subsequent sessions.

Alignment and Use

Connecting to your telescope will result in the driver guiding you through the alignment process:

1) First, you’ll be asked to move your telescope so that its declination (for an equatorial telescope) or altitude (for an alt-az telescope) is approximately zero:

First Alignment Step

Note that extreme accuracy is not required. After pointing the telescope as instructed, click the Continue button.

2) Next, you’ll be asked to move your telescope so that its declination (for an equatorial telescope) or altitude (for an alt-az telescope) is approximately ninety degrees:

Second Alignment Step

Again, extreme accuracy is not required. After pointing the telescope as instructed, click the Continue button.

3) Next you’ll choose two stars to use for the alignment process. First, you’ll be presented with the following window:

Third Alignment Step

First, select a constellation from the drop-down list. Then click on one of the five-pointed alignment stars to select that star for alignment. Next, point your telescope at that star, centering it in the field of view. Then click the Continue button.

4) Repeat the process in the last step to select your second alignment star:

Fourth Alignment Step

After you’ve selected your second alignment star and pointed your telescope at it, click the OK button to complete the alignment. At this point, your telescope should be aligned to the night sky, and your astronomy software should reflect the coordinates at which your telescope is pointing as you traverse the sky.


Although slewing a telescope usually implies that a motor is moving the telescope, this driver implements slewing functionality by simply providing visual feedback as you manually push your telescope tube toward the desired target. Typically, you would initiate a slew in your astronomy software by selecting an item in the display and then choosing the Slew command. After you do so, you’ll see the following window appear:

Slewing Window

The numbers in the window will change as your move your telescope around in the sky. To slew to your intended target, push the telescope around until the numbers each go to zero. Then click the Close button. You should now be pointed at your desired target.


Sync’ing your telescope is the act of telling the driver that your telescope is actually pointed at a certain object. Typically, you’d do so in your astronomy software by selecting an item in the display and then choosing the Sync command. After you do so, you may observe that the telescope position indicator in the display shifts slightly.

The Sync command is useful for making minor corrections to the driver’s alignment data. No telescope alignment will be perfect across the entire sky, and you can use the Sync command to reduce the errors in parts of the sky where the initial alignment is not so good.


If the driver indicates that the telescope interface is not present, make sure that the correct serial port was specified, and that the interface is powered up and ready to go.

If the alignment is poor, first double-check the encoder resolutions that were entered. Also, for most hardware, make sure that the hardware was initialized with the correct resolutions. After that, you may need to vary the settings of the Reverse Encoder Counts checkboxes, experimenting with different combinations until you achieve a good alignment. If all else fails, leave a comment below describing your question or problem.

39 thoughts on “ASCOM Driver for Digital Setting Circles

  1. Hi Dave:
    First, a big thank you for providing this software. I successfully installed two 4000 tic encoders on my C8. I uploaded source code from to an Arduino Uno making it perform as a decoder communicating with ASCOM driver and your digital setting circle software. It’s really a great set up. The encoders get the 5v directly from the Uno and the encoder’s A and B channels plug directly into the Arduino. No power supplies, no USB/Serial converters. It all works!! I do have one question. When I’m in CdC, during initialization, you pick two constellations for the two guide star selections. If I’m just running your DSC software without CdC, the you pick the two alignment stars from a list, not from constellations. I really like the constellation method of selecting guide stars. Is there a way to use this method while only running your software? I really only want the slew function along with RA/DEC readouts which your software does admirably. Sorry for the long post. Again thank you for providing this wonderful software – thanks to also!


    • Hi Carl,

      Sorry, the stand-alone DSC software doesn’t support the use of the constellation maps for picking the alignment stars. The stand-alone software is actually quite old and hasn’t been updated in a long while. I figured that no one was using it anymore now that it was possible to use all the planetarium programs with ASCOM and my driver. It’s possible I could write a small program that would use the ASCOM driver to take the place of the old stand-alone software, but it probably won’t happen overnight… :-)


  2. Dave, I hope you don’t mind one more question. My encoders are US Digital S2-1000-250-NE-N-D. I believe they are supposed to be 4000 tic encoders. Is that what I enter into the tics/revolution? I see in the example above you have 4389 and 4608. Did you measure your encoders to arrive at non-rounded figures? While in your stand alone software, I did the “test interface”. I hit the get position button, then moved the scope in one complete circle. Both values in the “get position” boxes change by exactly 2000. I’m not sure exactly what I should enter into the software for the encoder resolution.


    • Yep, 1000 CPR encoders give you 4000 tics/rev (assuming no gear ratio to account for between the encoder and your telescope). My wacky encoder resolutions are the result of using gears to couple the encoders to my telescope–I had to count gear teeth in order to figure out the resolution.


  3. Hello,

    I’ve got a Losmandy G11 with Gemini-2 in an observatory remote controlled.
    I want to use my old encoders (which I used with my Losmandy DSC) to detect accidental movements of my mount.
    The telesope is in an remote observatory and is possible that the mount be moved from the home position.
    Gemini-2 controls the mount encoders, but not absolute encoders attached to the mount axis.

    So, I need a device that can detect a relative movement from a specifc position.
    If home position has a reading of e.g. 2000 and 2000 on both encoders, and the mount is accidentally moved (e.g. to 2245 and 1850), it can be corrected moving again (by maintenance personal at the observatory) the mount until the reading of the encoders are 2000 and 2000 again.

    Which device and software do you suggest me?

    Juan José

    • In your case it would be fairly easy for you to use my board and write some custom software that simply reads the encoder values and displays them somehow. The board would have to be powered up all the time in order to remember the home position.

    • The USB DSC will appear as a serial port when you plug it in to your computer, so you set it up in Cartes du Ciel exactly the same as the serial version (except that it probably has a different COM port number).


  4. good day
    Fantastico your project.
    I am looking to implement the goto and needed a change.
    When you open the window with the values ​​for the encoders you could also send these values ​​to the serial port?

    excuse me for the english by google
    thank you

  5. Hi dear,
    I’m using your DSC circuit along with ready made encoders with the software Cartes Du Ciel, everything works just fine for the night. but as I close the cartes du ciel software, I have to again setup the encoders according to your procedure, like 2 star alignment and all, I thought that this alignment process is a one time process…Please help me in this matter. Thanking You.


    • Yes, it is true. Every time you start a new session with Cartes du Ciel (or any other software using the ASCOM driver) you will need to do the two star alignment. The alignment is not saved between sessions because most people have portable telescopes and would need to do a new alignment each time anyway.


  6. It is increasingly common use of telescopes remotely,
    It would be very useful to keep in memory the physical position of the telescope using the platform of Dave. Does anyone know of any interface to do this?
    Unfortunately I have no enough programming skills to do it =(

  7. Just found out that your DSC driver is now on the Ascom site which I downloaded to get the latest version. One thing I noticed when I went to your site was that equatorial platforms are not supported. That was a disappointment for me since I use one I made myself. That’s ok, though, I will still use the driver with my Coulter 8″ and SkyTools 3. I am curious, though, why this is the case and I thought the driver was compatable with earlier versions?

    Jim L

    • Hey Jim,

      My driver supports equatorial as well as alt-az mounts, but it has never supported alt-az mounts on equatorial platforms–I haven’t figured out how to cover that case.


      • Thanks for the reply, Dave. Someone suggested that when I use the platform, I set up the driver for equarorial, on the theory that it would think that the Poncet is the declination axis. However the encoders don’t know that the poncet is moving so I don’t see how that would work, sounds a little strange. Like I said, when In use your driver with SkyTools3 I won’t use the poncet table. If I need to track, I also can use SkySafari Pro because they can configure for equatorial platforms, they don’t use Ascom because they run on the Android operating system.

        Jim l


    I have an ancient (apparently haha) CI-700 mount with the Celestron AAM system that I installed years ago, and apparently no astronomy software/audoguider, etc worked with it as far as I could tell Until I found the ASCOM setup and YOUR driver.
    I will be using it with Stellarium and TheSky (although I like stellarium the best) and hopefully an autoguider for DSO photography.

    Thanks Again!!!

  9. I have both the celestron AAM and JMI ngc-max v2.93.
    I can get the AAM to run in Stellarium but not my ngc-max. When I try to connect the ngc-max through Stellarium scope it times out. Can help with this.
    Thanks for all your good work here.

  10. When slewing (pushing – its a Dob – to a target, the numbers to the target comes up fine. As soon as I move, the numbers change a bit then freeze. Any suggestions?

  11. I have a question about telescope movement and the resolution of your encoders. You show the encoder for Altitude has a resolution of 4608 ticks per rotation of your telescope. Thus each tick is 360/4608 degrees = 0.078125 degrees or 281.25 arcseconds.
    Is this resolution sufficient for “goto” commands, where I believe locations are given in milli arcseconds (.001 of an arcsecond)?
    Am I misunderstanding something, I am building my own telescope with motorised goto mount and am struggling with resolution at the moment.

    • Steve,

      Of course, the resolution for your setup will depend on what encoders you use and how they are mated to the telescope, but yes, 4608 is sufficiently fine for locating objects. Your telescope, at low power anyway, has a field of view of about a degree or so (give or take), and resolution of less than a tenth of a degree for pointing is good enough. Of course, you can improve that by using higher-resolution encoders. The maximum resolution usable by my encoder system is 65535 tics/revolution, but that’s overkill–mount and pointing errors will degrade your accuracy.

      Goto commands typically just specify the target coordinates (at least, that’s the way it works in ASCOM). There isn’t an amateur system on the face of the earth that can achieve milli arcsecond pointing accuracy. That greatly exceeds even Dawe’s limit for amateur telescopes.


  12. I have a question regarding an error message that keeps occurring during the alignment process with the ASCOM driver using digital setting circles. My setup is an Orion dobsonian with Orion’s intelliscope sensors and controller, and I am trying to use the Digital setting circles drivers with Stellarium Scope and Stellarium. At the end of the alignment process, the program throws the error “error during matrix inversion process: normalizing using a zero value” and aborts the process. What are the possible causes of this error, and troubleshooting steps can be taken?

  13. I am making my own setting circles with Magnetopot potentiometers instead of encoders. They output a voltage which depends on the angle which the telescope is pointing and then goes through analog to digital converters. The output is in the range from 0 to 25000. Can your driver accept the numerical output from the converter and send it to Stellarium to show where the telescope is pointing?

  14. I just got this to work with Celestron Advanced AstroMaster on a Losmandy G11 mount.
    This is the very first itme i’ve been able to successfully get slews that worked with this mount!
    I did have to reverse the encoder on the Azimith encoder but its pretty repeatable now with decent (not great) polar alignment. Using it with ECU Pro 6.1 on Windows 10.
    Thanks for a great product!

  15. I am using the above Tangent-Compatible Digital Setting Circle driver running on TheSkyX Serious with a Celestron Advanced Astro Master controller but occasionally one of the Digital Setting Circles Visual Feedback displays jumps from say 200 to 2000 while slewing and increases instead of dropping to zero. Last night the DEC was at 0000 but the RA was at 1460 while pointed at Eta Carinae but slewed to the Orion Nebula correctly (both 0000). I had to remove the RA encoder and reassemble it once but am not sure where to set the point at where encoder counting starts. I ran the Test function and that said the direction was okay. So how do I set up the encoders correctly. Mine output 4320 ticks/rev but where should the mount be pointing to start the counting from zero? Also is there a problem crossing the meridian while slewing?

    • My DSC driver doesn’t care what direction the mount is pointing initially–it will set the zero point as it needs to. All you should need to do is execute the alignment procedure it walks you through. Slewing across the meridian is also not a problem. It’s not unusual for the numbers in the feedback display for slewing to change discontinuously like what you saw–there are a number of ways you can push the telescope tube as you slew, and the numbers only represent the number of encoder ticks you need to move in each axis. Don’t let that bother you, as long as you’re ending up on the right target.

  16. Dear Dave,
    thank you for the great software and ASCOM driver. It works with the Arduino Uno and 8192 tick encoders under windows 10. My question: Can I use also the driver under Linux Debian 10 ? Is there any way to use your DSC-Ascom driver under Linux ?
    thank you in advance for your reply.

    • Carl,

      I don’t know of any way to use ASCOM drivers under linux. The “equivalent” to ASCOM in linux is something called INDI. I don’t plan to try to write any INDI drivers for my setup. Perhaps someone else has written a driver that would work.


  17. Hi Dave,

    I am using the above Tangent-Compatible Digital Setting Circle ASCOM Driver with the Nighttime Imaging ‘N’ Astronomy (N.I.N.A.) sequencer and a Celestron Advanced Astro Master controller. NINA uses plate-solving (ASTAP, All Sky Plate Solver) to locate targets. However to connect my push-to mount (telescope) I have to go through the 2 star alignment process each time.

    Is there a way of bypassing this alignment process and pointing the scope straight at a naked-eye star or planet near the target (eg Lagoon Nebula near Jupiter) and align with that and sync the scope. If so I can then plate-solve to the selected target (Lagoon Nebula) by slewing with push-to using the DSC Slewing Feedback numbers.

    I use Sharpcap Pro to accurately polar align, so then just need to plate-solve to the target with NINA.

    My mount is an old Losmandy G9 with severe pointing errors that I have not been able to resolve, so NINA and plate-solving will provide me with a much faster and more accurate way of centering the target.

    Many thanks in advance.

    Dallas Stott.

    • Hi Dallas,

      The ASCOM driver doesn’t have that capability. I don’t know of any workaround. I’m not doing any new development on the project right now.


      • Hi Dave,

        Thanks for your prompt reply.

        I selected a constellation near my target (eg Capricornus near Lagoon Nebula) for the alignment stars and connected the telescope and then used plate-solving to slew to and centre the target with your ASCOM driver. This procedure worked well so I will try it on a few more targets.

        Many thanks as I can now quickly find faint targets.

        Dallas Stott

  18. Dear Dave,

    thanks a lot for your your great work! I´m new to astronomics and bought a Skywatcher 200/100 netwon as well as a Dobson PUSH+ mount (Orion Intellliscope compatible) using 2 encoders.
    I am glad to find your ASCOM compatible driver and it´s working very well.with Cartes du Ciel 4.2.1 .

    However I have one big problem. Since I am living in a city with a little garden with very limited view north direction and only limited 90-100° FOV I can only use “Big Dipper” for reference but this is close to the horizon in November. Therefore I have to change to Cartes du Ciel 4.0 with the embedded encoder driver/interface. Here i can use any star and especially the stars of “Little Dipper” which is high above horzion.

    And here comes my request. Would it be possible to add “Lttle Dipper” in your selection of available reference objects? I know it´s 8 years ago since you made an official update of your “Setting circles” driver but that would help a lot and I can remove the old Cartes du Ciel 4.0. I have written a complete guide for this PUSH+ telescope mount and offered to a German community forum but using both SW versions results in a lot of work due to some reasons.

    So finally if that request would be possible to fulfill I would be very happy.

    Thanks a lot and vy73 de Hartmut / DK5LH


Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>