ACCEL 13 CLICK
PID: MIKROE-3742 Weight: 18 g
Accel 13 Click features an ultra-low power triaxial accelerometer sensor with
embedded intelligence, labeled as the IIS2DLPC. This Click board™ allows linear
motion and gravitational force measurements in ranges of ±2 g, ±4 g, ±8, and ±16 g in
three perpendicular axes. This smart sensor allows the Accel 13 click to detect many
different events, including tap, double tap, step counting, activity recognition (walk, run,
stand still), activity change (any type of acceleration pattern change), orientation, and
more. It features an onboard data processing, offering the acceleration data directly,
over the standard I2C or SPI interface.
Accel 13 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.
With the total height of 0.7mm, the IIS2DLPC is well suited for using it in handheld or
other space limited devices. Its powerful event detection engine is equipped with a set
of features suitable for a wearable device, including free-fall, wakeup, highly
configurable single/double-tap recognition, activity/inactivity, stationary/motion
detection, portrait/landscape detection, and 6D/4D orientation. The sensor can use any
of its two interrupt pins to report a detected event. Accel 13 click can be used for a rapid
development and testing of various applications based on step counting, fitness
applications, profile switching and display ON/OFF applications, angle measurement
applications, and similar applications.
HOW DOES IT WORK?
Accel 13 click is based on the IIS2DLPC, a high-performance ultra-low-power 3-axis
accelerometer for industrial applications, from STMicroelectronics. This sensor has
many features perfectly suited for wearables, handheld, and IoT applications, offering a
good balance between the performance and the power consumption. One of its key
features is its extremely low power consumption, which makes it perfectly suited for
such applications. There are several power modes which the IIS2DLPC device can use.
While in Low Power mode, the device consumes the least power, but the access to
some features is restricted. More information can be found within the IIS2DLPC
datasheet.
The IIS2DLPC sensor can measure acceleration within ranges of ±2 g, ±4 g, ±8, and
±16 g. It can output the measurement data using the Output Data Rate (ODR) from
1.6Hz (Low Power mode), up to 1600Hz (Performance mode). A high-precision analog
front end facilitates highly sensitive MEMS, featuring a 14-bit A/D Converter. It allows
very high accuracy of the output, even during very low amplitude changes. This makes
the sensor particularly sensitive and accurate with movements that generate relatively
low acceleration signals. However, using a highly sensitive MEMS makes the IIS2DLPC
prone to damage caused by extremely high g-forces (10,000 g for less than 200 µs).
Acceleration data is available in 14-bit format from both the data registers and the
internal FIFO buffe, which can can memorize 32 slots of X, Y and Z data. The FIFO
buffer can be used for more complex calculations or timed readings, reducing the traffic
on the communication interface. The interrupt engine facilitates the FIFO buffer,
triggering an interrupt for two FIFO events: watermark event, and FIFO buffer full event.
FIFO buffer allows optimization within the firmware that runs on the host MCU.
Besides the acceleration MEMS and complementary analog front-end circuit, the
IIS2DLPC sensor also has an integrated temperature sensor. It is updated up to 25
times per second, and sampled to an 12-bit value (complement of 2’s format).
Interrupts can be triggered for many different events. Some basic events include the
data-ready interrupt event and aforementioned FIFO events, while so-called feature
engines can trigger an interrupt for any of the detected motion/movement events,
including step detection/counter, activity recognition, tilt on wrist, tap/double tap, any/no
motion, and error event interrupt. The extensive interrupt engine can use two
programmable interrupt pins. Both of these pins can be assigned with any interrupt
source and can be either LOW or HIGH on interrupt, depending on settings in
appropriate registers. These two pins are routed to PWM and INT pin of the
mikroBUS™, and are labeled as IT1 and IT2, respectively.
Accel 13 click offers two communication interfaces. It can be used with either I2C or
SPI. The onboard SMD jumpers labeled as COMM SEL allow switching between the
two interfaces. Note that all the jumpers have to be positioned either I2C or to SPI
position. When I2C interface is selected, an additional SMD jumper labeled as ADDR
SEL becomes available, determining the least significant bit of the IIS2DLPC I2C
address. The Click board™ should be interfaced only with MCUs that use logic levels of
3.3V.
SPECIFICATIONS
Type
Motion
Applications
Accel 13 click can be used for a rapid development and testing of
various applications based on step counting, fitness applications,
profile switching and display ON/OFF applications, angle
measurement applications, and similar applications.
On-board
modules
IIS2DLPC, a 14-bit triaxial acceleration sensor with ultra-low power
consumption, from STMicroelectronics.
Key Features
Free-fall detection, wakeup, highly configurable single/double-tap
recognition, activity/inactivity, stationary/motion detection,
portrait/landscape detection, and 6D/4D orientation, ultra-low power
consumption, thermal readings
Interface
GPIO,I2C,SPI
Click board
size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
PINOUT DIAGRAM
This table shows how the pinout on Accel 13 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
I1
INT OUT 2
NC
2
RST
INT
15
I2
INT OUT 2
CS
3
CS
RX
14
NC
SPI Clock
SCK
4
SCK
TX
13
NC
SPI Data OUT
SDO
5
MISO
SCL
12
SCL
I2C Clock
SPI Data IN
SDI
6
MOSI
SDA
11
SDA
I2C Data
Power Supply
3.3V
7
3.3V
5V
10
NC
Ground
GND
8
GND
GND
9
GND
SPI Chip Select
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
LD1
PWR
-
JP1,JP2,JP4
COMM SEL
Right
JP3
ADDR SEL
Left
Description
Power LED Indicator
Communication interface selection: right
position SPI, left position I2C
I2C address LSB selection: left position 0,
right position 1
ACCEL 13 CLICK ELECTRICAL SPECIFICATIONS
Description
Min
Typ
Max
Unit
Receiver inputs voltage range
±2
-
±16
g
Output refresh rate
1.6
-
1600
Hz
Thermal measurement range
-40
-
+85
˚C
SOFTWARE SUPPORT
We provide a library for the Accel13 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
The library initializes and defines the I2C or SPI bus driver and drivers that offer a
choice for writing data in registers and read data from registers. The library includes
function for read X/Y/Z axis data and function for Tap detection interrupt. The user also
has the function for start configuration chip for measurement and function for read
interrupt state.
Key functions:
void accel13_startCtrlConfig() - Start configuration module
void accel13_getAxisData(T_ACCEL13_AXIS *axis) - Axis data
void accel13_getTapStatus(T_ACCEL13_TAP *tapStatus) - Get Tap status
Examples description
The application is composed of three sections :
System Initialization - Initializes I2C or SPI module and sets necessary GPIO pins
Application Initialization - Initializes driver init, Test communication, start configuration chip for
measurement and reads Temperature
Application Task - Reads Accelerometer data and detects tap on the axis
Note: The example is the basic functionality of the IIS2DLPC sensor, it is possible to
read the acceleration data and detect Tap on all 3 axes. For other settings and
improvements in reading accuracy, you need to further set up the registers and set the
sensor to your conditions.
void applicationTask()
{
/* Reads Accel data */
accel13_getAxisData(&axis);
mikrobus_logWrite("‐‐‐‐ Accel axis data ‐‐‐‐", _LOG_LINE);
IntToStr(axis.x, demoText);
mikrobus_logWrite("* X : ", _LOG_TEXT);
mikrobus_logWrite(demoText, _LOG_LINE);
IntToStr(axis.y, demoText);
mikrobus_logWrite("* Y : ", _LOG_TEXT);
mikrobus_logWrite(demoText, _LOG_LINE);
IntToStr(axis.z, demoText);
mikrobus_logWrite("* Z : ", _LOG_TEXT);
mikrobus_logWrite(demoText, _LOG_LINE);
mikrobus_logWrite("‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐", _LOG_LINE);
Delay_ms( 300 );
/* Detections Tap on the axis */
accel13_getTapStatus(&tap);
if(tap.tap_x == 0x01)
{
mikrobus_logWrite("‐‐‐‐ Tap on the X axis ‐‐‐‐", _LOG_LINE);
}
if(tap.tap_y == 0x01)
{
mikrobus_logWrite("‐‐‐‐ Tap on the Y axis ‐‐‐‐", _LOG_LINE);
}
if(tap.tap_z == 0x01)
{
mikrobus_logWrite("‐‐‐‐ Tap on the Z axis ‐‐‐‐", _LOG_LINE);
}
}
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
I2C library
SPI library
UART library
Conversions library
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.
https://www.mikroe.com/accel‐13‐click/9‐20‐19