±30 Gauss, Monolithic, High
Performance, Low Cost 3-axis
Magnetic Sensor

MMC5603NJFEATURES Monolithic integrated 3-axis AMR magnetic
sensor and electronic circuits requiring fewer
external components
 Superior Dynamic Range and Accuracy:
 ±30 G FSR
 20bits operation mode
 0.0625mG per LSB resolution
 2 mG total RMS noise Enables heading accuracy of 1º Sensor true frequency response up to 1KHz Ultra-Small Wafer Level Package 0.8x0.8x0.4mm
 On-chip automatic degaussing with built-in
SET/RESET function
 Eliminates thermal variation induced offset
error (Null field output) Clears the residual magnetization resulting
from strong external fields
 On-chip sensitivity compensation
 On-chip temperature sensor
 Selftest signal available
 Data_ready Interrupt (I3C only) Low power consumption
 1 µA power down current
 I2C slave, FAST (≤400 KHz) mode
 I3C interface available
 1.62V to 3.6V wide range single power supply
 1.2V logic IO
 RoHS compliant

APPLICATIONS Electronic Compass & GPS Navigation
 Position Sensing

Information furnished by MEMSIC is believed to be accurate and reliable.
However, no responsibility is assumed by MEMSIC for its use, or for any
infringements of patents or other rights of third parties which may result fromits use. No license is granted by implication or otherwise under any patent or
patent rights of MEMSIC.

MEMSIC MMC5603NJ Rev.B

Page 1 of 18

FUNCTIONAL BLOCK DIAGRAMDESCRIPTION
The MMC5603NJ is a monolithic complete 3-axis AMR
magnetic sensor with on-chip signal processing andintegrated digital bus (I2C fast mode and I3C interface),the device can be connected directly to a
microprocessor, eliminating the need for A/D
converters or timing resources.
It can measure magnetic fields within the full scale
range of 30 Gauss (G), with up to 0.0625mG per LSB
resolution at 20bits operation mode and 2mG total RMS
noise level, enabling heading accuracy of 1º inelectronic compass applications. Contact MEMSIC foraccess to advanced calibration and tilt-compensation
algorithms.
An integrated SET/RESET function provides for theelimination of error due to Null Field output change withtemperature. In addition it clears the sensors of any
residual magnetic polarization resulting from exposure
to strong external magnets. The SET/RESET function
can be performed for each measurement or periodicallyas the specific application requires.
The MMC5603NJ is in wafer level package with anultra-small size of 0.8x 0.8 x 0.4 mm and with anoperating temperature range from -40 C to +85 C.

www.memsic.com

Formal release: 1/17/2022

SPECIFICATIONS (Measurements @ 25 C, unless otherwise noted; VDD= 1.8 V, Auto_SR_en=1, unless otherwise specified)Parameter
Field Range (Each Axis)1
Supply Voltage
VIO
Supply Voltage rise time
Supply Current2,3(100 measurements/second)
Power Down Current3
Operating Temperature
Storage Temperature
Linearity Error3(Best fit straight line)
Hysteresis3
Repeatability Error3
Alignment Error
Transverse Sensitivity
Total RMS Noise3

Conditions
Total applied field
VDD

Min

Typ

1.62
1.2

30
1.8
1.8

BW=00
BW=01
BW=10
BW=11

Sensitivity Change Over
Temperature3

3.6
VDD
10.0
4.0
3.0
1.6
1.0
1.2
85
125

G
V
V
ms
mA
mA
mA
mA
µA
C
C

0.5

0.75

%FS

0.02
0.02
1.0
2.0
1.5
2.0
3.0
4.0
20

0.1
0.1
3.0
5.0
2.5
4.0
5.0
7.0

%FS
%FS
Degrees
%
mG
mG
mG
mG
Bits
Hz
Hz
Hz
Hz
Degrees%counts/G
counts/G
counts/G-40-55
FS=±30 G
Happlied=±15 G
3 sweeps across ±30 G
3 sweeps across ±30 G

BW=00
BW=01
BW=10
BW=11
BW=00
BW=01
BW=10
BW=11

75
150
255
255
1.0

Heading accuracy3,5
Sensitivity3,6,8

Units

3.4
2.4
1.3
0.75
1.0

Output resolution
Max Output data rate4

Max

30 G
With16bits operation
With18bits operation
With 20bits operation-40~85 C
Delta from 25 C30 G

-5
1024
4096
16384

5

%

1.0

G
CountsCountsCounts

0.2

1.0

mG/C

