Hi,
I also submitted a bug report shortly ago according physics and accelerometer. Though I’m not sure if thats related to your physics question.
Last email I wrote in response to support team:
If you place iPhone on the table it doesn’t really mean that accelerometer
will point straigth down. E.g., are you sure your table is 100% straight
on the ground?
A pretty straight table, yes! I put it on a surface that I measured before with an air-lever. But even on a non-straight surface it would be easy to counter-check by simply rotating the device by e.g. 180° degrees. The sphere should roll then into the opposite direction, but it doesn’t. It’s still “this only” direction.
Besides every device will have its own unique error, that is why some
games have accelerometer calibration option. Those may be limitations of
hardware.
It’s not caused by the device! As I claimed before it also happens with disconnected device. Just disconnect your device and hit the play button in Unity. You will see, the ball will still roll into the same direction.
Also remember that PhysiX engine implements a gravity which actually has a
constant force. Though you may tune it through the options page in the
Editor.
I know! I checked the default settings of gravity in the physics manager. Then, even played around with small values of X and Z to compensate this mysterious force. The result of this is less acceleration by this “force” but at certain values it starts to swap direction. It doesn’t go away. Anyway this would have been a “bad” workaround. If this force is gravity (y = -9,81) the sphere should roll down the hill, shouldn’t it? But it’s rolling upwards, very weired!? Means: I adjusted the ground (cuboid) by little(!) rotation values pointing up in the direction of this mysterious force. As described before the sphere goes up the hill. With larger rotation values gravity will win again over this force. This happens with connected and disconnected device!
Beside noise created by the device unity produces it’s own permanent noise!
Check this: Disconnect or switch off your device! Then, open the attached example project or create your own based on the roll-a-ball example. Simply replace/deactivate theBoard and Colliders with a cuboid plane (+ collider). Add Debug.Log("dir.x = "+ dir.x + "and dir.y = " + dir.z); in the controller.js. It will log “dir.x = 0.03622437 and dir.y = 0.03622437”.
The last sentence should be corrected: instead of “dir.y” in the string it must be “dir.z”, obviously 
As nobody confirmed this until now, it could be just me or my iDevice (iPod)… . As it’s easy to reproduce this, maybe you could try it and tell me what happend. Simply import the attached package. Also I had the impression that physics materials didn’t really work. But I didn’t dig deep into this.
204999–7552–$roll_a_ball_weired_force_141.zip (586 KB)