SBSat: LX200 Satellite Tracking
(c) 1997, 1998 Scott M. Baker, firstname.lastname@example.org
What does it do?
This program is designed to serve a several LX200 related
- 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.
- 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.
- 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 email@example.com 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):
- 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.
- Install SBSat by running Setup.Exe. Presumably you've
done this already or you probably wouldn't be reading
- Launch SBSat, either via it's program group icon or by
just running SBSat.Exe from a command prompt.
- Set up your site:
- Click on the "site" tab
- Either select your location from the
"Location Name" box, or create a new
location by pressing the <New City> button
- If necessary, enter your Latitude and Longitude
- If necessary, enter the elevation of your site in
- Set up your telescope:
- Click on the "LX200" tab
- Select your communications port and baud rate
(the default of 9600 should be fine)
- 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.
- 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:
- 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.
- 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
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
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
- 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.
- 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.
- If there is no TCP/IP binding to your network adapter,
then you'll need to create one.
- Press the add button located
below the listbox
- You should now have a new dialog asking for what
you want to add. Select protocol.
- This will give you another listbox with a bunch
of manufacturer names. Select Microsoft.
- 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
- Load up the network settings (Win-95 control panel,
- 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
- Hilight the TCP/IP binding and select properties.
- Click the IP Address tab.
- 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 126.96.36.199 and subnet
mask of 255.255.255.0 for your server. Then number your
client computers 188.8.131.52, 184.108.40.206, etc. For this
software to work, you do not have to give any of your
clients IP Addresses, just the server.
- You will need to remember the IP Address listed above
when setting up the server daemon below. So write it
Now, setup the server daemon on your server
- Run the SBSat setup program if you haven't done so
already. (on the server!)
- Now, go to the program group for SBSat (or Start Menu
selection) and execute the program "Server
- The server daemon will display a dialog box with three
settings: LX200 Com Port, LX200 Baud Rate, and TCP/IP
- Set the Com Port to the port that your LX200 is connected
to. This is usually either COM1 or COM2.
- You can probably leave the baud rate alone.
- 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.
- Press the "start" button. The server should now
be waiting for any clients to connect.
Setting up the client computers:
- Run the SBSat setup program if you haven't done so
already (on the client!)
- Go to the SBSat program group and run SBSat.
- Click the LX200 Setup tab and select the
radio button next to IP Connection.
- 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 220.127.116.11).
- You can probably leave the TCP/IP port of 1001 alone,
unless you changed it when you setup the server.
- 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
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
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
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 firstname.lastname@example.org.You
can find my website at http://smbaker.simplenet.com.
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
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