0.8

1.0

2.0

10,0003.0

C/Count
G
G
mG

-1.0
Null Field Output8

With16bits operation
With18bits operation
With 20bits operation

Null Field Output Change Over
Temperature3
Temperature Sensor Output3
Disturbing Field7
Maximum Exposed Field
Output Repeatability3

1000
3.0
5

32768
131072524288

0.6
32

NOTES:
1.
2.
3.
4.
5.
6.
7.
8.

External magnetic field on each axis not continuously higher than 16G.
Supply current is proportional to how many measurements performed per second, 75Hz (maximum) for BW=00.
Based on 3lots characterization result.
The 1000 Hz ODR is available by writing 255 into Register ODR and setting hpower to 1.
MEMSIC product enables users to utilize heading accuracy to be 1.0 degree typical when using MEMSIC’s proprietary software or algorithm.
Sensitivity of the orthogonal axes is analytically derived from raw data and is subsequently processed by MEMSIC software drivers.
This is the magnitude of external field that can be tolerated without changing the sensor characteristics. If the disturbing field is exceeded, a SET/RESET
operation is required to restore proper sensor operation.
Based on shipment test result.

MEMSIC MMC5603NJ Rev. B

Page 2 of 18

Formal release: 1/17/2022

I2C INTERFACE I/O CHARACTERISTICS (VIO=1.8 V)
Parameter

SymbolLogic Input Low Level

VIL

Logic Input High Level

Test Condition

Min.

Typ.

Max.

Unit

-0.5

0.3* VIO

V

VIH

0.7*VIO

VIO

V

Hysteresis of Schmitt input

Vhys

0.2

Logic Output Low Level

VOL

Input Leakage Current

Ii

SCL Clock Frequency

V
0.4

V

-10

10

µA

fSCL

0

400

kHz

START Hold Time

tHD;STA

0.6µS

START Setup TimetSU;STA

0.6µS

LOW period of SCL

tLOW

1.3

µS

HIGH period of SCL

tHIGH

0.6

µS

Data Hold TimetHD;DAT0

Data Setup TimetSU;DAT

0.1

Rise Timetr

From VIL to VIH

0.3

µS

Fall TimeBus Free Time Between STOP andSTART
STOP Setup Timetf

From VIH to VIL

0.3

µS

0.1VIO<Vin<0.9VIO

0.9

µS
µS

tBUF

1.3

µS

tSU;STO

0.6

µS

SDA
tf

tLOW

tr

tf

tSU;DATtHD;STA

tSP

tr

tBUF

SCL
tHD;STAS

tHD;DATtHIGHtSU;STASrtSU;STOPS

Timing Definition

MEMSIC MMC5603NJ Rev. B

Page 3 of 18

Formal release: 1/17/2022

MARKING ILLUSTRATIONABSOLUTE MAXIMUM RATINGS*
Supply Voltage
Storage Temperature
Maximum Exposed Field-0.5 to +5 V
-55 C to +125 C
10000 G

Note: Stresses above those listed under Absolute Maximum
Ratings may cause permanent damage to the device. This isa stress rating only; the functional operation of the device atthese or any other conditions above those indicated in theoperational sections of this specification is not implied.
Exposure to absolute maximum rating conditions forextended periods may affect the device’s reliability.

Pin Description: WLP Package

Z
X

Y

Note: “Number” (top-left character) is used todifferentiate between similar devices. The black dot
marks the location of pin one (1). The 2nd line
represents the device’s Lot Number.

Pin

Name

Description

I/O

A1

VSA

Connect to Ground

P

A2

SCL

Serial Clock Line

I

B1

VDD

Power Supply

P

THEORY OF OPERATION

B2

SDA

Serial Data LineI/O

The Anisotropic Magneto-Resistive (AMR) sensors are
special resistors made of permalloy thin film deposited
on a silicon wafer. During manufacturing, a strong
magnetic field is applied to the film to orient its magnetic
domains in the same direction, establishing amagnetization vector. Subsequently, an external
magnetic field applied perpendicularly to the sides ofthe film causes the magnetization to rotate and change
angle. This effect causes the film’s resistance to varywith the intensity of the applied magnetic field. The
MEMSIC AMR sensor is incorporated into a
Wheatstone bridge configuration to maximize Signal toNoise ratio. A change in magnetic field produces a
proportional change in differential voltage across the
Wheatstone bridge
However, the influence of a strong magnetic field (morethan 30 G) in any direction could upset, or flip, thepolarity of the film, thus changing the sensor
characteristics. A strong restoring magnetic field must
be applied momentarily to restore, or set, the sensor
characteristics. The MEMSIC magnetic sensor has an
on-chip magnetically coupled strap: a SET/RESET
strap pulsed with a high current, to provide the restoring
magnetic field.

