User's Manual
BLUEMICROSYSTEM2 software description
STEVAL-STLKT01V1
6/37
DocID029208 Rev 2
Free Fall detection
Single tap detection
Double tap detection
Wake up detection
Tilt detection
3D orientation
This software gathers the temperature, humidity, pressure, audio and motion sensors
drivers for the HTS221, LPS25H, MP34DT01-M, LSM6DS0 (or LSM6DS3) and LIS3MDL
devices, running on STM32.
This package is compatible with the BlueMS Android/iOS (Version 2.0.0 or higher)
application available at respective Play/iTunes stores, which can be used for displaying
information sent via the Bluetooth low energy protocol. To use the hardware features of the
LSM6DS3 DIL24 device, use BlueMS Android/iOS application version 2.2.0 or higher.
1.2 Architecture
The software is based on the STM32CubeHAL hardware abstraction layer for the STM32
microcontroller.
The package provides a Board Support Package (BSP) for the sensors expansion board
and middleware components for serial communication with a PC.
To access and use the sensor expansion board, the application software uses:
STM32Cube HAL layer: provides a simple, generic and multi-instance set of generic
and extension APIs (application programming interfaces) to interact with the upper
layer application, libraries and stacks. It is directly based on a generic architecture and
allows the layers that are built on it, such as the middleware layer, to implement their
functions without requiring the specific hardware configuration for a given
microcontroller unit (MCU). This structure improves library code reusability and
guarantees easy portability across other devices.
Board support package (BSP) layer: supports the peripherals on the STM32 Nucleo
board (except the MCU) with a limited set of APIs providing a programming interface
for certain board-specific peripherals like the LED, the user button, etc., and helps
determine the specific board version. For the sensor expansion board, it provides the
programming interface for various inertial and environmental sensors and support for
initializing and reading sensor data.