I have constructed a piezo-resistive sensor using graphite. I managed to obtain the output voltage of 0-5V by using the ADC of my Arduino to read the sensor. But I have no idea how to calculate its sensitivity. Any suggestions?

Some things on this post were similar to my question: Calculate G's of an Accelerometer

But I need to know how to calculate the mV/g instead of getting it from the datasheet.

  • \$\begingroup\$ Have you tried putting it on a fixed, flat, level surface? \$\endgroup\$ Commented Sep 30, 2014 at 20:10

1 Answer 1


Presumably you're on Earth fairly near the surface. Find a table (or a machinist's surface plate). You can use a spirit level to make sure it's reasonably close to level. If you point the accelerometer vertically one way you get +1g and the other way you get -1g, so if you get it close to vertical each way, measure the mV and divide the (signed) difference by two you'll get the sensitivity in mV/g.

Add the two and you'll get some measure of the offset (but it will depend on hysteresis and nonlinearity in your accelerometer).

Trying to measure the offset by pointing the accelerometer horizontally is a lot more difficult because it's a sin(\$\theta\$) function rather than a cos(\$\theta\$) function so a relatively small angular error results in a relatively large error in g. For the same reason, small errors in angle don't matter so much when measuring the sensitivity with the accelerometer close to vertical in either direction.

To calibrate it in between 0g and +/-1g precisely you can use a machinists's index head, or less accurately, machinist's rotary table.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.