All parts are shipped in tape and reel packaging with
10000pcs (or 5000pcs per requested) per 7” reel.

Caution:This is an Electro-static Discharge (ESD) sensitive
device.

Ordering Guide:
MMC5603NJ

Package type:
Code
J

Type
WLP package
RoHS compliant

Performance Grade:
Code

Performance GradeN

Temp compensated

MEMSIC MMC5603NJ Rev. B

Page 4 of 18

Formal release: 1/17/2022

EXTERNAL CIRCUITRY CONNECTION
The MMC5603NJ can operate from a single 1.62V to
3.6V supply. The circuit connection diagrams below
illustrate power supply connection options.

Details please refer to MEMSIC Magnetic Sensor
Hardware Design Layout Guideline for Electronic
Device.

POWER CONSUMPTION
The power consumed by the device is proportional to
the number of measurements taken per second. For
example, when BW<1:0>=10, MMC5603NJ consumes
1.3mA (typical) at 1.8V with 100 measurements per
second. If only 1 measurements are performed per
second, the current will be 1300*1/100=13µA.

I2C INTERFACE DESCRIPTION
A slave mode I2C circuit has been implemented into the
MEMSIC magnetic sensor as a standard interface forcustomer applications. The A/D converter functionality
have been added to the MEMSIC sensor, thereby
increasing ease-of-use, and lowering power
consumption, footprint and total solution cost.
The I2C (or Inter IC bus) is an industry standard bidirectional two-wire interface bus. A master I2C device
can operate READ/WRITE controls to 128 devices bydevice addressing. The MEMSIC magnetic sensor
operates only in a slave mode, i.e. only responding tocalls by a master device.

I2C BUS CHARACTERISTICS<TOP VIEW>
Connection Block Diagram

PIN DESCRIPTIONSVDD – This is the power supply pin. MEMSIC
recommends a minimum bypass capacitor of 2.2 µF
placed in close proximity to the VDD pin.
VSA – This is the ground pin for the magnetic sensor.
SDA – This pin is the I3C/I2C serial data line.
SCL– This pin is the I3C/I2C serial clock line.

HARDWARE DESIGN CONSIDERATION








Provide adequate separation distance to devices
that contain permanent magnets or generatemagnetic fields (e.g. speakers, coils, inductors)
The combined magnetic field to be measured andinterference magnetic field should be less than thefull scale range of the MMC5603NJ (±30 G).
Provide adequate separation distance to current
carrying traces. Do not route current carrying
traces under the sensor or on the other side of the
PCB opposite the device.
Do not cover the sensor with magnetized material
or material that may become magnetized, (e.g.,shield box, LCD, battery, iron bearing material).
Do not place the device opposite magnetizedmaterial or material that may become magnetizedlocated on the other side of the PCB.

MEMSIC MMC5603NJ Rev. B

The two wires in the I2C bus are called SDA (serial dataline) and SCL (serial clock line). In order for a datatransfer to start, the bus has to be free, which is definedby both wires in a HIGH output state. Due to the opendrain/pull-up resistor structure and wired Boolean“AND” operation, any device on the bus can pull lines
low and overwrite a HIGH signal. The data on the SDA
line has to be stable during the HIGH period of the SCL
line. In other words, valid data can only change when
the SCL line is LOW.
Note: Rp selection guide: 2.7Kohm for a short I2C bus
length (less than 10 cm), and 10Kohm for a bus length
less than 5 cm.

Page 5 of 18

Formal release: 1/17/2022

REGISTER MAP
Register Name
Xout0
Xout1
Yout0
Yout1
Zout0
Zout1
Xout2
Yout2
Zout2
Tout
Status1
ODR
Internal control 0
Internal control 1
Internal control 2
ST_X_TH
ST_Y_TH
ST_Z_TH
ST_X
ST_Y
ST_Z
Product ID

MEMSIC MMC5603NJ Rev. B

Address (HEX)
00H
01H
02H
03H
04H
05H
06H
07H
08H
09H
18H
1AH
1BH
1CH
1DH
1EH
1FH
20H
27H
28H
29H
39H

Page 6 of 18

