user30379: I've been toying with this idea for a while and after some thorough research I'm more than happy that the project is realistic. However I'm in need of some direction in terms of the sensors I should be using.
There will be 3 arms all connected together (Like a poor mans Microscribe). I want to read the angle between each arm and use that info to calculate the final X and Y coordinates of the final end point on the arm.
I've looked closely into forward kinematics in robot arms and understand the principles are very much the same. 
I've narrowed it down to Absolute encoders or accelerometers. Unfortunately I just can't find enough documentation about how to use the encoder with Arduino. There's plenty on using an accelerometer but I can't imagine the accuracy would be as good as the encoder. 
I'm hoping to get the X and Y coordinate accuracy within +/- 0.5mm. Is this accuracy feasible? 
The diagram attached shows the basic principle and formula I will use.

------EDIT-----
Thanks for the info everyone! Seems like this is going to be a little trickier than I originally thought. I've found a project achieving something very similar, however there's no mention of it's accuracy. http://fablab.ruc.dk/diy-digitizer/
Any ideas as to what sort of accuracy he could be achieving? I understand the length of the arms are considerably shorter than mine which must help a huge deal.  

user24459: 
I'm hoping to get the X and Y coordinate accuracy within +/- 0.5mm. Is this accuracy feasible?

I'm only going to consider the A1 in your diagram since the accuracy of that will have the greatest impact in the final position. For the other angles any errors will have a smaller impact on the final position accuracy.
Take the most simple case, the arm is in a straight line almost completely in the X direction. 
You want a Y reading of +/- 0.5 mm with an arm length of 1400 mm. That will require an angular accuracy of +/- 0.02 degrees.
Assuming you have a maximum travel of 90 degrees and you scale things such that your full ADC range is used linearly over that range then you require log(90/0.02)/log(2) = 12.1 bits resolution on your readings. So after allowing for the noise in all sensor outputs you're looking at a minimum of a 14 bit data required to give that level of resolution. 
It's been suggested you use a pot connected to the internal 10 bit ADC. 
Assuming you used your full ADC range over 90 degrees and the 10 bit ADC reading had no noise on it you would be looking at around 2 mm accuracy. In the real world I'd be impressed if such a system could reach 5 mm accuracy.
Assuming you are working vertically accelerators could work, they typically have at least 16 bit resolution on the output but are noisy, you'd need to average for a long time in a very stable environment to get the levels of accuracy needed. Probably a non-starter.
A very quick google didn't find any easily available encoders with the required accuracy. I'm sure they exist but they are probably going to be expensive. You could possibly use gearing to improve the sensitivity of a more standard part but that's adding mechanical complexity.
In other words the accuracy you're aiming for isn't easy to achieve. You may want to look at relaxing your requirements a little.

30379: <p>I've been toying with this idea for a while and after some thorough research I'm more than happy that the project is realistic. However I'm in need of some direction in terms of the sensors I should be using.</p>

<p>There will be 3 arms all connected together (Like a poor mans Microscribe). I want to read the angle between each arm and use that info to calculate the final X and Y coordinates of the final end point on the arm.</p>

<p>I've looked closely into forward kinematics in robot arms and understand the principles are very much the same. </p>

<p>I've narrowed it down to Absolute encoders or accelerometers. Unfortunately I just can't find enough documentation about how to use the encoder with Arduino. There's plenty on using an accelerometer but I can't imagine the accuracy would be as good as the encoder. </p>

<p>I'm hoping to get the X and Y coordinate accuracy within +/- 0.5mm. Is this accuracy feasible? </p>

<p>The diagram attached shows the basic principle and formula I will use.</p>

<p><a href="https://i.stack.imgur.com/DAcnH.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DAcnH.jpg" alt="enter image description here"></a></p>

<p>------EDIT-----</p>

<p>Thanks for the info everyone! Seems like this is going to be a little trickier than I originally thought. I've found a project achieving something very similar, however there's no mention of it's accuracy. <a href="http://fablab.ruc.dk/diy-digitizer/" rel="nofollow noreferrer">http://fablab.ruc.dk/diy-digitizer/</a></p>

<p>Any ideas as to what sort of accuracy he could be achieving? I understand the length of the arms are considerably shorter than mine which must help a huge deal.  </p>
 24459: <blockquote>
  <p>I'm hoping to get the X and Y coordinate accuracy within +/- 0.5mm. Is this accuracy feasible?</p>
</blockquote>

<p>I'm only going to consider the A1 in your diagram since the accuracy of that will have the greatest impact in the final position. For the other angles any errors will have a smaller impact on the final position accuracy.</p>

<p>Take the most simple case, the arm is in a straight line almost completely in the X direction. </p>

<p>You want a Y reading of +/- 0.5 mm with an arm length of 1400 mm. That will require an angular accuracy of +/- 0.02 degrees.</p>

<p>Assuming you have a maximum travel of 90 degrees and you scale things such that your full ADC range is used linearly over that range then you require log(90/0.02)/log(2) = 12.1 bits resolution on your readings. So after allowing for the noise in all sensor outputs you're looking at a minimum of a 14 bit data required to give that level of resolution. </p>

<p>It's been suggested you use a pot connected to the internal 10 bit ADC. 
Assuming you used your full ADC range over 90 degrees and the 10 bit ADC reading had no noise on it you would be looking at around 2 mm accuracy. In the real world I'd be impressed if such a system could reach 5 mm accuracy.</p>

<p>Assuming you are working vertically accelerators could work, they typically have at least 16 bit resolution on the output but are noisy, you'd need to average for a long time in a very stable environment to get the levels of accuracy needed. Probably a non-starter.</p>

<p>A very quick google didn't find any easily available encoders with the required accuracy. I'm sure they exist but they are probably going to be expensive. You could possibly use gearing to improve the sensitivity of a more standard part but that's adding mechanical complexity.</p>

<p>In other words the accuracy you're aiming for isn't easy to achieve. You may want to look at relaxing your requirements a little.</p>
