3-Axis Compass module, I2C based QMC5883 digital compass. This ASIC is equipped with high resolution magneto-resistive sensors and a 16-bit ADC. It provides compass heading accuracy up to 1° to 2°. Signal conditioning like amplification, automatic degaussing strap drivers and offset cancellation are inbuilt. User can connect any 3.3V to 5V DC power supply.

Below is a register map that might help you understand what you can get from this module. There are totally 14 registers provided by QMC5883L. Two Control Registers decide the working mode of the device, they come with address “09H” and “0AH”. Most of the remaining registers are read only data output registers, status register and identification registers.

In this example we will make the module output the heading angle between South and this module.


DownLoad Url osoyoo.com
Hi
I tried this and i get
isHMC_= 0
isQMC_= 0
Could not find a valid QMC5883 sensor, check wiring!
Forgot to mention
I2C Scanner reports 0x0C as address.
Is this right?
I purchased two GY-87 modules and one GY-271 module. The GY-87 features the HP5883 magneto-sensor chip, while the GY-271 uses the L883 chip. Regarding Arduino IDE compatibility, the L883 chip works with the library written for the HMC5883. However, none of the HMC5883, QMC5883L, or QMC5883P libraries are suitable for the HP5883 chip! The registers and register bits for these three chips differ significantly. Getting the HP5883 to work is like fishing in murky water. Does anyone have any information on this? Another issue is that the GY-87 module does not operate on 5V VCC; a dual-MOSFET level shifter doesn’t do the trick. It only works with 3.3V.