Description
Xout[19:12]
Xout[11:4]
Yout[19:12]
Yout[11:4]
Zout[19:12]
Zout[11:4]
Xout[3:0]
Yout[3:0]
Zout[3:0]
Temperature output
Device status1
Output data rate
Control register 0
Control register 1
Control register 2
X-axis selftest threshold
Y-axis selftest threshold
Z-axis selftest threshold
X-axis selftest set value
Y-axis selftest set value
Z-axis selftest set value
Product ID

Formal release: 1/17/2022

REGISTER DETAILS
Xout0, Xout1, Xout2
Xout0
Addr: 00H
Mode

7

6

Xout1
Addr: 01H
Mode

7

6

Xout2
Addr: 06H
Mode

7

6

5

4
3
Xout[19:12]
Read-only

2

1

0

5

4
3
Xout[11:4]
Read-only

2

1

0

5

4

3
0

2
0

1
0

0
0

5

4
3
Yout[19:12]
Read-only

2

1

0

5

4
3
Yout[11:4]
Read-only

2

1

0

5

4

3
0

2
0

1
0

0
0

Xout[3:0]
Read-only

X-axis output, unsigned format.
X-axis output
16bits operation mode
18bits operation mode
20bits operation mode
Yout0, Yout1, Yout2
Yout0
Addr: 02H
Mode

Data
Xout[19:4]
Xout[19:2]
Xout[19:0]

7

6

Yout1
Addr: 03H
Mode

7

6

Yout2
Addr: 07H
Mode

7

6
Yout[3:0]

Read-only

Y-axis output, unsigned format.
Y-axis output
16bits operation mode
18bits operation mode
20bits operation mode

Data
Yout[19:4]
Yout[19:2]
Yout[19:0]

Zout0, Zout1, Zout2
Zout0
Addr: 04H
Mode

7

6

5

4
3
Zout[19:12]
Read-only

2

1

0

Zout1
Addr: 05H
Mode

7

6

5

4

3

2

1

0

Zout2

7

3
0

2
0

1
0

0
0

Zout[11:4]
Read-only
6

5

4

Zout[3:0]
Addr: 08H
Mode

MEMSIC MMC5603NJ Rev. B

Read-only

Page 7 of 18

Formal release: 1/17/2022

Z-axis output, unsigned format.
Z-axis output
16bits operation mode
18bits operation mode
20bits operation mode

Data
Zout[19:4]
Zout[19:2]
Zout[19:0]

Temperature Out
Temperature
7
6
5
4
3
2
1
0
Addr: 09H
Tout[7:0]
Mode
Read-only
Temperature output, unsigned format. The range is -75-125°C, about 0.8°C/LSB, 00000000 stands for -75°C
Status1
Device Status1
Addr: 18H
Reset Value
Mode
Bit Name
Meas_m_done_int
Meas_t_done_int
Mdt_flag_int
ST_Fail
OTP_read_done
Sat_sensor
Meas_m_done
Meas_t_done

7
Meas_t_done
06
Meas_m_done
05
Sat_sensor
04
3
OTP_read
ST_Fail_done
00
Read-only2
Mdt_flag_int
01
Meas_t_d
one_int
00
Meas_m_done_int0

Description
Factory use only, reset value is 0.
Factory use only, reset value is 0.
Factory use only, reset value is 0.
Factory use only, reset value is 0.
This bit is an indicator of successfully reading its OTP memory either as part of its power up
sequence, or after an I2C command that reloads the OTP memory, such as resetting the chipand refreshing the OTP registers.
This bit is an indicator of the selftest signal, it keeps low once the device PASS selftest.
This bit indicates that a measurement of magnetic field is done and the data is ready to beread. This bit is reset only when any of the magnetic data registers is read.
This bit indicates that a measurement of temperature is done and the data is ready to be read.
This bit is reset only when the temperature register is read.

ODR
ODR
Addr: 1AH
Reset Value
Mode

7

6

5

0

0

0

4

3
ODR[7:0]00
Write-only

2

1

0

0

0

0

Bit Name

Description
This byte defines the frequency of the continuous-mode measurements. In order to enter thecontinuous mode, this byte should not be zero. The configurable ODR is 1 to 255, withincrement of 1. The 1000 Hz ODR is available by writing 255 into this byte and setting hpower
to 1. The maximum reachable ODR as below:

ODR[7:0]

BW
00
01
10
11

MEMSIC MMC5603NJ Rev. B

Automatic SET/RESET
75Hz
150 Hz255 Hz255Hz

No SET/RESET
150 Hz255 Hz255 Hzhpower=0: 255 Hz;
hpower=1: 1000 Hz

