Mike's AstroTracker Mark 1

A perfectly accurate(*) barn door mount (Haig mount/scotch mount) for astrophotography.

(* within the limits of construction and alignment)

The Problem

Taking pictures of the night sky requires long exposure times. In order to get good photographs of dim stars or nebulae you have to have the shutter open for several minutes. Unfortunately, our planet rotates fairly quickly. If you put your camera on a tripod and hold the shutter open for 30 seconds or more you will notice that the stars come out as little streaks. For example, the photo on the right was a 20 minute exposure on a tripod. Can you recognize any constellations?

While such photos can be aesthetically appealing and beautiful, they are not very useful if you want to look at the night sky in detail. The problem is this: In order to get sharp clear images of faint stars or other objects in the night sky, we must counteract the rotation of the planet by rotating the camera in the opposite direction.

The Solution

There are many devices that can be purchased to solve this problem. However, all of them are expensive and come with large telescopes attached. For the hobbyist on a budget, there is a cheap alternative: The barn door mount. This device was introduced in the April 1975 edition of Sky & Telescope by scotsman George Haig. As a result, it is often called a "Haig mount", or simply a "scotch mount".

The classic Haig mount consists of two boards, hinged on one side, with a threaded bolt going up through the lower board and just touching the upper board on the other side. See Phil Harrington's web site for diagrams and plans for a traditional Haig mount. As noted on Phil's web site, the classic Haig mount is the cheapest possible star tracking device that you can build. However, this simple design suffers from some rather large problems.

The Problems With The Solution

The first problem that may occur to you is that with a "manual" barn door mount, you have to stand there looking at your watch while physically turning the bolt at the correct rate (usually once per minute to make it easier). Many people solve this problem by attaching a stepper motor to the bolt and designing a simple clock circuit to turn the stepper motor at a constant rate. This adds a little bit of cost to the construction, but stepper motors are fairly cheap and the circuit is easy to build if you know anything about electronics.

The biggest problem with the barn door mount is now accuracy. Assuming your simple clock driven Haig mount is constructed well and aligned properly, it will accurately track the starts for about a minute or so. After that, the stars will start to drift again due to "tangent error". In order for our camera to counteract the planet's rotation, it must rotate at a constant rate of 360 degrees per sidereal day. The stepper motor on a simple Haig mount is running at a constant rate, but it is driving a tangent bolt. Thus the angle between the top and bottom boards is changing at a varying rate. The longer the clock runs for, the more error there will be between the angle of the mount and the desired angle.

One method that people use to reduce the error is to build the mount so that the threaded bolt pivots. See Ray Grover's Quartz Controlled Scotch Mount for a good explanation of tangent error and an informative graph of error vs. time for both the traditional Haig mount and the pivoting bolt design. You will see from this graph that error is reduced but still present.

One last problem with a constant rate barn door mount is that usually the bolt is made to turn one revolution per minute. While this makes the drive mechanism simple, it also completely dictates the dimensions of the mount. Also, any errors in the construction of the mount will result in almost immediate tracking error.

The Solution To The Problems With The Solution

When I was reading Ray's web site it occurred to me that you could eliminate tangent error by running the stepper motor at a varying speed. Also, if you had control over the speed of the motor you would be free to build the mount to whatever size you desired. In fact, the construction of the mount could be quite sloppy and you could correct for any measurement mistakes by adjusting the speed of the motor. I quickly started searching for people who had made varying speed barn door drives, and found none. (Actually, when I was halfway through my project I found someone who had done something similar. Mark Haun's Smart Barn Door is a fully self-contained hardware solution. Unfortunately it requires access to an EPROM programming machine.) So, at this point in time I decided to break new ground and use my skills as a software developer to build a software-controlled "smart" barn door mount!

Design Considerations

I decided that my barn door mount would be connected to a computer through the parallel port. I chose the parallel port because it is perfectly suited for directly driving a stepper motor, and because of this fact there are many websites detailing exactly how to build a parallel port stepper motor control circuit. If you are planning to build something similar and you have a modern laptop with no parallel port, do not despair. There are devices on the market right now that plug into a USB port and offer a standard parallel port. Unfortunately they are a little expensive. Alternatively, there are USB printer cables available for lower cost, and with some modifications to my design I'm sure you could drive a stepper motor through one of those.

I also decided that my barn door mount would use a pivoting bolt. This was for two reasons. First, I didn't like the idea of the bolt sliding along the top board, and all of the vibrations that would result. Also it seemed impractical attach a stepper motor to the bolt in such a way that the bolt could move relative to the bottom board. Second, the top board would have to be much longer than the bottom board if you wanted to track stars for any long period of time. I thought the pivoting bolt design would offer a more stable base to put a camera on, and would theoretically allow for accurate tracking periods of over six hours, if constructed properly.

Construction - Electrical

