SBSat: LX200 Satellite Tracking

(c) 1997, 1998 Scott M. Baker,

What does it do?

This program is designed to serve a several LX200 related functions:

  1. Tracking of Earth-orbiting satellites. As to why you want to do this, I'm not quite sure. Probably the same reason as me -- you own one of the most sophisticated amateur telescopes on the market and you want to put all of those electronics to work. Right now I only have GOTO capabilities working, but I am going to try to get some actual tracking accomplished in the near future.
  2. LX-200 computer control. I plan on emulating most of the functionality of the LX200's hand controller via computer. This software will not at present operate any CCD cameras. You'll need to do something different to actually see what your scope is looking at.
  3. Remote LAN/Internet operation. The software can function in a client/server manner, where a lightweight server daemon runs on the server computer which is connected to the LX200. Then the full software can run on a client computer anywhere on your LAN. This permits remote operation of the telescope.

This program should be considered to be in the extreme beta stage. That means it hasn't been tested very much, and may not work on your system. Email me at if you have any problems or questions. I am much more experienced with computers than I am with telescopes, so I may not be able to answer all of your questions.

My main goals in developing this software are to experiment with some computer automation techniques and to have some fun with the telescope.

In general, it is not my policy to release source code and I will most likely not be releasing any source code for this project. If you have any features you'd like to see implemented, then just let me know and I will be happy to consider them.

Simplified Setup (no LAN):

  1. You'll need to connect your LX200's RS-232 port to one of the serial ports on your computer. Meade sells a cable to do this, or you can build your own. It's a fairly simple mapping of wires from a 6-pin phone connector to a DB9, and is documented in the Meade manual.
  2. Install SBSat by running Setup.Exe. Presumably you've done this already or you probably wouldn't be reading this documentation.
  3. Launch SBSat, either via it's program group icon or by just running SBSat.Exe from a command prompt.
  4. Set up your site:
    1. Click on the "site" tab
    2. Either select your location from the "Location Name" box, or create a new location by pressing the <New City> button
    3. If necessary, enter your Latitude and Longitude
    4. If necessary, enter the elevation of your site in meters.
  5. Set up your telescope:
    1. Click on the "LX200" tab
    2. Select your communications port and baud rate (the default of 9600 should be fine)
    3. Press the <Test> button to make sure your telescope will link properly. This enters a simple command to the LX200 to report it's current RA -- this info should be displayed in the history listbox.
  6. Click on the "Track" tab to return to tracking. Setup is not complete.

LAN/Remote operation setup:

This software can operate in a client/server configuration. This means that a minimum of two computers are involved:

  1. The server which is connected to your LX200. The server executes a copy of the daemon program which will redirect the LX200 communication across your LAN. The server computer is located near your LX200 since it must be physically connected.
  2. The client which is where you run the full version of the software. The client must be connected by some kind of network to the server. This may be a LAN (Local Area Network), Intranet, Internet, or whatever. The client may be located at as great a distance from the server (and LX200) as your network permits.

The sockets network API is required. Sockets is a fairly standardized method of communicating with the TCP/IP protocol stack. TCP/IP is the protocol stack commonly used in Internet applications. Windows-95 and Windows-NT provide fully functional TCP/IP socket implementations which is sufficient. Some of the following instructions can get a bit complicated; Networking in general is a complicated subject. I'm not the best at describing things, so if you think you can write a better documentation section for me, then you're welcome to and I'll put it in!

If you are operating on a LAN (i.e. ethernet), then you will need to make sure the TCP/IP stack is bound to your LAN controller. All of the Windows-95 networking settings are present in the Windows-95 control panel. This must be done on both the client and the server computers.

  1. Go there now and select the network icon. There will be a listbox containing a series of entries for the clients, protocols, and adapters located on your computer.
  2. Look for an entry that says "TCP/IP -> (network adapter name)", where (network adapter name) is the name of your network card. Note that this is not the one that says "TCP/IP -> Dial-Up Adapter" -- that one is for connecting your ISP via modem.
  3. If there is no TCP/IP binding to your network adapter, then you'll need to create one.
    1. Press the add button located below the listbox
    2. You should now have a new dialog asking for what you want to add. Select protocol.
    3. This will give you another listbox with a bunch of manufacturer names. Select Microsoft.
    4. Once you select microsoft, the right-hand panel will display a bunch of protocols. Select TCP/IP. This will install the protocol stack. Once you are done, the required bindings should be present in the main network dialog.

You will need to know the IP Address of your server computer. The following only needs to be done on the server computer.

  1. Load up the network settings (Win-95 control panel, network icon)
  2. Look for the TCP/IP binding. It should say "TCP/IP -> (network adapter name)". Make sure this is the one bound to your network card and not the Dial-Up adapter!
  3. Hilight the TCP/IP binding and select properties.
  4. Click the IP Address tab.
  5. If the IP Address is set to automatic, then you will need to change it and specify an IP Address. If you have a LAN Administrator, then contact him about this. Under most circumstances, for a small LAN (i.e. in your house), you can just use the IP Address of and subnet mask of for your server. Then number your client computers,, etc. For this software to work, you do not have to give any of your clients IP Addresses, just the server.
  6. You will need to remember the IP Address listed above when setting up the server daemon below. So write it down!