Page 8 of 18

ODR range
1~75
1~150
1~255
1~255

Formal release: 1/17/2022

Internal Control 0
Control
Register 0
Addr: 1BH
Reset Value
Mode
Bit Name
Take_meas_M
Take_meas_T
Start_MDTDo SetDo ResetAuto_SR_en

Auto_st_en

Cmm_freq_en

7

6

5

Cmm_freq_en
0

Auto_st_en0

Auto_SR
_en
0

4

3

Do Reset

Do Set

0

0

2

1

0

Start_MD
T0

Take_meas_T
0

Take_meas_M
0Write-only
Description
Take Measure of Magnetic field, or TM_M bit. Writing a 1 into this location causes the chip to
perform a magnetic measurement. This bit is self-clearing at the end of each measurement.
Take Measure of Temperature, or TM_T bit. Writing a 1 into this location causes the chip to
perform a temperature measurement. This bit is self-clearing at the end of each measurement.
Factory use only, reset value is 0.
Writing a 1 into this location will cause the chip to do the Set operation, which will allow large set
current to flow through the sensor coils for 375ns. This bit is self-cleared at the end of Set
operation.
Writing a 1 into this location will cause the chip to do the Reset operation, which will allow large
reset current to flow through the sensor coils for 375ns. This bit is self-cleared at the end of Reset
operation.
Writing a 1 into this location will enable the function of automatic set/reset. This function applies
to both on-demand and continuous-time measurements. This bit must be set to 1 in order toactivate the feature of periodic set. This bit is recommended to set to “1” in the application.
Writing a 1 into this location will enable the function of automatic self-test. The threshold inregister 1EH, 1FH, 20H should be set before this bit is set to 1. This bit clears itself after theoperation is completed.
Writing a 1 into this location will start the calculation of the measurement period according to the
ODR. This bit should be set before continuous-mode measurements are started. This bit is selfcleared after the measurement period is calculated by internal circuits.

Internal Control 1
Control
Register 1
Addr: 1CH
Reset Value
Mode

Bit Name

BW0 &
BW1

X-inhibit
Y-inhibit
Z-inhibit
St_enpSt_enm7

6

5

Sw_reset0

St_enm0

St_enp043Z-inhibit
Y-inhibit
00
Write-only

2

1

0

X-inhibit
0

BW1
0

BW0
0

Description
These bandwidth selection bits adjust the length of the decimation filter. They control the durationof each measurement.
BW1
BW0
Measurement Time
0
0
6.6ms
0
1
3.5ms
1
0
2.0ms
1
1
1.2ms
Note: X/Y/Z channel measurements are taken sequentially. Delay Time among thosemeasurements is 1/3 of the Measurement Time defined in the table.
Writing “1” will disable this channel, and reduce Measurement Time and total charge permeasurement.When a channel is disabled it is simply skipped during Take Measure routine. Its
output register is not reset and will maintain the last value written to it when this channel was
active. Note: Y/Z needs to be inhibited the same time in case needed.
Writing 1 into this location will bring a DC current through the self-test coil of the sensor. This
current will cause an offset of the magnetic field. This function is used to check whether thesensor has been saturated.
The function of this bit is similar to ST_ENP, but the offset of the magnetic field is of opposite
polarity.

MEMSIC MMC5603NJ Rev. B

Page 9 of 18

Formal release: 1/17/2022

Software Reset. Writing “1”will cause the part to reset, similar to power-up. It will clear all registers
and also re-read OTP as part of its startup routine. The power on time is 20mS.

Sw_reset

Internal Control 2
Control
Register 2
Addr: 1DH
Reset Value
Mode

7

6

5

4

hpower

INT_meas_done_en0

INT_mdt_en0

Cmm_en0

Bit Name

Prd_set[2:0]

En_prd_set
Cmm_enINT_mdt_en
INT_meas_done_en
hpower3

En_prd_set00
Write-only

2

1

0

Prd_set[2:0]000Description
These bits determine how many measurements are done before a set is executed, when thepart is in continuous mode and the automatic set/reset is enabled. From 000 to 111, the sensor
will do one set for every 1, 25, 75, 100, 250, 500, 1000, and 2000 samples. In order to enable
this feature, both En_prd_set and Auto_SR must be set to 1, and the part should work incontinuous mode. Please note that during this operation, the sensor will not be reset.
Writing 1 into this location will enable the function of periodical set.
The device will enter continuous mode, if ODR has been set to a non-zero value and a 1 has
been written into Cmm_freq_en. The internal counter will start counting as well since this bit
is set.
Factory use only, reset value is 0.
Factory use only, reset value is 0.
If this bit is set to 1 to achieve 1000Hz ODR.

