MAGNETO 7 CLICK
PID: MIKROE-3657 Weight: 17 g
Magneto 7 Click is a high-resolution magnetic sensor Click board™ which allows
contactless orientation sensing. It features the BM1422AGMV, a complete integrated
solution with magneto-impedance (MI) elements, low-noise analog AD converter, and
digital signal processing (DSP) sections, on the same die. Thanks to the internal DSP
processing, the BM1422AGMV can output the absolute movement detection over the
serial interface as a bit stream. The BM1422AGMV IC is ideal for using in various
applications, such as wristwatches, smartphones, tablets, etc.
Magneto 7 click is supported by a mikroSDK compliant library, which includes functions
that simplify software development. This Click board™ comes as a fully tested product,
ready to be used on a system equipped with the mikroBUS™ socket.
Magneto 7 click is a very accurate and reliable magnetic sensor device, which features
the BM1422AGMV, a 3-axis magnetic sensor IC from ROHM Semiconductor.
The BM1422AGMV IC features an onboard signal processing and I2C communication,
simplifying the application development and reducing the host MCU load. It is a very
accurate sensor, which can sense the magnetic field with the precision of 0.042μT, with
the full scale magnetic field detection of ±1200μT. Featuring onboard signal processing,
fast I2C communication, low power consumption, and high precision with the low noise,
this Click board™ is an ideal solution for developing portable electronic compass
applications, but it is not limited only to directional measurement. It can be also used for
the detection of a magnetic field, vehicle detection, and similar applications that rely on
an accurate magnetic field sensing in all three axes.
HOW DOES IT WORK?
This Click board™ uses the BM1422AGMV, a 3-axis magnetic sensor IC from
from ROHM Semiconductor. This sensor incorporates magneto-impedance (MI)
elements to detect magnetic field and a control IC in a small package. The magnetoimpedance (MI) effect is a phenomenon in which the voltage induced by a high
frequency current source in a ferromagnetic wire changes with the application of an
external field. Just like a global positioning system (GPS) is effective for detecting the
position, a magnetic sensor is usable for detecting the orientation of the user, and
therefore simplify the development of motion tracking applications.
The resulting characteristics of this sensor IC, are impressive: it have measurable range
of ±1200μT, a sensitivity of 0.042μT/LSB when using 14 bit ADC mode, and can be
exposed to maximum 1000mT field. The Status register offers the status indication of
the measured data. This, DRDY bit, is output to inform the preparation status of the
measured data and is routed to the INT pin of the Click board™.
This Click Board™ uses I2C, and it is designed to be operated only with 3.3V logic
level. A proper logic voltage level conversion should be performed before the Click
board™ is used with MCUs with logic levels of 5V.
SPECIFICATIONS
Type
Magnetic
Applications
It is an ideal solution for developing portable electronic compass
applications, but it can be also used for the detection of a magnetic
field, vehicle detection, and similar applications that rely on an
accurate magnetic field sensing in all three axes.
On-board
modules
BM1422AGMV, a 3-axis magnetic sensor IC from from ROHM
Semiconductor.
Key Features
Accurate sensing of the magnetic field in all three axes, on-chip
processing functions, 12bit / 14bit Digital Output
Interface
I2C
Input Voltage
3.3V
Click board
size
S (28.6 x 25.4 mm)
PINOUT DIAGRAM
This table shows how the pinout on Magneto 7 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
NC
1
AN
PWM
16
NC
NC
2
RST
INT
15
INT
NC
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
SCL
I2C Clock
NC
6
MOSI
SDA
11
SDA
I2C Data
Interrupt
Power Supply
3.3V
7
3.3V
5V
10
NC
Ground
GND
8
GND
GND
9
GND
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
LD1
PWR
-
JP1
ADDR SEL
Left
Description
Power LED Indicator
Slave I2C address LSB selection: left position 0,
right position 1
MAGNETO 7 CLICK ELECTRICAL SPECIFICATIONS
Description
Min
Typ
Max
Unit
Magnetic field measurement range on each axis
-1200
-
1200
μT
Magnetic Sensitivity
- 0.042
-
0.042
μT
-
0.15
-
mA
Operating Current (100SPS)
SOFTWARE SUPPORT
We provide a library for the Magneto 7 click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run
on all the main MikroElektronika development boards.
Library Description
Library contains functions for getting temperature and humidity. Library contains
functions for getting and setting user register. Library contains functions for changing
resolution and soft reset. Library contains functions for enabling/disabling heater and
OTP.
Key functions:
•
•
•
uint8_t magneto7_intGet( void ) - returns INT pin state.
void magneto7_get_data( int16_t * x_axis, int16_t * y_axis, int16_t * z_axis )- gets data
register values and sorts thair content into signed 16bit values.
float magneto7_convert_to_uT( int16_t raw_data, uint8_t sensor_resolution ) - converts raw
data by dividing raw data with 6 or 24 for 12bit or 14bit data.
Examples description
The application is composed of three sections :
•
System Initialization - Initializes I2C module, LOG module and INT pin .
•
Application Initialization - Initializes I2C driver and device .
•
Application Task - Waits for INT pin to go LOW, gets raw data, converts it to uT and logs results.
void applicationTask( )
{
int_status = magneto7_intGet( );
if (int_status == 0)
{
magneto7_get_data( &data_x, &data_y, &data_z );
converted_data = magneto7_convert_to_uT( data_x, _MAGNETO7_SENSOR_RES_14_BIT );
FloatToStr( converted_data, text );
magneto7_floatCut( );
mikrobus_logWrite( "> X Axis : ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " [uT]", _LOG_LINE );
converted_data = magneto7_convert_to_uT( data_y, _MAGNETO7_SENSOR_RES_14_BIT );
FloatToStr( converted_data, text );
magneto7_floatCut( );
mikrobus_logWrite( "> Y Axis : ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " [uT]", _LOG_LINE );
converted_data = magneto7_convert_to_uT( data_z, _MAGNETO7_SENSOR_RES_14_BIT );
FloatToStr( converted_data, text );
magneto7_floatCut( );
mikrobus_logWrite( "> Z Axis : ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " [uT]", _LOG_LINE );
mikrobus_logWrite( " ", _LOG_LINE );
Delay_ms(300);
}
}
Additional Functions :
•
magneto7_floatCut() - Rounds float number converted to string to two decimals
The full application code, and ready to use projects can be found on our LibStock page.
Other Mikroe Libraries used in the example:
•
I2C
•
UART
•
Conversions
Additional notes and informations
Depending on the development board you are using, you may need USB UART
click, USB UART 2 click or RS232 click to connect to your PC, for development systems
with no UART to USB interface available on the board. The terminal available in all
MikroElektronika compilers, or any other terminal application of your choice, can be
used to read the message.
MIKROSDK
This Click board™ is supported with mikroSDK - MikroElektronika Software
Development Kit. To ensure proper operation of mikroSDK compliant Click board™
demo applications, mikroSDK should be downloaded from the LibStock and installed for
the compiler you are using.
For more information about mikroSDK, visit the official page.
DOWNLOADS
mikroBUS™ Standard specification
LibStock: mikroSDK
Click board catalog
Magneto 7 click Libstock
BM1422AGMV datasheet
Magneto 7 click 2D and 3D files
Magneto 7 click schematic
https://www.mikroe.com/magneto-7-click/7-12-19