My first task was to find a suitable stepper motor. Knowing almost nothing about motors, I just picked up the first one I saw that looked reasonable and hoped I could figure out how it worked. The one I chose (which happened to be the only one I could find) was rated for 12 volts DC, which is quite convenient because 12 volt batteries are fairly common. Luckily for me it had eight wires, which meant that once I figured out which wires were electically connected I could then run current through and work out the windings of the four sets of coils. After much research, I eventually came up with the following basic circuit:

The "pins" refer to the pins of the parallel port. Pins 2-5 are the first four data pins, and pin 25 is the ground. Note that pin 25 should be connected to the same ground as our main 12V power supply.

The 10,000 ohm resistors are to protect the fragile parallel port from any backlash caused by the motor, as well as to limit the current drawn from the motherboard. From what I have read, this is the bare minimum precaution you must take to avoid permanently frying your motherboard.

For the transistors I used NPN "darlington" transistors with a rating of 5 amps and 100 volts. This is slight overkill but the electronics store was almost out of darlington transistors so I didn't have much choice. You will note that all of the power needed to switch the transistors is coming from the parallel port. Luckily it doesn't take much to switch a lot of current through a darlington transistor.

The 1A diodes are to protect the fragile transistors from any backlash caused by the motor. If any current runs the wrong way through those transistors they will burn out permanently.

Some trial and error was used to determine the correct way to hook up the motor windings. Once I determined which pairs of wires were connected, it was just a matter of hooking this circuit up to the parallel port and rearranging the motor wires until the motor moved in a way that made sense. In my case there were two sets of four wires: "Upper" yellow, black, grey and red, and "Lower" yellow, black, grey and red. Upper yellow was connected to upper black, lower yellow to lower black, upper grey to upper red and lower grey to lower red. I assigned yellows and greys to positive, and black and red to negative. (Seems a little backwards in retrospect, but no matter.) My correct sequence to spin the motor was determined to be: Upper yellow/black, lower yellow/black, upper grey/red, lower grey/red.

After getting the motor to spin properly, I went a little overboard adding stuff to my simple circuit. I added a power LED, and four LEDs to show the state of the motor windings. I also added a feedback "error" circuit and LED. The plan was to use the error line on the parallel port to tell the software when the barn door mount was closed all the way. I haven't actually hooked it up yet, but the circuit works and is there in case I ever need it.

Construction - Physical

After my electronics prototype was ready, I soldered it all together and put it in a small plastic project box. I was then ready to begin construction of the actual barn door mount. Since the motor would be software controlled, I was free to build the mount any size that I wanted. I decided to build it quite large in an attempt to dissipate any vibration from the motor and to provide a stable platform for the camera. I bought a single piece of 4'x12"x3/4" pine and cut it in half to make the upper and lower boards. I then cut out a squarish pivoting section from each board, and drilled holes in them for the motor and the nut.

For my threaded bolt I bought a three foot 5/16" bolt. For the top board nut I originally tried using a 5/16" hex coupler, but unfortunately I found that there was too much friction if the coupler was not precisely aligned with the bolt. It seems the stepper motor I have is a little underpowered for such a large barn door. So for now I punted and used a regular nut. I even allowed a little bit of play to reduce friction.

The barn door itself is hinged using two brass hinges. I used the same type of hinges to make the pivoting squarish sections actually pivot. One challenging task was to attach the threaded bolt to the motor's drive shaft. The drive shaft on the stepper motor is cylindrical and smooth, so you can't use a set screw on it. A quick solution I came up with was to buy a piece of 5/16" vinyl tubing and two very small hose clamps. This provides a flexible connection between the motor and the threaded bolt. The advantage of this is that I didn't have to worry about getting the alignment of the drive shaft absolutely perfect. Unfortunately, the flexible nature of the connection introduces some wobble into the system which will introduce error into the photographs. I hope to solve some of these problems if I ever build Mike's AstroTracker Mark 2.

I mounted the electronics package on the underside of the bottom board, near the motor. As you can see in the above photo I put a DB9 connector on the motor wires so that I could easily disconnect the motor from the electronics box. I also used a simple strap to secure the box so that I could easily remove it if necessary.

There have been two major changes to the construction since I took the picture near the top of this page. At first I bought the cheapest "ball head" I could find. It was actually a clamping tripod meant for small digital cameras. It proved to be too weak to hold my Rebel XT. I replaced it with the slightly more expensive medium sized ball head pictured to the right. This ball head works much better and provides a very solid base for my camera.

The second change I made concerned the tripod. Originally I pictured my barn door mount sitting on top of my trusty Velbon tripod. Unfortunately the tripod proved much too unstable and weak to support such a large barn door mount. As soon as I put it on I could tell the tripod would never work. Using some spare plywood I had lying around I quickly put together a stand for my mount.

The stand cradles the barn door mount at a natural angle of about 40 degrees on a level surface. Two adjustment screws allow the mount to be elevated from 40 to about 50 degrees. This range of angles should cover almost all of the locations on the planet where I plan to take photos. (i.e. most of Ontario.) If I travel anywhere else I will have to build a custom stand for that location. However, given the size of this mount I doubt I will take it anywhere far away.


