I am using MPU 6050 as part of a flight controller for a school project. I need to get very accurate and repeatable Pitch and Roll angles.
Using MPU 6050 without DMP, gyro drifts, accelerometers are noisy. I have tried running average filter to smooth out accelerometer data and a comparative (difference between 5 consecutive readings) filter to try to eliminate gyro drift.
Using DMP, the response was slow.
I was considering if changing to a better IMU such as ISM330DHCX would provide better data with less onboard computation on the Arduino Mega
Much lower noise, more accurate, faster. The data sheets have all the details, but it is extremely unlikely that you have an original MPU6050, as they were discontinued by the original manufacturer years ago.
Wiring wise it should be the same, +5v.
Both devices are 3.3V only. The module you buy may have a voltage regulator, but you need logic level shifters to use either with a 5V Arduino.
I am referring to your Github library for another approach to the MPU which uses quaternion computation.
I am running basic trials which seam to be stable in Roll and Pitch. Roll I need to modify to get an output cantered at 0, not 180. must be related to the atan2 function.
with MPU flat, roll is 180 deg.
shifting clockwise by 10deg would reduce the output to 170
shifting counter-clockwise would produce an output to -170 deg
I need to have 0 at flat position, then +ve angles for clockwise and -ve for counter-clockwise