ST_X_TH
ST_X_TH7
Addr: 1EH
Reset Value0
Mode
X-axis selftest threshold

6

5

0

0

6

5

0

0

6

5

0

0

6

5

4
3
ST_X_TH[7:0]00Write-only

2

1

0

0

0

0

4
3
ST_Y_TH[7:0]00Write-only

2

1

0

0

0

0

4
3
ST_Z_TH[7:0]00Write-only

2

1

0

0

0

0

4

2

1

0

ST_Y_TH
ST_Y_TH7
Addr: 1FH
Reset Value0
Mode
Y-axis selftest threshold
ST_Z_TH
ST_Z_TH7
Addr: 20H
Reset Value
0
Mode
Z-axis selftest threshold
ST_X
ST_X
7
Addr: 27H
Reset ValueMode
X-axis selftest set value
MEMSIC MMC5603NJ Rev. B

3
ST_X[7:0]
Factory stored value
Read/Write

Page 10 of 18

Formal release: 1/17/2022

ST_Y
ST_Y
7
Addr: 28H
Reset ValueMode
Y-axis selftest set value

6

5

4

3
ST_Y[7:0]
Factory stored value
Read/Write

2

1

0

6

5

4

3
ST_Z[7:0]
Factory stored value
Read/Write

2

1

0

Product ID 1
76
Addr: 39H
Reset Value00
Mode
Product ID, used to recognize device.

5

4
3
Product ID1[7:0]10Read-only

2

1

0

0

0

0

MEMSIC MMC5603NJ Rev. B

Page 11 of 18

ST_Z
ST_Z
7
Addr: 29H
Reset ValueMode
Z-axis selftest set value
Product ID 1

0

Formal release: 1/17/2022

I2C INTERFACE OPERATION:

be written. The MEMSIC device should acknowledge
receipt of the address (9th SCL pulse, SDA pulled low).

DATA TRANSFER
A data transfer is started with a “START” condition andended with a “STOP” condition. A “START” condition isdefined by a HIGH to LOW transition on the SDA line
while SCL line is HIGH. A “STOP” condition is definedby a LOW to HIGH transition on the SDA line while the
SCL line is held HIGH. All data transfer in I2C system
are 8-bits long. Each byte has to be followed by anacknowledge bit. Each data transfer involves a total of
9 clock cycles. Data is transferred starting with the mostsignificant bit (MSB).
After a START condition, the master device calls a
specific slave device by sending its 7-bit address withthe 8th bit (LSB) indicating that either a READ or WRITE
operation will follow, [1] for READ and [0] for WRITE.
The MEMSIC device 7-bit device address is [0110000]
where the three LSB’s are pre-programmed into the
MMC5603NJ by the factory.
Note: A total of 8 different addresses can be preprogrammed into MEMSIC device by the factory. Thisvariation of I2C address avoids a potential address
conflict, either by ICs from other manufacturers or byother MEMSIC devices on the same bus.
The initial addressing of the slave is always followed by
the master writing the number of the slave register tobe read or written, so this initial addressing always
indicates a WRITE operation by sending [01100000].
After being addressed, the MEMSIC device being
called should respond by an “Acknowledge” signal bypulling SDA line LOW. Subsequent communication
bytes can either bea) The data to be written to the device register, orb) Another START condition followed by the device
address indicating a READ operation [01100001],
and then the master reads the register data.
Multiple data bytes can be written or read to numericallysequential registers without the need of another START
condition. Data transfer is terminated by a STOP
condition or another START condition. Two detailed
examples of communicating with the MEMSIC device
are listed below for the actions of acquiring a magnetic
field measurement and magnetizing the sensor.