I bought a Telrad finder to use for aligning the mount. It has convenient circles at set diameters so that you can get a fairly accurate alignment with true north. (Remember, Polaris is not at exactly the right place... in fact, it is quite far off from true north.) To align the Telrad with the hinges, I had to partially disassemble the mount so that the top board could pivot freely. Then I pointed it at a fixed object that was as far away as possible and adjusted the Telrad until I could no longer notice any movement (besides rotation) when I rotated the mount through a 180 degree angle.

I don't think it's that critical to get the alignment "perfect", because it will be quite difficult to point the Telrad at true north once I am out in the field, anyway. Plus with wide field astrophotography, perfect alignment is less important.


Interfacing with the parallel port is really easy once you have access to it. Under Windows XP applications are normally blocked from direct access to ports, but you can get around that by using a great little driver called "giveio". If you are using C++, you can use the following code to grant port access to your application:
	HANDLE h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
		printf("giveio not running\n");
		return 1;
	// keep the file handle open as long as you want access to the port
	// start by making sure all data lines are off
	_outp(0x378, 0x00);

	// close it when you are done
As you can see from the above code, you can toggle any of the 8 data lines by setting the corresponding bits on the port. The rest of the software is just a simple application of the cosine law. Count the number of threads per inch on your bolt, and measure the distance from the center of the hinge to the bolt on both the top and bottom boards (these two distances should be the same if you have constructed it properly). Remember that there are 23.9344696 hours in a sidereal day, giving you about 7.29211585 * 10^-8 radians per millisecond. When your software is running, keep track of how many milliseconds have elapsed since you have started and you can use the cosine law to work out how many times you should have rotated the bolt. I threw in a Sleep(10) to conserve laptop battery power, and a reset button to restore the mount to the home position when desired.


The reason people build barn door mounts is because it is cheaper than going out and buying a "real" equatorial drive system. Because of this, I wanted to keep track of how much I spent on my barn door mount. The following table lists all of the components I used to build the final mount. Unused parts are not listed. I bought everything brand new at retail prices, except for miscellaneous nuts and bolts and the supplies for the stand that I built out of spare parts. All prices are in Canadian dollars, before tax.

1x12x4 knotted pineHome Depot$9.40
1x6x4 knotted pineHome Depot$3.57
Brass hinges (6)Canadian Tire$14.67
5/16" 3' threaded rodCanadian Tire$2.19
5/16" hex nutCanadian Tire$0.29
Vinyl tubing 1'Canadian Tire$0.39
Hose clamps (2)Canadian Tire$1.78
12V battery chargerCanadian Tire$44.99
1/4"-20 1" bolt to secure ball headCanadian Tire$0.42
Amplis S-4 medium ball headHenry's$44.99
Stepper motor 12VDC 7.5 degrees/stepSayal Electronics$15.00
Lead acid battery 12V 5AHSayal Electronics$19.70
TO-220 NPN darlington transistor 5A 100V (4)Sayal Electronics$5.00
Diode 400V 1A (5)Sayal Electronics$1.00
DB25M solder typeSayal Electronics$1.60
10K 1/4W resistors (10)Sayal Electronics$1.00
Etched board 2.75x3.75Sayal Electronics$2.50
Project box 4.5x3x1.3Sayal Electronics$7.05
Telrad finderKhan Scopes$54.00

I left out a few extra things like the DB9 connector for the motor and the LEDs because they are all optional. I also left out some items that I already had kicking around such as alligator clips, insulated wire, and a parallel extension cable. I also didn't factor in the cost of a laptop, since I assume nobody would even consider this approach unless they already had one.

The total cost of the materials comes out to $229.54 before taxes, give or take $20.00 for optional supplies. Due to the experimental nature of this project I ended up spending an additional $60.00 on supplies that proved to be useless.

There are a few places where money can be saved. If you already have a battery charger (for your motorcycle or similar vehicle) then you can save there. The battery I bought ended up being too large. Each coil in my stepper motor draws 1/3 of an amp. I run two coils at a time in order to improve torque, so I draw 2/3 of an amp continuously. This means that my 5AH battery can power my barn door mount for about 7.5 hours. It is unlikely that I will ever let it run for so long. A battery half the size would probably be sufficient. A Telrad might be overkill for a simple barn door mount. You can buy a red dot finder for less than $25 and it will probably be just as accurate.


After I completed my barn door mount I took advantage of the first clear night to test it out. My goal was to photograph the Andromeda galaxy. I didn't spend too much time outside because I couldn't get anyone to go with me and so I was a little bored. However, I did manage to get this picture of Andromeda. I shot it with my Rebel XT with Canon EF 50mm/1.8 Mark II lens at ISO 200, f/3.5 for 201 seconds. (This is a cropped version of the original photo.)

I think it turned out rather well considering I didn't have proper polar alignment. I even managed to capture a hint of one of Andromeda's companion galaxies.

Home - Feedback

Hosted by theorem.ca