Using 2 IMU's to create a relative absolute reference point


I have been working on a project and seems like we have hit a bit of a roadblock, being relatively new to arduino, on a way to get absolute reference point for wearable tracking, maybe the approach needs to be different but I wanted to ask if anyone thinks there is a way to accomplish this using current approach, or if there is a better way:

Goal: we wish to track relative movement of hand compared to forearm

Current approach: use 2 IMU 9250 sensors, one on hand, one on forearm, and try using the difference in relative movement. So if the hand and forearm move together, we don't care, but if hand moves in relation to forearm in any direction, capture the difference in BOTH value, as well as orientation (hand moves + hand moves in downwards direction)

This is a bit challenging to find since the raw values go roughly from 0 to positive 16,000 (90 degrees) then decrease back to 0, giving us raw values we cannot distinguish from up or down (relative to the forearm, not Earth)

Would love to get some help/thoughts from anyone!!!


A properly programmed and calibrated consumer grade IMU like the BNO055 can track the [u]orientation[/u] of an object in space, relative to North and Down, to roughly +/- 2 degrees along each of the three axes.

Defining [u]position[/u] with a consumer grade IMU is nearly hopeless, as discussed here.

I have no idea what you mean by the "raw values" from your 9250 sensor.

thanks jremington, the raw values are the actual values we get from the 9250 board (, alongside the x, y, z (gyro) axes. The accelerometer data (along x,y) is pretty consistent and the "raw values" go from -16,000 to 16,000