Low-cost Digital Compass Module

From ITEAD Wiki
Revision as of 08:11, 11 June 2014 by Ivy (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



This is a low cost digital compass with UART and IIC interface, it's easy to use with external controler like Arduino,IFLAT32.

Go shopping Low-cost Digital Compass Module (IM120712009)


  • Small size
  • Uart or IIC doulbe output/control interface
  • 3-5V Voltage comaptible


Measuring range 0-360 °
Resolution 0.1
Power supply 3V-5V DC
Frequency response 25Hz
Current 5 V--15mA 3V--8 mA
Size 25.6mm×25.6mm



Serial Communication Protocol

Baud rate:

9600 bps Parity: N data bits: 8 Stop bit: 1


0x31: the first angle measurement 0xC0: calibration of the magnetic field start 0xC1: the end of the calibration magnetic field 0xA0-0XAA-0XA5-0XC5: Restore default setting 0xA0-0XAA-0XA5-IIC_ADDR: IIC address of the module change 0x03 + 8bit: Setting the magnetic declination high 8 bit 0x04 + 8bit: Setting the magnetic declination low8 bit

Return Data

Byte0: 0x0D Byte1: 0x0A Byte2: 0x30 ~ 0x33 angle of one hundred (ASCII 0 ~ 3) Byte3: 0x30 ~ 0x39 angle of ten (ASCII 0 ~ 9) Byte4: 0x30 ~ 0x39 angle a bit (ASCII 0 ~ 9) Byte5: 0x2E (ASCII code decimal point) Byte6: 0x30 ~ 0x39 decimal point (ASCII 0 ~ 9) Byte7: 0x00 ~ 0xFF checksum (only lower 8bit)

You can use the Foca or USBtoTLL moudle to connect your PC with this moudle.

IIC Communication Protocol:

The IIC communication, the module is equivalent to 24C04, EEPROM memory. And you can read the different address to get the information you need.

Address Data
0x00 -
0x01 Angle value high 8bit
0x02 Angle value low 8bit
0x03 Magnetic declination high 8bit
0x04 Magnetic declination low 8bit
0x05 -
0x06 -
0x07 Calibration Level

IIC command:

Command Description
0x00+0x31 Angle measurement
0x00+0xC0 Start calibration
0x00+0xC1 Stop calibration
0x00+0xA0+0XAA+0XA5+0XC5 Restore default setting
0x00+(0xA0+0XAA+0XA5+IIC_ADDR) Change IIC address of the module
0x03+ 8bit Magnetic declination changes (high 8bit)
0x04+ 8bit Magnetic declination changes (low 8bit)
  • Default IIC address is 0xE0.



Useful Links