I can't provide much on this. I'm not a developer, but I may be able to provide some insight. I've been wanting to find a way to calibrate the accelerometers on my droid since I installed the tricorder app. It bugs me that the X and Y axes are off by about .2 ms^-2 in both orientations. In my searches for such a calibration method, I came across this post.
The reason the accelerometers never measure zero is that there is always at least one axis being pulled by gravity. If the device is lying flat, the Z axis is pointing at (roughly) the center of the earth and should measure acceleration due to gravity (9.8 ms^-2). The other axes should be near zero, but the shoddy factory calibration makes this difficult. The company I work for manufactures marine inertial navigation systems that use accelerometers, gyros and a 3- axis electronic compass and I get to calibrate them from time to time.The way I do this (using a built in program that I've had nothing to do with) is to set the box on each side and have the calibration program take 10 readings from the relevant accelerometer, (it also takes readings from the electronic compass to help with those measurements, in case you're also working on a compass program). What I assume, is that the calibration program sets the reading from each orientation of each axis at +/- 9.2ms^-2. It probably also compares the differences in magnitudes of the signals from each sensor to further sharpen the accuracy, since I do not set these things perfectly vertical for the calibration. As long as the device is held in the same orientation within the calibration box and the outside of the box is square, the calibration program can figure it out. As for using the accelerometers to measure speed changes, I've been thinking about that to. It would be cool to, perhaps, augment a GPS speedometer with the accelerometers. Maybe to provide higher resolution without taxing the GPS receivers? In any case, its pretty complicated, I'd have to dig out my physics textbook to find the formulas. Even then it would probably take me a while to wrap my head around a combination of three axes. Then there is filtering out noise from, say, the vibrations of a car.... Any way, I hope I've been of some help. Good luck, I look forward to trying out your app.
-- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

