Compass 3-Axis QMC5883L Module Magnetometer (GY-271)
(0 review)

85.40 85.4 ZAR 85.40 VAT Included

87.36 VAT Included

Not Available For Sale

This combination does not exist.


Internal Reference: SEN-014

Compass 3-Axis QMC5883L Module Magnetometer (GY-271)

Compass 3-Axis QMC5883L module Specifications

The Compass Module is designed for low-field magnetic sensing with a digital interface, to provide heading information for your microcontroller project.

This compact sensor fits into small projects such as UAVs and robot navigation systems.
The sensor converts any magnetic field to a differential voltage output on 3 axes. This voltage shift is the raw digital output value, which can then be used to calculate headings or sense magnetic fields coming from different directions. Example codes in C are provided below.

Compass 3-Axis QMC5883L module Key Features:

  • Measures Earth’s magnetic fields
  • Precision in-axis sensitivity and linearity
  • Designed for use with a large variety of microcontrollers with different voltage requirements
  • Datasheet.

Compass 3-Axis QMC5883L Module Magnetometer (GY-271) Example Code:

This example sketch shows a reading of a heading from an QMC5883L triple-axis magnetometer on the Arduino Serial monitor.

#include <Arduino.h>
#include <Wire.h>  // I2C Library
#include <QMC5883LCompass.h>    // QMC5883L Compass Library                        

QMC5883LCompass compass;

void setup() {

 Serial.begin(9600);                                                  // Initialize the serial port.
 Serial.print("Sample code from botshop\n ");
  Wire.begin();                                                         // Initialize I2C.
 Serial.print(" Initialize I2C.\n ");
 compass.init();                                                     // Initialize the Compass.
 Serial.print(" Initialize the Compass.\n ");

void loop() {
  int x, y, z;;                                 // Read compass values

  x = compass.getX();
  y = compass.getY();
  z = compass.getZ();

  Serial.print("X: ");
  Serial.print("   Y: ");
  Serial.print("   Z: ");


Technical Specification:

Parameter                                              QMC5883L

Voltage Supply (Vs)                              2.16V ~ 3.6V  

Digital Supply (VDDIO) (max)             1.65V ~ 3V6    

Interface                                                     I2C

I2C Address (R,W) [RW]                        0x0D [R/W]

I2C rates (kHz)                                         100,400

Resolution (ADC)                                      16Bits

Gauss Resolution                                +-2mG~ +-8G

Acquisition time                                        6ms                   

Active current (7Hz,10Hz)                        75uA

Operating temperature                     -40°C ~ 85°C