4th cycle: The Master device sends a START
command followed by the MEMSIC device’s seven bit
address, and finally the eighth bit set low to indicate a
WRITE. An Acknowledge should be send by the
MEMSIC device in response.
5th cycle: The Master device sends the MEMSIC
Device Status Register1 as the address to read.
6th cycle: The Master device sends a START
command followed by the MEMSIC device’s seven bit
address, and finally the eighth bit set high to indicate a
READ. An Acknowledge should be send by the
MEMSIC device in response.
7th cycle: The Master device cycles the SCL line. This
causes the Status Register data to appear on SDA line.
Continuously read the Device Status Register1 until the
Meas_M_Done bit (bit 1) is set to ‘1’. This indicates thatdata for the x, y, and z sensors is available to be read.
8th cycle: The Master device sends a START
command followed by the MEMSIC device’s seven bit
address, and finally the eighth bit set low to indicate a
WRITE. An Acknowledge should be send by the
MEMSIC device in response.
9th cycle: The Master device sends a [00000000] (Xout
LSB register address) as the register address to read.
10th cycle: The Master device calls the MEMSIC
device’s address with a READ (8th SCL cycle SDA linehigh). An Acknowledge should be send by the MEMSIC
device in response.
11th cycle: Master device continues to cycle the SCL
line, and each consecutive byte of data from the X, Y
and Z registers should appear on the SDA line. Theinternal memory address pointer automatically moves
to the next byte. The Master device acknowledges
each. Thus:
12th cycle: Xout[19:12].

EXAMPLE OF MEASUREMENT
1st cycle: A START condition is established by the
Master Device followed by a call to the slave address[0110000] with the eighth bit held low to indicate a
WRITE request.
2nd cycle: After an acknowledge signal is received by
the master device (MEMSIC device pulls SDA line low
during 9th SCL pulse), the master device sends theaddress of Control Register 0 as the target register to
MEMSIC MMC5603NJ Rev. B

3rd cycle: The Master device writes to the Internal
Control Register 0 the code [00100001] (TM_M and
Auto_SR_en high) to initiate data acquisition. The
MEMSIC device should send an Acknowledge andinternally initiate a measurement (collect x, y and zdata). A STOP condition indicates the end of the write
operation.

13th cycle: Xout[11:4].
14th cycle: Yout[19:12].
15th cycle: Yout[11:4].
16th cycle: Zout[19:12].
17th cycle: Zout[11:4].
18th cycle: Xout[3:2] for 18bits mode. Xout[3:0] for20bits mode

Page 12 of 18

Formal release: 1/17/2022

19th cycle: Yout[3:2] for 18bits mode. Yout[3:0] for20bits mode
20th cycle: Zout[3:2] for 18bits mode. Zout[3:0] for20bits mode:0].

3rd cycle: The Master device writes to the MEMSIC
device’s Internal Control 0 register the code [00010000](RESET bit) to initiate a RESET action. The MEMSIC
device should send an Acknowledge.
At this point, the MEMSIC AMR sensors have been
conditioned for optimum performance and datameasurements can commence.

Master ends communications by NOT sending an‘Acknowledge’ and also follows with a ‘STOP’command.

Note:

EXAMPLE OF CONTINUOUS MODE
The MMC5603NJ is designed with an on-chip
continuous mode, or CMM. When enabled, the part will
periodically take a measurement and store the resultsin I2C register. The frequency of these measurements
is controlled by a setting in I2C register. The results of
the last measurement can be read by the host. Thismode, while it consumes more current, eliminates theneed for the host to request measurements every time.
First the user needs to write the desired number into
ODR[7:0]. It should be a non-zero integer, otherwise
the continuous mode will not be activated. Then
Cmm_freq_en is set to 1 to let the internal circuitry to
calculate the target number for the counter. After that
Cmm_en is set to 1 and the continuous mode isstarted and the internal counter starts to count at thesame time.

EXAMPLE OF SET

 The RESET action can be skipped for mostapplications

USING SET AND RESET TO REMOVE BRIDGE OFFSET
The integrated SET and RESET functions of the
MMC5603NJ enables the user to remove the error
associated with bridge Offset change as a function oftemperature, thereby enabling more precise heading
measurements over a wider temperature thancompetitive technologies. The SET and RESET
functions effectively alternately flip the magnetic
sensing polarity of the sensing elements of the device.
1)

The most accurate magnetic field measurements
can be obtained by using the protocol describedas follows: Perform SET. This sets the internal
magnetization of the sensing resistors in the
direction of the SET field.

2)

Perform MEASUREMENT. This measurement
will contain not only the sensors response to theexternal magnetic field, H, but also the Offset; inother words,

1st cycle: A START condition is established by the
Master Device followed by a call to the slave address[0110000] with the eighth bit held low to indicate a
WRITE request.
2nd cycle: After an acknowledge signal is received by
the master device (The MEMSIC device pulls the SDA
line low during the 9th SCL pulse), the master device
sends [00011011] as the target address (Internal
Control Register 0). The MEMSIC device should
acknowledge receipt of the address (9th SCL pulse).
3rd cycle: The Master device writes to the MEMSIC
device’s Internal Control 0 register the code [00001000](SET bit) to initiate a SET action. The MEMSIC device
should send an Acknowledge.

