Analogue or digital for sensors/mega or 2009?

I want to determine orientation (pitch, roll and yaw), and ignore other movement. As far as I understand, the best way to do this would be with a 3-axis accelerometer, 3-axis gyroscope and a 3-axis magnetometer. At least, within a reasonable budget and small size. SO that'll take up 9 pins in total - which is more than the number of analogue pins on the duemilanove, but not than on the mega.

I've read that the PMW pins accuracy is effected by the comparison between the clock of the microprocessor and the frequency, hence analogue is the more accurate choice. Does this apply to the arduino at all, though, since all of the data is digitised and exported digitally? Does it all come to the same thing? If so, I'd not be losing accuracy by choosing a PMW capable sensor and buying the cheaper board?

My concern is that the clock isn't especially accurate on the arduino, and wanted to bypass that as a problem. It could be that its plenty accurate enough for what I want, and I'm simply too n00bish to know.

Any advice appreciated, and sorry for the rambling post.

You would be better off getting all you sensors with a pure digital output and not an analogue or PWM output. You only loose accuracy in the translation back to a digital number.

Also if you get the sensors with an I2C interface then you can do the lot with only two pins. Or if you get an SPI interface then it goes up to 5 pins.

However you requirement to:-

and ignore other movement.

Might be a bit tricky because all of these sensors are subject to false signals due to translation movement or vibration.

My concern is that the clock isn't especially accurate on the arduino

I am not sure where you got that from. The clock is derived from a crystal oscillator and is stable to about 30ppm. Note that it is stability you want not accuracy so stay clear of resonators and stick to crystals.

It all depends on what you want to do and how accurate you need to be but I would start off with pure digital output sensors.

You would be better off getting all you sensors with a pure digital output and not an analogue or PWM output. You only loose accuracy in the translation back to a digital number.

Also if you get the sensors with an I2C interface then you can do the lot with only two pins. Or if you get an SPI interface then it goes up to 5 pins.

Absolute God-send. Sorry to have not researched this thoroughly before getting to questioning you guys, it's just that I want to get a board so I can get hands-on as soon as possible, and didn't want to waste my money buying the wrong one.

However you requirement to:-

and ignore other movement.

Might be a bit tricky because all of these sensors are subject to false signals due to translation movement or vibration.

I anticipated tricky, and am even expecting neigh-on impossible. I ought to re-phrase that I'm looking to eliminate as much of those readings as possible from the results. I'm not expecting perfection. :wink:

I am not sure where you got that from. The clock is derived from a crystal oscillator and is stable to about 30ppm. Note that it is stability you want not accuracy so stay clear of resonators and stick to crystals.

Apologies first off for saying matter-of-fact what I'd only 'overheard', or even worse, concluded from 'overhearing'. It was in the thread about keeping time over 4 hours - although re-reading that post, they're just rough calculations based on a few assumptions . Even if they were right, as you suggest, stability is the main concern in consistent readings.

It all depends on what you want to do and how accurate you need to be but I would start off with pure digital output sensors.

I've seen the accuracy other people have achieved with the arduino, and in the demo videos I've seen, I think it'll tick the box. Thanks for the tip, and I will definitely look for those.

For the meantime, I think it's time to order the duemelanove.