Hi, All. I been using MPU6050 accelerometers (board GY-521) for a while, the board is solder attached to a Wemos D1 Mini boards without a hitch. But recently I bought a large batch (500 pieces) and now the sensors reads zeros on all its values.
At this moment i randomly selected 25 pieces out of 500 and all of them give the same result.
I should point out that the very same code and wemos board works fine with the MPU6050 i already had; and in the 25 tested there is good serial communication. (no serial errors at all, but just zeros when the accel, gyro and temp reads)
Is there a possibility that there are differences on some chips (like hardware version)?
The MPU6050 was officially discontinued many years ago, and what you get these days is almost certainly a clone, counterfeit or just plain fake. Send them back.
I polled the MPU registers directly by using only the wire.h library and also tried with the Adafruit's library. In both cases the program works with the sensors I originally had; and both programs failed with the new batch.
It is the first time that I hear about a completely bogus MPU-6050. Most are counterfeits. Perhaps it is something else. Can you try to read the "WHO_AM_I" at register address 0x75 ?
It should be 0x68 for a MPU-6050.
What is your project about ?
Will there be many wires to many sensors ? The I2C was not designed to go through a wire.