3-Axis Compass with Algorithms
HMC6343
The Honeywell HMC6343 is a fully integrated compass module that includes
firmware for heading computation and calibration for magnetic distortions.
The module combines 3-axis magneto-resistive sensors and 3-axis MEMS
accelerometers, analog and digital support circuits, microprocessor and
algorithms required for heading computation. By combining the sensor
elements, processing electronics, and firmware into a 9.0mm by 9.0mm by
1.9mm LCC package, Honeywell offers a complete, ready to use tilt-
compensated electronic compass. This provides design engineers with the
simplest solution to integrate high volume, cost effective compasses into
binoculars, cameras, night vision optics, laser ranger finders, antenna
positioning, and other industrial compassing applications.
The HMC6343 utilizes Honeywell’s Anisotropic Magnetoresistive (AMR) technology that provides advantages over other
magnetic sensor technologies. The sensors feature precision sensitivity and linearity, solid-state construction with very
low cross-axis sensitivity designed to measure both direction and magnitude of Earth’s magnetic fields. Honeywell’s
Magnetic Sensors are among the most sensitive and reliable low-field sensors in the industry.
Honeywell continues to maintain product excellence and performance by introducing innovative solid-state magnetic
sensor solutions. Honeywell’s magnetic sensor solutions provide real solutions you can count on.
FEATURES BENEFITS
4
Compass with Heading
/Tilt
Output
s
4
ompass
solution including compass firmware
4
3
-
a
xis MR Sensors,
A
ccelerometers and
a Microprocessor in a Single Package
4
A
digital
compass
s
ead
ing and tilt angle o
utputs
in a
chip-scale package
4
Compass Algorithms
4
For computation of heading, and magnetic calibration for hard
-
iron
4
9 x 9 x 1.
9
mm LCC Surface Mount
Package
4
Small size, easy to a
ssemble and
compatible with high speed
surface mount technology assembly
4
Low
Voltage Operations
4
Compatible with battery powered a
pplications
4
EEPROM Memory
4
To store compass data for processor routines
4
Digital
Serial
Data
Interface
4
I
2
C
Interface
, easy to use 2
-
w
ire
c
ommunication
for heading o
utput
4
M
oderate Precision Outputs
4
Typical
2
° Heading Accuracy with
1° Pitch and Roll Accuracy
4
Lead Free Package Construction
4
Complies with RoHS
environmental s
tandards
4
Flexible Mounting
4
Can be mounted on horizontal or vertical circuit boards
HMC6343
2
www.honeywell.com
SPECIFICATIONS
Characteristics Conditions* Min Typ Max Units
Power Supply
Supply Voltage VDD Referenced to GND 2.7 3.3 3.6 Volts
Current All VDD pins connected together
Run Mode (10Hz Output)
Standby Mode
Sleep mode
Power-up peak (VDD = 3.3V)
3.5
4.5
10
8
5.5
1.0
mA
mA
µA
mA
Power-on Rate Minimum rise time for POR 0.05 - - V/msec
Compass Function
Field Range total applied magnetic field
(de-gauss if exposed to >5gauss) ±1 ±2 gauss
Heading Accuracy At Level, +3.3V
±15° tilt
±60° tilt
1.0 2.0
3.0
4.0
3.0 deg RMS
Heading Resolution Output Data 0.1 degrees
Heading
Repeatability Output Data (1σ) ±0.3 degrees
Heading Hysteresis Output Data (1σ) ±0.3 degrees
Update Rate Run Mode (1, 5, 10Hz) 1 5 10 Hz
Tilt Range From Horizontal ±80 degrees
Tilt Accuracy 0° to ±15°, +3.3V
±15° to ±60° ±1
±2 degrees
Tilt Resolution Output Data 0.1 degrees
Tilt Repeatability Output Data (1σ) ±0.2 degrees
Offset Straps
Resistance Measured from OFF+ to OFF- 5 8 11 ohms
Offset
Constant DC Current
Field applied in sensitive direction 10 mA/gauss
Resistance
Tempco TA=-40 to 125°C 1800 2700 4500 ppm/°C
General
Operating
Temperature Ambient -40 80 °C
Storage
Temperature Ambient, unbiased -55 125 °C
Weight 0.32 grams
ESD Voltage 400 V
MSL Moisture Sensitivity Level 3 -
Solder Temp Peak Reflow Temp (< 30 seconds) 250 °C
* Tested at 25°C and 3.3V except stated otherwise.
HMC6343
www.honeywell.com 3
FUNCTIONAL DIAGRAM
PIN CONFIGURATIONS
Pin Number Description Pin Number Description
1 NC 19 Y OFF-
2 NC 20 Y OFF+
3 VDD1 21 VDD2
4 NC 22 CS
5 NC 23 X OFF-
6 NC 24 X OFF+
7 NC 25 GND2
8 NC 26 NC
9 NC 27 NC
10 NC 28 NC
11 VDD3 29 GND1
12 NC 30 NC
13 NC 31 NC
14 NC 32 SCK/SCL
15 Z OFF- 33 NC
16 Z OFF+ 34 NC
17 NC 35 CS_CTRL
18 NC 36 SDA
Mag
Sensors
Magnetic
ASIC
Micro-
Controller
Temp
Sensor
X
Y
Z
Accel
ASIC
X
Y
Z
I2C
Mag
Sensors
Magnetic
ASIC
Micro-
Controller
Temp
Sensor
X
Y
Z
Accel
ASIC
X
Y
Z
I2C
HMC6343
4
www.honeywell.com
NC 1
NC 2
VDD1 3
NC 4
NC 5
NC 6
NC 7
NC 8
NC 9
NC 10
VDD3 11
NC 12
NC 13
NC 14
Z OFF-15
Z OFF+ 16
NC 17
NC 18
19 Y OFF-
20 Y OFF+
21 VDD2
22 CS
23 NC
24 NC
25 GND2
26 NC
27 NC
28 NC
29 GND1
30 NC
31 NC
32 SCK/SCL
33 NC
34 NC
35 CS_CTRL
36 SDA
BOTTOM VIEW
X
Y
Z
NC 1
NC 2
VDD1 3
NC 4
NC 5
NC 6
NC 7
NC 8
NC 9
NC 10
VDD3 11
NC 12
NC 13
NC 14
Z OFF-15
Z OFF+ 16
NC 17
NC 18
19 Y OFF-
20 Y OFF+
21 VDD2
22 CS
23 NC
24 NC
25 GND2
26 NC
27 NC
28 NC
29 GND1
30 NC
31 NC
32 SCK/SCL
33 NC
34 NC
35 CS_CTRL
36 SDA
BOTTOM VIEW
X
Y
Z
HMC6343
www.honeywell.com 5
PACKAGE OUTLINES
PACKAGE DRAWING HMC6343 (32 -PIN LPCC, dimensions in millimeters)
Dimensions (mm) Minimum Nominal Maximum
A (height) 1.73 1.87 2.02
D - 9.00 BSC -
D1 - 6.40 BSC -
E - 9.00 BSC -
E1 - 6.40 BSC -
e - 0.8 Basic -
MOUNTING CONSIDERATIONS
The following is the recommend printed circuit board (PCB) footprint for the HMC6343. All dimensions are nominal and in
millimeters.
Stencil Design and Solder Paste
A 4-6 mil stencil and 100% paste coverage is recommended for the electrical contact pads. The HMC6343 has been
assembled successfully with no-clean solder paste.
.
0.34±0.03
D
0.57±0.03
0.10±0.08
E
e
E1
D1
Pin 1
Bottom View
0.34±0.03
D
0.57±0.03
0.10±0.08
E
e
E1
D1
Pin 1
Bottom View
HMC6343
6
www.honeywell.com
BASIC DEVICE OPERATION
The Honeywell HMC6343 magnetoresistive sensor circuit is a trio of magnetic sensors, accelerometers, and analog
support circuits to measure magnetic fields. Additionally a microcontroller is integrated for computation of direction and
calibration. With power supply applied, the sensor converts any incident magnetic field in the sensitive axis direction to a
differential voltage output. In addition to the bridge circuit, the sensors have on-chip magnetically coupled offset straps for
incident field adjustment.
The circuit is sensitive to power supply noise, and adding a 1.0 microfarad ceramic capacitor is recommended on the
positive supply to help reduce noise. Also careful layout practices should be enforced to keep high current traces (>10mA)
a few millimeters away from the sensors. Also, since the sensors are typically sensing the earth’s magnetic field direction,
avoid employing RF/EMI shields using ferrous metals or coatings.
BASIC SCHEMATIC INTERFACE
Offset Straps
The three offset straps have a spiral of metallization that couples in the sensor element’s sensitive axis. The straps will
handle currents to buck or boost fields through the ±4 gauss linear measurement range, but designers should note the
thermal heating on the die when doing so.
With most applications, the offset strap is not utilized and can be ignored. Designers can leave one or both strap
connections (Off- and Off+) open circuited, or ground one connection node.
Operational Modes
The HMC6343 has three operational modes; Sleep, Standby, and Run. Sleep mode is defined as having the analog
circuitry powered off, and has the lowest power consumption while power is applied to the VDD pins. Standby mode has
the HMC6343 fully powered, but with no measurements performed and the processor is waiting for commands to perform.
Run mode is fully engaged in continuous measurements at the set rate, and ready to receive further commands. The
operational mode settings are stored in EEPROM register 0x04, and shown further the HMC6343 protocol definition.
HMC6343
VDD2
GND1
VDD1
VDD3
HOST
µP
SCL
SDA
21
29
32
36
3
11
+3.3V
10k10k
I2C_CLK
I2C_DATA
VDD
GND
CS
CS_CTRL
22
35
1uF
25
GND2
HMC6343
VDD2
GND1
VDD1
VDD3
HOST
µP
SCL
SDA
21
29
32
36
3
11
+3.3V
10k10k
I2C_CLK
I2C_DATA
VDD
GND
CS
CS_CTRL
22
35
1uF
25
GND2
HMC6343
www.honeywell.com 7
Mounting Orientations
The HMC6343 provides for three standard mounting orientations, with a flat horizontal orientation (Level) as the factory
default. For vertical mounting, there are two upright orientations with either the X-axis or the Z-axis designated as the
forward reference directions. To change the forward reference direction temporarily, send the appropriate command byte
(0x72, 0x73, or 0x74) for level or upright orientations. For other orientations, you can add or subtract 90 degree
increments of deviation angle as required from the three choices. The figure below shows pictorially the orientations.
To permanently change orientation, poke EEPROM Operational Mode Register 1 (0x04) with the appropriate binary bits
set for Level, Upright Edge (UE), or Upright Front (UF). The HMC6343 will operate in the selected orientation after a
power-up or reset command. More on the EEPROM registers in the following sections.
I2C COMMUNICATION PROTOCOL
The HMC6343 communicates via a two-wire I
2C bus system as a slave device. The HMC6343 uses a layered protocol
with the interface protocol defined by the I
2C bus specification, and the lower command protocol defined by Honeywell.
The data rate is the standard-mode 100kbps rate as defined in the I2C Bus Specification 2.1. The bus bit format is an 8-bit
Data/Address send and a 1-bit acknowledge bit. The format of the data bytes (payload) shall be case sensitive ASCII
characters or binary data to the HMC6343 slave, and binary data returned. Negative binary values will be in two’s
complement form. The default (factory) HMC6343 7-bit slave address is 0x32 for write operations, or 0x33 for read
operations.
The HMC6343 Serial Clock (SCL) and Serial Data (SDA) lines do not have internal pull-up resistors, and require resistive
pull-ups (Rp) between the master device (usually a host microprocessor) and the HMC6343. Pull-up resistance values of
about 10k ohms are recommended with a nominal 3.3-volt supply voltage. Other values may be used as defined in the I2C
Bus Specification 2.1.
The SCL and SDA lines in this bus specification can be connected to a host of devices. The bus can be a single master to
multiple slaves, or it can be a multiple master configuration. All data transfers are initiated by the master device which is
responsible for generating the clock signal, and the data transfers are 8 bit long. All devices are addressed by I
2C’s
unique 7 bit address. After each 8-bit transfer, the master device generates a 9 th clock pulse, and releases the SDA line.
HONEYWELL
HMC6343
0626
x
YZ
LEVEL
Y
X
Z
UPRIGHT EDGE
Y
UPRIGHT FRONT
X
Z
0x72 0x73 0x74
HMC6343 ORIENTATIONS
Red Arrow is the Forward Direction
HONEYWELL
HMC6343
0626
x
YZ
LEVEL
Y
X
Z
UPRIGHT EDGE
Y
UPRIGHT FRONT
X
Z
0x72 0x73 0x74
HMC6343 ORIENTATIONS
Red Arrow is the Forward Direction
HMC6343
8
www.honeywell.com
The receiving device (addressed slave) will pull the SDA line low to acknowledge (ACK) the successful transfer or leave
the SDA high to negative acknowledge (NACK).
Per the I
2C spec, all transitions in the SDA line must occur when SCL is low. This requirement leads to two unique
conditions on the bus associated with the SDA transitions when SCL is high. Master device pulling the SDA line low while
the SCL line is high indicates the Start (S) condition, and the Stop (P) condition is when the SDA line is pulled high while
the SCL line is high. The I
2C protocol also allows for the Restart condition in which the master device issues a second
start condition without issuing a stop.
All bus transactions begin with the master device issuing the start sequence followed by the slave address byte. The
address byte contains the slave address; the upper 7 bits (bits7-1), and the Least Significant bit (LSb). The LSb of the
address byte designates if the operation is a read (LSb=1) or a write (LSb=0). At the 9 th clock pulse, the receiving slave
device will issue the ACK (or NACK). Following these bus events, the master will send data bytes for a write operation, or
the slave will clock out data with a read operation. All bus transactions are terminated with the master issuing a stop
sequence.
I2C bus control can be implemented with either hardware logic or in software. Typical hardware designs will release the
SDA and SCL lines as appropriate to allow the slave device to manipulate these lines. In a software implementation, care
must be taken to perform these tasks in code.
I2C Slave Address
The I
2C slave address byte consists of the 7 most significant bits with the least significant bit zero filled. As described
earlier, the default (factory) value is 0x32 and the legal I
2C bounded values are between 0x10 and 0xF6. This slave
address is in EEPROM address 0x00. Users can change the slave address by writing to this location. Any address
updates will become effective after the next power up or after a reset command.
Software Version
This EEPROM software version number byte contains the binary value of the programmed software. Values of 0x05 and
beyond are considered production software.
Deviation Angle Correction
Typically the HMC6343 X-axis (or Z-axis) is designated the forward direction of the compass, and is placed mechanically
towards the forward direction of the end user product. The deviation angle is used to correct for mechanical angle errors
in package orientation by adding the deviation angle to the internal compass heading before the result is placed as the
computed heading. Two EEPROM Bytes are used to store the deviation angle, and the binary value is in tenths of a
degree and in two’s complement form for a ±1800 representation. The deviation angle MSB is located in EEPROM
register 0x0B and the LSB in 0x0A.
Variation Angle Correction
The variation angle or declination angle of the HMC6343 is the number of degree that must be added to the internal
compass heading to convert the magnetic north reference direction to the geographic (true) north reference direction. This
angle information is provided to the HMC6343 from external latitude and longitude data processed through a World
Magnetic Model equation to compute variation angle, or by lookup table. Two EEPROM Bytes are used to store the
variation angle, and the binary value is in tenths of a degree and in two’s complement form for a ±1800 representation.
The deviation angle MSB is located in EEPROM register 0x0D and the LSB in 0x0C.
Magnetometer Offsets
The Magnetometer Offset bytes are the values stored after the completion of the last factory or user hard-iron calibration
routine. Additional value changes are possible, but will be overwritten when the next calibration routine is completed. Note
that these offset values are added to the sensor offset values computed by the set/reset routine to convert the raw
magnetometer data to the compensated magnetometer data. These values are written into EEPROM addresses 0x0E to
0x13 and loaded to RAM on the power up.
HMC6343
www.honeywell.com 9
Heading Filter
This allows for an Infinite Impulse Response (IIR) filter to be employed on current and previous heading data outputs.
Typical values are 0 to 15 with a factory default of zero. The filter is only applied in run mode where a continuous stream
of data is present. At the 5Hz default update rate, a filter value of 4 would weight the latest heading with the previous four
headings of regressive weightings for a second’s worth of filtering.
EEPROM Registers
The HMC6343 contains EEPROM non-volatile memory locations (registers) to store useful compass data for processor
routines. The following Table shows the register locations, content, description, and factory shipped defaults.
Table 1 EEPROM Registers
EEPROM
Location Content Description Factory Default
0x00 Slave Address I2C Slave Address 0x32
0x01 Reserved
0x02 S/W_Version Software Version Number
0x03 Reserved
0x04 OP_Mode1 Operational Mode Register 1 0x11
0x05 OP_Mode2 Operational Mode Register 2 0x01
0x06 S/N LSB Device Serial Number
0x07 S/N MSB Device Serial Number
0x08 Date Code: YY Package Date Code: Last Two Digits of the Year Year
0x09 Date Code: WW Package Date Code: Fiscal Week Week
0x0A Deviation LSB Deviation Angle (±1800) in tenths of a degree 0x00
0x0B Deviation MSB Deviation Angle (±1800) in tenths of a degree 0x00
0x0C Variation LSB Variation Angle (±1800) in tenths of a degree 0x00
0x0D Variation MSB Variation Angle (±1800) in tenths of a degree 0x00
0x0E X_Offset LSB Hard-Iron Calibration Offset for the X-axis 0x00
0x0F X_Offset MSB Hard-Iron Calibration Offset for the X-axis 0x00
0x10 Y_Offset LSB Hard-Iron Calibration Offset for the Y-axis 0x00
0x11 Y_Offset MSB Hard-Iron Calibration Offset for the Y-axis 0x00
0x12 Z_Offset LSB Hard-Iron Calibration Offset for the Z-axis 0x00
0x13 Z Offset MSB Hard-Iron Calibration Offset for the Z-axis 0x00
0x14 Filter LSB Heading IIR Filter (0x00 to 0x0F typical) 0x00
0x15 Filter MSB Heading IIR Filter (set at zero) 0x00
HMC6343
10
www.honeywell.com
Command Protocol
The command protocol defines the content of the data (payload) bytes of I2C protocol sent by the master, and the slave
device (HMC6343). Note that angular outputs are in tenths of a degree (0-3600 heading, ±0-900 tilt).
After the master device sends the 7-bit slave address, the 1-bit Read/Write, and gets the 1-bit slave device acknowledge
bit returned; the next one to three sent data bytes are defined as the input command and argument bytes. To conserve
data traffic, all response data (Reads) will be context sensitive to the last command (Write) sent. All write commands shall
have the address byte least significant bit cleared (factory default 0x32). These commands then follow with the command
byte and command specific binary formatted argument bytes in the general form of:
(Command Byte) (Argument Binary MS Byte) (Argument Binary LS Byte)
The slave (HMC6343) shall provide the acknowledge bits between each data byte per the I2C protocol. Response byte
reads are done by sending the address byte (factory default 0x33) with the least significant bit set, and then clocking back
response bytes, last command dependant. Table 2 shows the HMC6343 command and response data flow.
Table 2 HMC6343 Interface Commands/Responses
Command
Byte
(hex)
Argument 1 Byte
(Binary) Argument 2 Byte
(Binary) Response Bytes
(Binary) Command Description
(0x40) MSB/LSB Data
(6 Bytes) Post Accel Data. AxMSB, AxLSB,
AyMSB, AyLSB, AzMSB, AzLSB
(0x45) MSB/LSB Data
(6 Bytes) Post Mag Data. MxMSB, MxLSB,
MyMSB, MyLSB, MzMSB, MzLSB
(0x50) MSB/LSB Data
(6 Bytes)
Post Heading Data. HeadMSB,
HeadLSB, PitchMSB, PitchLSB,
RollMSB, RollLSB
(0x55) MSB/LSB Data
(6 Bytes)
Post Tilt Data. PitchMSB, PitchLSB,
RollMSB, RollLSB, TempMSB,
TempLSB
(0x65) Post OP Mode 1 Read the current value of OP Mode 1
(0x71) Enter User Calibration Mode
(0x72)
Level Orientation (X=forward, +Z=
up)
(default)
(0x73)
Upright Sideways Orientation
(X=forward, Y=up)
(0x74)
Upright Flat Front Orientation
(Z=forward, -X=up)
(0x75) Enter Run Mode (from Standby Mode)
(0x76) Enter Standby Mode (from Run Mode)
(0x7E) Exit User Calibration Mode
(0x82) Reset the Processor
(0x83) Enter Sleep Mode (from Run Mode)
(0x84) Exit Sleep Mode (to Standby Mode)
(0xE1) EEPROM Address Data (1 Byte) Read from EEPROM
(0xF1) EEPROM Address Data Write to EEPROM
HMC6343
www.honeywell.com 11
Timing
Upon power application to the HMC6343, wait nominally 500 milli-seconds before sending the first I2C command (typically
a 0x32 byte followed by a 0x50 byte for the usual heading/pitch/roll). Depending on the command sent, a delay time
should be inserted before clocking out the response bytes (send 0x33, clock back response bytes). The following table
indicates the response delay times for various commands.
Table 3 HMC6343 Command to Response Delay Times
Prior
Command
(hex) Commanded Action Response Bytes & Description
Res
ponse/Delay
Time
(milli-seconds)
Power
Applied VDD1-3 low to high No Response Data 500 nominally
0x40 Post Accel Data.
6 binary data Bytes. AxMSB, AxLSB,
AyMSB, AyLSB, AzMSB, AzLSB
1
0x45 Post Mag Data.
6 binary data Bytes.
MxMSB, MxLSB,
MyMSB, MyLSB, MzMSB, MzLSB
1
0x50 Post Heading Data.
6 binary data Bytes. HeadMSB, HeadLSB,
PitchMSB, PitchLSB, RollMSB, RollLSB
1
0x55 Post Tilt Data.
6 binary data Bytes. PitchMSB, PitchLSB,
RollMSB, RollLSB, TempMSB, TempLSB
1
0x65 Post OP Mode 1 OP Mode 1 1
0x71 Enter User Calibration
Mode No Response Data 0.3
0x72 Level Orientation (X=forward, +Z=up) (default) No Response Data 0.3
0x73 Upright Sideways
Orientation (X=forward, Y=up) No Response Data 0.3
0x74 Upright Flat Front
Orientation (Z=forward, -X=up) No Response Data 0.3
0x75 Enter Run Mode No Response Data 0.3
0x76 Enter Standby Mode No Response Data 0.3
0x7E Exit User Calibration
Mode No Response Data 50
0x82 Reset the Processor No Response Data 500
0x83 Enter Sleep Mode No Response Data 1
0x84 Exit Sleep Mode No Response Data 20
0xE1 Read from EEPROM,
RAM 1 binary data Byte 10
0xF1 Write to EEPROM, RAM No Response Data. Data Settling Time 10
HMC6343
12
www.honeywell.com
Operational Mode Registers
EEPROM registers 0x04 and 0x05 contain bits that are read for operational mode status and for setting the Run Mode
measurement rate. The tables below describe the register contents and interpretation. It is recommended that Operational
Mode Register 1 and 2 written only to change default orientation and update measurement rate.
Table 4 Operational Mode Register 1 (EEPROM 0x04)
OM1_7 OM1_6 OM1_5 OM1_4 OM1_3 OM1_2 OM1_1 OM1_0
Comp(0) Cal(0) Filter(0) Run(1) Stdby(0) UF(0) UE(0) Level(1)
Table 5 Operational Mode Register 1 Bit Designations
Location Name Description
OM1_7 Comp Calculating compass data if set. (read only)
OM1_6 Cal Calculating calibration offsets if set. (read only)
OM1_5 Filter IIR Heading Filter used if set.
OM1_4 Run Run Mode if set.
OM1_3 Stdby Standby Mode if set.
OM1_2 UF Upright Front Orientation if set.
OM1_1 UE Upright Edge Orientation if set.
OM1_0 Level Level Orientation if set
Table 6 Operational Mode Register 2 (EEPROM 0x05)
OM2_7 OM2_6 OM2_5 OM2_4 OM2_3 OM2_2 OM2_1 OM2_0
(0) (0) (0) (0) (0) (0) MR1(0) MR0(1)
Table 7 Operational Mode Register 2 Bit Designations
Location Name Description
OM2_7 to
OM2_2 0 These bits must be cleared for correct operation.
OM2_1 to
OM2_0 MR1, MR0
Measurement Rate
0,0 = 1Hz
0,1 = 5Hz (default)
1,0 = 10Hz
1,1 = Not Assigned
User Hard-Iron Calibration
The HMC6343 provides a user calibration routine with the 0x71 command permitting entry into the calibration mode and
the 0x7E command to exit the calibration mode.
After entering the calibration mode, rotate the device reasonably steady for 360 degrees about the Y (Left - Right) axis
and then 360 degrees about Z (Up - Down) axis. During the first rotation, maintain the Y axis at Level as much as
possible. Maintain the Z axis upright as much as possible during the second rotation and until the exit calibration
HMC6343
www.honeywell.com 13
command is issued. The first rotation can also be done by rotating 360 degrees about X (Fore -Aft) axis. Then exit
calibration.
The calibration routine collects these readings to correct for hard-iron distortions of the magnetic field. These hard-iron
effects are due to magnetized materials nearby the HMC6343 part that in a fixed position with respect to the end user
platform. An example would be the magnetized chassis or engine block of a vehicle in which the compass is mounted
onto. Upon exiting the calibration mode, the resulting magnetometer offsets are updated.
Example Communication
For basic power up and compassing using the defaults, the flowing order of operations is recommended:
1. Apply power to the VDD pins (nominally +3.3 volts)
2. Wait at least 500 milli-seconds for device initialization. The HMC6343 is in the default Run Mode.
3. Send 0x32 and 0x50 to command the Heading and Tilt Data to be clocked out next.
4. Wait at least 1 milli-second to allow the HMC6343 to process the command.
5. Send 0x33 and clock back six more response Bytes from the HMC6343. These will be the Heading, Pitch and
Roll Byte pairs; binary format in tenths of a degree with 2’s compliment on pitch and roll angles. (0 to 3600
heading, ±900 pitch, and ±900 roll)
6. Repeat steps 3 - 5 every 200 milli-seconds or longer to get fresh data from the default 5Hz update rate.
ORDERING INFORMATION
Ordering Number Product Packaging
HMC6343
HMC6343-demo
HMC6343-eval
3 axis Compass with Algorithms
Development Kit
Evaluation Board
Tubes
Demo Board, USB Cable
and Demo Software
Board
FIND OUT MORE
For more information on Honeywell’s Magnetic Sensors visit us online at www.magneticsensors.com or contact us at
800-323-8295 (763-954-2474 internationally).
The application circuits herein constitute typical usage and interface of Honeywell product. Honeywell does not warranty or assume liability of customer-
designed circuits derived from this description or depiction.
Honeywell reserves the right to make changes to improve reliability, function or design. Honeywell does not assume any liability arising out of the
application or use of any product or circuit described herein; neither does it convey any license under its patent rights nor the rights of others.
U.S. Patents 4,441,072, 4,533,872, 4,569,742, 4,681,812, 4,847,584 and 6,529,114 apply to the technology described
Honeywell
12001 Highway 55
Plymouth, MN 55441
Tel: 800-323-8295
www.honeywell.com
Form #900357
October 2008
©2008 Honeywell International Inc.
Caution
This part is sensitive to damage
by electrostatic discharge. Use ESD
precautionary procedures when
touching, removing or inserting.
CAUTION: ESDS CAT. 1A
Caution
This part is sensitive to damage
by electrostatic discharge. Use ESD
precautionary procedures when
touching, removing or inserting.
Caution
This part is sensitive to damage
by electrostatic discharge. Use ESD
precautionary procedures when
touching, removing or inserting.
CAUTION: ESDS CAT. 1A