Now, setup the server daemon on your server computer:

  1. Run the SBSat setup program if you haven't done so already. (on the server!)
  2. Now, go to the program group for SBSat (or Start Menu selection) and execute the program "Server Daemon".
  3. The server daemon will display a dialog box with three settings: LX200 Com Port, LX200 Baud Rate, and TCP/IP Port number.
  4. Set the Com Port to the port that your LX200 is connected to. This is usually either COM1 or COM2.
  5. You can probably leave the baud rate alone.
  6. You can probably leave the TCP/IP port number alone. If you do change it, then remember it, as you will need to specify the exact same port number in the client setup.
  7. Press the "start" button. The server should now be waiting for any clients to connect.

Setting up the client computers:

  1. Run the SBSat setup program if you haven't done so already (on the client!)
  2. Go to the SBSat program group and run SBSat.
  3. Click the LX200 Setup tab and select the radio button next to IP Connection.
  4. Enter the IP Address of your server into the IP Address field. This is the same address that you "remembered" when you were setting up the server's TCP/IP stack under the Win-95 network control pannel. It should be a number seperated into four sections by periods (i.e. like
  5. You can probably leave the TCP/IP port of 1001 alone, unless you changed it when you setup the server.
  6. Now, click TEST. A series of messages should appear in the LX200 communication history box.

I am using blocking sockets. This means that the program can delay for an arbitrary amount of time if you specify something incorrect. For example, if you get the server address incorrect, the program will "lock up" for about 30 seconds while it tries to connect to a nonexistant server. Usually if you just be patient you'll get control back. I do plan on fixing this in the future.

Satellite Tracking Functions:

Most of the operations are completed under the Track tab. You can directly type a satellite name in the satellite listbox, or you can scroll the list to pick the satellite you want. Pressing the <Avail> button will calculate up a list of only the satellites that fit the "min elevation" and "max distance" settings of your current site. Pressing the <All> button will fill the list with all available sites.

At any time, press the <Goto> button to slew to the selected satellite.

Very Important: Some satellites are very fast moving and having your computer's clock set accurately is critical! On these high velocity satellites, one second can make the difference between being able to see it or not. You can adjust the "lead time" box to move the time calculations a few seconds into the future or the past to compensate for clock inaccuracies.

Setting a positive lead time of a few seconds ahead of actual time can be benefical for fast satellites, because it will slew the scope a bit in front of the satellite and give your eyes a chance to adjust before viewing.

I recommend using a low magnification eyepiece; I use a celestron ultima 40mm eyepiece which I am very fond of.

I'm not sure how well the math is working on the predictions. I must admit, I'm horrible at polar aligning my scope and can't verify the accuracy. :( Nevertheless, I have been able to see several satellites, most of them in the less than 5000km range.

Also Important: Pay attention to the "Range" field. You're going to have some difficulty seeing a geosync satellite at 30,000 km from your position with your eyes. I've heard of people doing 35mm exposures of several hours to get a look at a geosync satellite. If you want to do visual observations, you can lower the "Max Range" setting on the site page to get a listing of satellites that are nice and close. I like to set it to 5,000km maximum.

LX200 Goto and Movement Functions:

I have tried to provide a fair emulation of the LX-200 hand controller under the LX200 Control tab. You can goto an object in the object library by entering it's number in the appropriate spot, selecting it's radio button, and pressing the goto button. For example, to goto M13, enter "13" next to Messier, Push the Messier radiobutton, and press the Goto button.

The North/South/East/West buttons function exactly as they do on the LX200; Press and hold them to move the telescope.


As this is a very early version (and might not even work for everyone), I don't have any annoying registration nags or requirements in place. However, this software should be considered as shareware and if you make extensive use of it, I would appreciate a donation to help me continue my efforts. You can reach me at:

Scott M Baker
2241 W Labriego
Tucson, Az 85741

I can also be reached via Internet email at can find my website at


I would like to thank the following persons for helping me, providing materials in support of my project, personal communication, or for submitting their own programs to the scientific community:

Paul E. Traufler, author of TrackSat

David H. Ransom, Jr., author of STSOrbit Plus

Robert W Berger, author of the N3EMO Orbit Simulator

Jean Meeus, author of Astronomical Algorithms

Manfred Bester, author of SatTrack

Dr. TS Kelso, compiler of SpaceTrack Report No. 3, and author of pascal code for SGP4/SDP4

Felix R Hoots and Ronald L. Roehrich, authors of SpaceTrack Report No. 3

Peter Duffett-Smith, author of Astronomy with your Personal Computer