This page describes different software tools which provide PC control of your OAT, camera and other devices.
In exceptional cases, the computer may not see the OAT connected via USB. The first thing to check is that the USB cable used is of sufficient quality (some cables shipped from China with the motherboard can cause problems). Test if the cable allows you to use it with another verified device (printer etc). If the cable is OK, you need to make sure that the necessary drivers are installed on the PC. This should be done when installing the Arduino IDE and after connecting and loading some script into the motherboard, if you are using only VS and platformio you may need to install the CH340 driver.
OATControl is a remote control tool developed by the OAT team. It allows tools for calibration and basic control of the OpenAstroTracker.
In order to control OAT from a Windows PC, you need to download and install OATControl:
ASCOM is a many-to-many and language-independent architecture, supported by most astronomy devices which connect to Windows and now Linux and MacOS computers.
Many (if not even most) astrophotography tools are built on top of ASCOM. These are mostly tools for automation of devices like mounts, guiding cameras, main cameras, optical filters, sensors, observatories etc. Some of these tools control only one part of astrophotography setup, others allow complete automation of all the devices and sequencing session. The main benefit of the ASCOM architecture is that it acts as an interface between devices and software tools. This way a device supported by ASCOM is also supported by all the software tools around it.
Astronomy devices (mounts, focusers, filters, cameras) connect to a computer via USB (mostly). Usually the USB connection appears as a serial communication port (COM on Windows) to the software on that computer.
In general, only one software program can use a COM port at a time, since otherwise it could lead to conflicts when two apps try to send something at the same time.
In order for multiple programs (Stellarium, SharpCap, SGP, NINA, PHD2, OATControl, etc.) to talk to (say) a mount at the same time, ASCOM created a "driver architecture" that presents various astronomy devices to apps in an abstract high-level way (this is a Telescope, this is a Camera, this is a Mount, etc.). This allows apps to ask the devices to do things like slew to this RA/DEC coordinate, stop and start tracking, etc. without apps needing to know what actual data the device expects. Each supplier/vendor of astronomy equipment just needs to write a driver that takes the high-level commands from ASCOM and sends the appropriate low-level commands to the actual device. We have written such a driver for the OAT that uses a COM port to send the actual commands that the OAT firmware expects.
In order to connect OAT through ASCOM, you need to download and install
two things:
NOTE: You might need to scroll a bit for the ASCOM Drivers, since we release new OATControl version way more often than new ASCOM Driver versions)
If you successfully installed the drivers, you should be able to see "OpenAstroTracker" in any astronomy program's mount/telescope chooser.
The following describes how to configure your OAT to be used remotely with any computer running compatible INDI software, so long as it can connect to the Astroberry's wireless hotspot. For example, you can have your OAT and Pi outside in the cold, while you're inside on your computer of choice and control everything remotely using the Astroberry's INDI services. Think of the Astroberry as a server that you're connecting to rather than a Desktop you're accessing remotely.
This guide is NOT how to use Astroberry as the main interface via it's remote desktop functionality - as such, using it in this way is nearly identical - you're just not doing some weird remote desktop thing. I do not recommend using it in this way because it's weird.
"KStars is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time. The display includes up to 100 million stars, 13,000 deep-sky objects,all 8 planets, the Sun and Moon, and thousands of comets, asteroids, supernovae, and satellites. For students and teachers, it supports adjustable simulation speeds in order to view phenomena that happen over long timescales, the KStars Astrocalculator to predict conjunctions, and many common astronomical calculations.
For the amateur astronomer, it provides an observation planner, a sky calendar tool, and an FOV editor to calculate field of view of equipment and display them. Find out interesting objects in the "What's up Tonight" tool, plot altitude vs. time graphs for any object, print high-quality sky charts, and gain access to lots of information and resources to help you explore the universe!" -- KStars Website
"Included with KStars is the Ekos Astrophotography suite, a complete astrophotography solution that can control all INDI devices including numerous telescopes, CCDs, DSLRs, focusers, filters, and a lot more - Basically everything the OAT and everything on it. Ekos supports highly accurate tracking using online and offline astrometry solver, autofocus and autoguiding capabilities, and capture of single or multiple images using the powerful built in sequence manager." -- KStars Website
"Astroberry is ready to use system for Raspberry Pi for controlling all your astronomy equipment. You can remotely control your telescope, focuser, camera and much more! All of these with just a small and portable single board computer. Take a sit at your desk and manage your equipment located in the backyard or hundreds kilometers away."
NOTE: This guide assumes that you already have OAT running on an Arduino Mega or ESP32 and that you know how to install various operating systems on a Raspberry Pi. You should already have KStars installed as well, which is easily done on any OS. The configuration of Ekos is the same regardless of the system you're on.
Finally, head to the Capture options tab and check the following
You may now click "Close" at the bottom, as you're ready to start using KStars and EKos to do your imaging.
Using the software is a bit out of scope here, but basically you can now right-click on a celestial object in the main KStars window and select "LX200 GPS > Goto", and the OAT will slew to the object and begin tracking it. From there, you can use the Camera tab on the Ekos window to begin taking exposures. There are many youtube videos on the subject.
Currently OATControl software works only under Windows environment. Anyone running linux/macos are left with a choice of either installing VM software with Windows or tediously configuring their OAT mount sending MeadeCommands through terminal. Python (which is OS agnostic) can be used to bridge this gap. Bellow are some useful scripts.
A simple Python script at GitHub to set-up your OAT mount in Linux environment. It mimics OATControl initial configuration of your mount and lets you set Home position. It also disables reset when opening given port, so that settings are not lost when other client tries to connect (tested only on Raspberry HW).
It let's you read DigitalLevel values, set proper Lat/Lng, run RAHallSensor auto homing and Home the mount.
Also there is some mismatch between Meade protocol implementation in generic LX200 GPS INDI driver for Linux and OAT ASCOM driver for Windows.
Namely "Set Site Longitude":
:Sg100:00 //OAT expects 179W is 359 and 179E is 1 from 180 at Greenwich
:Sg-80*00 //LX200 sends 179W is -179 and 179E is 179 from 0 at Greenwich
And "Set Site UTC offset":
:SG+02 //OAT expects site UTC offset
:SG -02 //LX200 sends (site time - UTC time) difference
It leads to improperly configured OAT mount upon initial connection from KStars/Ekos if "Time & Location Updates" are enabled. This should be mitigated by successfully running solver and syncing RA/DEC coordinates with a mount. Or you can uncheck "Time" and "Location" in Settings->Configure KStars...->INDI:
In Kstars 3.7.x it's under Ekos --> Mount
And run this script before connecting to LX200 GPS. This way you will have correct Goto commands from a get-go (make sure KStar location and Time are the same as set by a script) and then can run solver to increase it's accuracy.
Put your mount RA and DEC axis in Home position. Open terminal, and: ls /dev/tty*
to display current USB devices, connect OAT and notice port name.
Navigate to script directory and: python3 config.py
. Enter correct port when asked.
Python v3 (or higher) with PySerial library installed. dpkg -l | grep python3
to see if python3-serial
is installed. pip install pyserial
to install.
Try to read digital level (if installed)
Set Site Latitude (manual input, DD:MM format, positive for Northern and Negative for Southern Hemisphere)
Set Site Longitude (manual input, DD:MM format, 179W is -179 and 179E is 179 from 0 at Greenwich)
Set Site Local Time (automatic, make sure system time is correct)
Set Site Local Date (automatic, make sure system time is correct)
Set Site UTC offset (automatic, make sure system time is correct)
Try to autohome RA axis (if installed)
Set current mount orientation as Home position
if you have AutoPA add-on installed, this program at GitHub will allow joystick-like control of the Alt/Az axis of the OpenAstroTracker using keyboard arrow keys. You can use it to adjust Alt/Az error after running Ekos Polar alignment routine. Disconnect LX200 GPS from INDI control panel (no need to stop server) before running it.
Find out what port your OAT is using, navigate to program directory and:
python3 joystick_INDI.py <serialport of OAT e.g. /dev/ttyUSB0>
Press Up or Down on your Keyboard for Altitude control and Left or Right for Azimuth.
Hints:
Some users reported problems connecting via Joystick script. Starting KStart/Ekos and connecting to the OAT mount via INDI might help before running the script (This might not be necessary and is not confirmed)
If you receive a error message about baudrate not defined, then edit the script in a text editor and look for the following line at around line 31:
ser = serial.Serial(serialport, baudrate, timeout = 0.2)
and replace baudrate with your baudrate (for newer versions of OAT 19200) the line should then look like:
ser = serial.Serial(serialport, 19200, timeout = 0.2)
save the scrit and run it again.