Output1 = +H + Offset.
3)

Perform RESET. This resets the internal
magnetization of the sensing resistors in the
direction of the RESET field, which is opposite to
the SET field (180o opposed).

4)

Perform MEASUREMENT. This measurement
will contain both the sensors response to theexternal field and also the Offset. In other words,
Output2 = -H + Offset.

5)

Finally, calculate H by subtracting the two
measurements and dividing by 2. This procedure
effectively eliminates the Offset from themeasurement and therefore any changes in theOffset over temperature.
H = (Output1-Ouput2)/2.

EXAMPLE OF RESET
1st cycle: A START condition is established by the
Master Device followed by a call to the slave address[0110000] with the eighth bit held low to indicate a
WRITE request.
nd

2 cycle: After an acknowledge signal is received by
the master device (The MEMSIC device pulls the SDA
line low during the 9th SCL pulse), the master device
sends [00011011] as the target address (Internal
Control Register 0). The MEMSIC device should
acknowledge receipt of the address (9th SCL pulse).
MEMSIC MMC5603NJ Rev. B

Note:


Page 13 of 18

To calculate and store the offset; add the two
measurements and divide by 2. This calculatedoffset value can be subtracted from subsequent
measurements to obtain H directly from eachmeasurement.

Formal release: 1/17/2022

3)

Write the threshold in to the register 1EH, 1FH,
and 20H.

EXAMPLE OF SELFTEST

4)

The MMC5603NJ is designed with an on-chip selftest
signal to do self-diagnose of the sensor:

Write [01000001] (TM_M and auto_st_en high) toInternal Control Register 1BH to initiate a selftest.

5)

Read out value of Sat_sensor bit at the Device
Status register 18H.

6)

Sat_sensor=0, PASS selftest.

1)
2)

Read out the selftest signal stored at register 27H,
28H, and 29H.
Calculate the selftest signal threshold with 80% of
the data readout from above registers.

MEMSIC MMC5603NJ Rev. B

Page 14 of 18

Formal release: 1/17/2022

OPERATING TIMING
VDD
I2C

T

S

tOp

tRF

tSR

S

SET/RESETT

Take Measurement

R

Read data

R

T

tTM

R

T

S

R

tTM

T

tSR

tTM

R

tTM

Repeat T & R
Wait the device to be ready for next operation

Operating Timing Diagram
Parameter

SymbolMin.

Time to operate device after VDD valid

tOp

5

ms

Minimum time interval between SET or RESET toother operations

tSR

1

ms

tTM BW=00

6.6

ms

tTM BW=01

3.5

ms

tTM BW=10

2.0

ms

tTM BW=11

1.2

ms

MEMSIC MMC5603NJ Rev. B

Page 15 of 18

Max.

Unit

Formal release: 1/17/2022

SOLDERING RECOMMENDATIONSMEMSIC magnetic sensor is capable of withstanding an MSL1 / 260 ºC solder reflow. Following is the reflow profile:

Note: The second reflow cycle should be applied after device has cooled down to 25 ℃ (room temperature) This is the reflow profile for Pb free process
 The peak temperature on the sensor surface should be limited under 260 ℃ for 10 seconds.
 Solder paste’s reflow recommendation should be followed to get the best SMT quality.
If the part is mounted manually, please ensure the temperature could not exceed 260 ℃ for 10 seconds.

MEMSIC MMC5603NJ Rev. B

Page 16 of 18

Formal release: 1/17/2022

PACKAGE DRAWING (WLP package)

2

A
B

UNIT: mm

2

1

SCL

VSA

A

SDA

VDD

B

Y

0.40

0.82±0.03

1

0.40

Z

X

0.82±0.03

 0.22±0.03(TOP VIEW)(BOTTOM VIEW)

0.40±0.03

0.14±0.03(SIDE VIEW)MEMSIC MMC5603NJ Rev. B

Page 17 of 18

Formal release: 1/17/2022

RECOMMENDED LAND PATTERN DESIGNUNIT: mm0.40

 0.23

0.40

RELATIONSHIP BETWEEN THE MAGNETIC FIELD AND OUTPUT CODE
The measurement data increases as the magnetic flux density increases in the arrow directions.

ZYX

MEMSIC MMC5603NJ Rev. B

Page 18 of 18

Formal release: 1/17/2022