ST Microelectronics S R L STILE01 RF BT4.1 User Manual 1

ST Microelectronics S.R.L. RF BT4.1 1

User Manual

  May 2016 DocID029208 Rev 2 1/37  www.st.com   User manual Getting started with the software package for Bluetooth low energy and sensors in BLUEMICROSYSTEM2   Introduction The BLUEMICROSYSTEM2 expansion software package for STM32Cube lets you read and display real-time environmental sensor data, digital microphone levels and acoustic source localization information with a dedicated Android™/iOS™ application. The package implements application level functions based on the Bluetooth low energy protocol and enables communication with Android/iOS devices. Developers can use it to prototype applications with Android/iOS services, and transmit real-time sensor data with ease. The software runs on the STM32 microcontroller and includes drivers that recognize the Bluetooth low energy (BlueNRG) hardware, the four sensor devices and 2 MEMS microphones. The expansion is built on the STM32Cube framework for STM32 microcontrollers and comes with a sample implementation to kick-start development.  STEVAL-STLKT01V1
Contents STEVAL-STLKT01V1  2/37 DocID029208 Rev 2   Contents 1 BLUEMICROSYSTEM2 software description ................................ 5 1.1 Overview ........................................................................................... 5 1.2 Architecture ....................................................................................... 6 1.3 Folder structure ................................................................................. 7 1.4 APIs .................................................................................................. 8 1.5 Sample application description .......................................................... 8 1.6 Android and iOS sample client application ...................................... 11 2 System setup guide ....................................................................... 26 2.1 Hardware description ...................................................................... 26 2.1.1 STM32 Nucleo platform .................................................................... 26 2.1.2 X-NUCLEO-CCA02M1 expansion board ......................................... 26 2.1.3 X-NUCLEO-IDB04A1 expansion board............................................ 27 2.1.4 X-NUCLEO-IDB05A1 expansion board............................................ 28 2.1.5 X-NUCLEO-IKS01A1 expansion board ............................................ 29 2.2 Software description ........................................................................ 30 2.3 Hardware and software setup ......................................................... 31 2.3.1 Hardware setup ................................................................................ 31 2.3.2 Software setup .................................................................................. 31 2.3.3 System setup guide .......................................................................... 31 3 Revision history ............................................................................ 36
STDK-STILECS01V1List of tables   DocID029208 Rev 2 3/37  List of tables Table 1: Document revision history .......................................................................................................... 36
List of figures STEVAL-STLKT01V1 4/37 DocID029208 Rev 2   List of figures Figure 1: BLUEMICROSYSTEM2 software architecture ............................................................................ 7 Figure 2: BLUEMICROSYSTEM2 package folder structure ....................................................................... 7 Figure 3: Terminal setting ........................................................................................................................... 8 Figure 4: Initialization phase ....................................................................................................................... 9 Figure 5: UART console output when one device is connected to the board........................................... 11 Figure 6: BlueMS (Android version) initial page after BLE connection ..................................................... 12 Figure 7: BlueMS (Android version) osxMotionFX sensor fusion page .................................................... 13 Figure 8: BlueMS (Android version) popup windows ................................................................................ 14 Figure 9: BlueMS (Android version) mic level plot .................................................................................... 15 Figure 10: BlueMS (Android version) accelerometer plot ......................................................................... 16 Figure 11: BlueMS (Android version) menu selection .............................................................................. 17 Figure 12: BlueMS (Android version) Serial console (stdout/stderr) ........................................................ 18 Figure 13: BlueMS (Android version) Debug console (stdin/stdout/stderr) .............................................. 19 Figure 14: BlueMS (Android version) LSM6DS3 DIL24 hardware features ............................................. 20 Figure 15: BlueMS (Android version) LSM6DS3 DIL24 examples: pedometer, wake up, orientation, double tap. ................................................................................................................................................ 21 Figure 16: BlueMS (Android version) osxMotionAR activity recognition page ......................................... 22 Figure 17: BlueMS (Android version) osxMotionCP carry position recognition page ............................... 23 Figure 18: BlueMS (Android version) osxMotionGR gesture recognition page ........................................ 24 Figure 19: BlueMS (Android version) example of audio source localization plot value ............................ 25 Figure 20: STM32 Nucleo board ............................................................................................................... 26 Figure 21: X-NUCLEO-CCA02M1 board .................................................................................................. 27 Figure 22: X-NUCLEO-IDB04A1 expansion board ................................................................................... 28 Figure 23: X-NUCLEO-IDB05A1 expansion board ................................................................................... 29 Figure 24: X-NUCLEO-IKS01A1 board .................................................................................................... 30 Figure 25: LSM6DS3 DIL24 adapter board .............................................................................................. 30 Figure 26: STM32 Nucleo plus X-NUCLEO-CCA02M1 boards ............................................................... 32 Figure 27: STM32 Nucleo plus X-NUCLEO-CCA02M1 plus X-NUCLEO-IDB04A1 boards .................... 32 Figure 28: STM32 Nucleo plus X-NUCLEO-CCA02M1 plus X-NUCLEO-IDB04A1 plus X-NUCLEO-IKS01A1 plus LSM6DS3 DIL24 boards .................................................................................................... 33 Figure 29: Resistors to remove from X-NUCLEO-IKS01A1 board ........................................................... 34 Figure 30: Solder bridges to close on X-NUCLEO-CCA02M1 board (when using NUCLEO-L476RG board) ........................................................................................................................................................ 35
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 5/37  1  BLUEMICROSYSTEM2 software description 1.1  Overview The key features of the BLUEMICROSYSTEM2 package are:   Complete middleware to build applications using temperature and humidity sensors (HTS221), pressure sensor (LPS25HB), motion sensors (LIS3MDL and LSM6DS0) and microphone sensor (2x MP34DT01-M)   Compatible with the motion sensor LSM6DS3 DIL24 expansion component    Very low power Bluetooth low energy (BlueNRG) single-mode network processor for transmitting information to one client.   osxMotionFX (iNEMOEngine PRO) real-time motion sensor data fusion (under OPEN.MEMS license) to combine the output from multiple MEMS sensors.   Accelerometer-only algorithms:   osxMotionAR (iNEMOEngine PRO) real- time activity-recognition algorithm (under OPEN.MEMS license)   osxMotionCP (iNEMOEngine PRO) real-time carry-position recognition algorithm (under OPEN.MEMS license)   osxMotionGR (iNEMOEngine PRO) real- time gesture recognition algorithm (under OPEN.MEMS license)   osxAcousticSL Real-time sound source localization software expansion (under OpenSoftwareX license) based on two or four digital microphone audio signals.   Based on common STM32Cube framework   BlueMS compatible application for Android/iOS (version 2.0.0 or above) for visualizing information sent via Bluetooth.   Free, user-friendly license terms   Sample implementation available on X-NUCLEO-CCA02M1, X-NUCLEO-IKS01A1 and X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1 boards when connected to a NUCLEO-F401RE or NUCLEO-L476RG board. This software creates the following Bluetooth services: 1.  The first service exposes all the hardware features with the following characteristics:   Temperature   Pressure   Humidity   3D gyroscope, 3D magnetometer, 3D accelerometer   Microphones dB noise level. 2.  The second service exposes the software characteristics:   the quaternions generated by the osXMotionFX library in short precision   the activity recognized using the osxMotionAR algorithm   the carry position recognized using the osxMotionCP algorithm   the gesture recognized using the osxMotionGR algorithm   the audio source localization (for only F4 STM32 Nucleo motherboard) using the osxAcousticSL algorithm 3.  The third service exposes the Console service with:   stdin/stdout for bi-directional communication between client and server   stderr for a mono-directional channel from the STM32 Nucleo board to an Android/iOS device 4.  The last service is for transmitting/resetting the calibration status and enabling the following LSM6DS3 DIL24 expansion hardware features when it is mounted:   Pedometer
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.
STEVAL-STLKT01V1 BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 7/37  Figure 1: BLUEMICROSYSTEM2 software architecture  1.3  Folder structure This section provides an overview of the package folders structure.  The next figure outlines the architecture of the package Figure 2: BLUEMICROSYSTEM2 package folder structure  The following folders are included in the software package:   Documentation: contains a compiled HTML file generated from the source code, which details the software components and APIs.  Drivers: contains the HAL drivers, the board-specific drivers for each supported board or hardware platform, including the on-board components, and the CMSIS vendor-independent hardware abstraction layer for the Cortex-M processor series.
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 8/37 DocID029208 Rev 2    Middlewares: contains libraries and protocols for BlueNRG Bluetooth low energy, osx.MotionFX (iNEMOEngine PRO) sensors fusion library, osx.MotionAR (iNEMOEngine PRO) activity-recognition library, osx.MotionCP (iNEMOEngine PRO) carry-position recognition library, osx.MotionGR (iNEMOEngine PRO) gesture recognition library and osx.AcousticSL sound source localization library.  Projects: contains a sample application used for transmitting the output of the sensor data and of the osx.MotionFX sensor fusion, osx.MotionAR activity-recognition, osx.MotionCP carry-position, osx.MotionGR gesture recognition and osx.AcousticSL sound source localization libraries by using the Bluetooth low energy protocol provided for the NUCLEO-F401RE/NUCLEO-L476RG platforms through the IAR Embedded Workbench for ARM, RealView Microcontroller Development Kit (MDK-ARM) and System Workbench for STM32 development environments. 1.4  APIs Detailed user-API technical information with full function and parameter descriptions is available in a compiled HTML file in the package “Documentation” folder. 1.5  Sample application description A sample application using the X-NUCLEO-IKS01A1, X-NUCLEO-CCA02M1 and X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1 expansion boards with the NUCLEO-F401RE or NUCLEO-L476RG board is provided in the “Projects” directory. Ready to build projects are available for multiple IDEs. Application behavior can be controlled via UART with a terminal application and the following settings for the appropriate port. Figure 3: Terminal setting  When you first press the reset button, the application:   starts initializing the UART, I²C and SPI interfaces   creates a random BLE MAC address and a random connection PIN necessary for making the connection   initializes the BLE hardware service adding the temperature, humidity, pressure, 3D gyroscope, 3D magnetometer, 3D accelerometer and microphone characteristics
STDK-STILECS01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 9/37    initializes the BLE SW service adding the osx.MotionFX, osx.MotionAR, osx.MotionCP, osx.MotionGR and osx.AcousticSL libraries.   initializes the BLE console service adding the stdin/stdout and stderr characteristics   initializes the BLE config service transmitting/resetting the calibration status and enabling the LSM6DS3 DIL24 hardware features (if present).   checks whether the LSM6DS3 DIL24 extension is present.   Checks whether all the sensors are present and working.   controls whether the osxMotionFX, osxMotionAR, osxMotionCP, osxMotionGR and osxAcousticSL libraries have been initialized properly with valid licenses.   determines which BlueNRG expansion board is connected to the STM32 Nucleo board (X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1) and hardware and firmware version information. If the LSM6DS3 DIL24 extension is present, the system is able also to understand a free fall situation because the DS3 generates one interrupts when there is free fall situation. This situations is transmitted over Bluetooth to the attached Android™/iOS™ device. Figure 4: Initialization phase  As shown in the console output above, the application sends:   3 short precision quaternions every 30ms   Temperature/Humidity/Pressure data every 500ms   3D Accelerometer, 3D Gyroscope and 3D Magnetometer data every 50ms   signal noise microphone levels every 50ms This application reads the accelerometer, magnetometer and gyroscope values at 100 samples/second. The osxMotionFX (iNEMOEngine PRO) library combines these sensor values to produce and transmit 100 quaternions/second to the client connected via Bluetooth low energy to reflect real motion using a vendor-specific BLE service.
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 10/37 DocID029208 Rev 2   These definitions in osx_bms_config.h control how many quaternions the application sends to the Bluetooth client:  QUAT_UPDATE_MUL_10MS: defines the transmission rate for each set of quaternions by multiple of 10 ms.  SEND_N_QUATERNIONS: defines how many quaternions are sent on each Bluetooth package. By default, the application sends 3 quaternions every 30 ms. The same osx_bms_config.h file also defines:  ENV_UPDATE_MUL_10MS the transmission rate for Temperature/Pressure and Humidity/Lux  ACC_GYRO_MAG_UPDATE_MUL_10MS the transmission rate for Acc/Gyro and Magneto values  OSX_BMS_DEBUG_CONNECTION and OSX_BMS_DEBUG_NOTIFY_TRAMISSION to enable some debugging information for BLE communication  OSX_BMS_MOTIONAR to enable the osxMotionAR activity recognition algorithm  OSX_BMS_MOTIONCP to enable the osxMotionCP carry position recognition algorithm  OSX_BMS_MOTIONGR to enable the osxMotionGR gesture recognition algorithm  OSX_BMS_ACOUSTIC_MIC_ANGLE to enable the osxAcousticSL audio source localization algorithm (only NUCLEO-F401R Nucleo board) The osxMotionFX (INEMOEngine PRO) library has an autocalibrating procedure and the calibration status is transmitted via BLE to the client. By pressing the user button on the NUCLEO-F401RE (or NUCLEO-L476RG) board, it is possible to reset the library calibration status, thereby forcing a new autocalibration procedure. The osxMotionAR (INEMOEngine PRO) library is able to recognize the following activities:   Stationary   Walking   fast walking   jogging   biking   driving The osxMotionAR can be enabled via the OSX_BMS_MOTIONAR define in osx_bms_config.h. The osxMotionCP (INEMOEngine PRO) library recognizes and provides real-time information about how the user is carrying the board, which equates to the phone carry position:   on desk   in hand   near head   shirt pocket   trouser pocket   arm swing The osxMotionCP can be enabled via the OSX_BMS_MOTIONCP define in osx_bms_config.h. The osxMotionGR (INEMOEngine PRO) library is able to recognize gestures like:   pick up   glance   wake up in hand
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 11/37  The osxMotionGR can be enabled via the OSX_BMS_MOTIONGR define in osx_bms_config.h. The osxAcousticSL library is able to localize the audio sound source using the data acquired from the microphones. It can be enabled via the OSX_BMS_ACOUSTIC_MIC_ANGLE define in osx_bms_config.h. When an Android/iOS device is connected to the board, it is possible to control what the board transmit (see the following figure). Figure 5: UART console output when one device is connected to the board  1.6  Android and iOS sample client application The BLUEMICROSYSTEM2 software for STM32Cube is compatible with the BlueMS Android/iOS applications (Version 2.0.0 or higher) available at the respective Play/iOS stores. The LSM6DS3 DIL24 hardware features are only visible with BlueMS Android/iOS version 2.2.0 or higher. We will use Android application to demonstrate how it works.
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 12/37 DocID029208 Rev 2   Following connection, BlueMS starts with the main page shown below, where the values of temperature, pressure and humidity are displayed. Figure 6: BlueMS (Android version) initial page after BLE connection
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 13/37  As shown below, the next page depicts the osxMotionFX sensor fusion library output with a cube that rotates with board movement. Figure 7: BlueMS (Android version) osxMotionFX sensor fusion page  On this page there are two buttons along the bottom:   the left is for resetting the cube position.   the right shows the calibration status of the osxMotionFX Library (black for not calibrated, green for calibrated). Clicking it forces a magneto calibration.
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 14/37 DocID029208 Rev 2   When either button is pressed, the application pops up a window describing how to position the board for correct cube rotation and how to move the board to facilitate calibration (see below) Figure 8: BlueMS (Android version) popup windows
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 15/37  On the next left page, you can plot sensor data from the sensors expansion boards, as shown in the following figures. Figure 9: BlueMS (Android version) mic level plot
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 16/37 DocID029208 Rev 2   Figure 10: BlueMS (Android version) accelerometer plot
STDK-STILECS01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 17/37  In the option menu below, you can enable the Serial or Debug (with stdin) console. Figure 11: BlueMS (Android version) menu selection
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 18/37 DocID029208 Rev 2   If the Serial console is enabled, stdout/stderr is displayed, as shown below. Figure 12: BlueMS (Android version) Serial console (stdout/stderr)
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 19/37  If the Debug console is enabled, stdin is displayed and any message written in the Debug console triggers a relpy with the same message, as shown below. Figure 13: BlueMS (Android version) Debug console (stdin/stdout/stderr)
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 20/37 DocID029208 Rev 2   If the LSM6DS3 DIL24 is present, there is another page where you can choose which hardware feature to enable (one at the time) and view the events from the LSM6DS3 DIL24 (see following figures) on the same page. Figure 14: BlueMS (Android version) LSM6DS3 DIL24 hardware features
STEVAL-STLKT01V1  BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 21/37  Figure 15: BlueMS (Android version) LSM6DS3 DIL24 examples: pedometer, wake up, orientation, double tap.
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 22/37 DocID029208 Rev 2   If the osxMotionAR algorithm is enabled, the page shown below is available, signaling one of the following recognized activities:   Stationary   Walking   Fast walking   Jogging   Biking   Driving Figure 16: BlueMS (Android version) osxMotionAR activity recognition page
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 23/37  If the osxMotionCP algorithm is enabled, the page shown below is available, with information about how the user is carrying the board, which equates to phone carry positions:   on desk   in hand   near head   shirt pocket   trousers pocket   arm swing Figure 17: BlueMS (Android version) osxMotionCP carry position recognition page
BLUEMICROSYSTEM2 software description STEVAL-STLKT01V1 24/37 DocID029208 Rev 2   If the osxMotionGR algorithm is the page shown below is available, with gesture recognition information like:   pick up   glance   wake up in hand Figure 18: BlueMS (Android version) osxMotionGR gesture recognition page
STEVAL-STLKT01V1BLUEMICROSYSTEM2 software description   DocID029208 Rev 2 25/37  If the osxAcousticSL algorithm is enabled, the page shown below is available, with audio sound source localization. Figure 19: BlueMS (Android version) example of audio source localization plot value
System setup guide STEVAL-STLKT01V1 26/37 DocID029208 Rev 2   2  System setup guide 2.1  Hardware description This section describes the hardware components needed for developing a sensors based application. 2.1.1  STM32 Nucleo platform The STM32 Nucleo boards provide an affordable and flexible way for users to try out new ideas and build prototypes with any STM32 microcontroller lines. The Arduino™ connectivity support and ST morpho headers make it easy to expand the functionality of the STM32 Nucleo open development platform with a wide range of specialized expansion boards to choose from. The STM32 Nucleo board does not require any separate probe as it integrates the ST-LINK/V2-1 debugger/programmer. The STM32 Nucleo board comes with the comprehensive STM32 software HAL library together with various packaged software examples. Information regarding the STM32 Nucleo board is available on www.st.com at http://www.st.com/stm32nucleo Figure 20: STM32 Nucleo board  2.1.2  X-NUCLEO-CCA02M1 expansion board The X-NUCLEO-CCA02M1 is an evaluation board based on digital MEMS microphones. It is compatible with the morpho connector layout, and is designed around STMicroelectronics’ MP34DT01-M digital microphones. There are two microphones
STEVAL-STLKT01V1System setup guide   DocID029208 Rev 2 27/37  soldered onto board and it offers the possibility to plug in additional microphones using MP32DT01-based coupon evaluation boards (e.g. STEVAL-MKI129V3). The X-NUCLEO-CCA02M1 allows the acquisition of up to two microphones using the I²S bus and up to four coupon microphones using I²S and SPI together. In addition, it offers a USB output for the STM32 Nucleo board. It represents a fast and easy solution for the development of microphone-based applications as well as a starting point for audio algorithm implementation. Figure 21: X-NUCLEO-CCA02M1 board  Information regarding the X-NUCLEO-CCA02M1 expansion board is available on st.com at http://www.st.com/x-nucleo. 2.1.3  X-NUCLEO-IDB04A1 expansion board The X-NUCLEO-IDB04A1 is a Bluetooth BlueNRG expansion board usable with the STM32 Nucleo system. The BlueNRG is a very low power Bluetooth low energy (BLE) single-mode network processor, compliant with Bluetooth specifications core 4.0.
System setup guide STEVAL-STLKT01V1 28/37 DocID029208 Rev 2   Figure 22: X-NUCLEO-IDB04A1 expansion board  Information regarding the X-NUCLEO-IDB04A1 expansion board is available on www.st.com at http://www.st.com/x-nucleo. 2.1.4  X-NUCLEO-IDB05A1 expansion board The X-NUCLEO-IDB05A1 is a Bluetooth low energy evaluation board based on the SPBTLE-RF BlueNRG-MS RF module to allow expansion of the STM32 Nucleo boards. The SPBTLE-RF module is FCC (FCC ID: S9NSPBTLERF) and IC certified (IC: 8976C-SPBTLERF). The BlueNRG-MS is a very low power Bluetooth low energy (BLE) single-mode network processor, compliant with Bluetooth specification v4.2. X-NUCLEO-IDB05A1 is compatible with the ST morpho and Arduino™ UNO R3 connector layout. This expansion board can be plugged into the Arduino UNO R3 connectors of any STM32 Nucleo board.
STEVAL-STLKT01V1System setup guide   DocID029208 Rev 2 29/37  Figure 23: X-NUCLEO-IDB05A1 expansion board  Information about the X-NUCLEO-IDB05A1 expansion board is available on www.st.com at http://www.st.com/x-nucleo 2.1.5  X-NUCLEO-IKS01A1 expansion board The X-NUCLEO-IKS01A1 figured below is a sensor expansion board for use with the STM32 Nucleo system. It is also compatible with the Arduino UNO R3 connector layout, and is designed around the STMicroelectronics humidity (HTS221), pressure (LPS25HB) and motion sensors (LIS3MDL and LSM6DS0). The X-NUCLEO-IKS01A1 interfaces with the STM32 MCU via an I²C pin, and the user can change the default I²C address and the device IRQ by changing one resistor on the evaluation board.
System setup guide STEVAL-STLKT01V1 30/37 DocID029208 Rev 2   Figure 24: X-NUCLEO-IKS01A1 board  Information about the X-NUCLEO-IKS01A1 expansion board is available on www.st.com at: http://www.st.com/x-nucleo.  The LSM6DS3 DIL24 adapter board in the figure below can be plugged on top of the X-NUCLEO-IKS01A1 expansion board. Figure 25: LSM6DS3 DIL24 adapter board  2.2  Software description The following software components are needed in order to set up a suitable development environment for creating applications for the STM32 Nucleo equipped with the sensors, microphones and Bluetooth low energy expansion boards:
STEVAL-STLKT01V1System setup guide   DocID029208 Rev 2 31/37    BLUEMICROSYSTEM2: Bluetooth low energy and sensors software for STM32Cube. BLUEMICROSYSTEM2 firmware and related documentation is available on www.st.com.   Development tool-chain and Compiler. The STM32Cube expansion software supports the three following environments:   IAR Embedded Workbench for ARM® (EWARM) toolchain + ST-LINK   RealView Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK   System Workbench for STM32 + ST-LINK 2.3  Hardware and software setup This section describes the hardware and software setup procedures. It also describes the system setup needed for the above. 2.3.1  Hardware setup The following hardware components are needed: One STM32 Nucleo development platform (order code: NUCLEO-F401RE or NUCLEO-L476RG) One microphone expansion board (order code: X-NUCLEO-CCA02M1) One sensor expansion board (order code: X-NUCLEO-IKS01A1) One BlueNRG Bluetooth low energy expansion board (order code: X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1) One USB type A to Mini-B USB cable to connect the STM32 Nucleo to the PC 2.3.2  Software setup This section lists the minimum requirements necessary to set up the SDK, run the sample testing scenario based on the GUI utility and customize applications. 2.3.2.1  Development tool-chains and compilers Select one of the Integrated Development Environments supported by the STM32Cube expansion software and follow the system requirements and setup information provided by the selected IDE provider. 2.3.3  System setup guide This section describes how to setup different hardware parts before writing and executing an application on the STM32 Nucleo board with the expansion boards. 2.3.3.1  STM32 Nucleo and expansion boards setup The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger/programmer. The developer can download the relevant version of the ST-LINK/V2-1 USB driver by searching STSW-LINK008 or STSW-LINK009 on www.st.com. The X-NUCLEO-CCA02M1 sensor board is easily connected to the STM32 Nucleo board through the morpho connector, as shown below.
System setup guide STEVAL-STLKT01V1 32/37 DocID029208 Rev 2   Figure 26: STM32 Nucleo plus X-NUCLEO-CCA02M1 boards  The X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1 BlueNRG BLE expansion board is easily connected to the X-NUCLEO-CCA02M1 board through the Arduino UNO R3 extension connector, as shown below. Figure 27: STM32 Nucleo plus X-NUCLEO-CCA02M1 plus X-NUCLEO-IDB04A1 boards  Finally, the X-NUCLEO-IKS01A1 sensors board is easily connected to the X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1 expansion board through the Arduino UNO R3 extension connector, as shown below.
STEVAL-STLKT01V1 System setup guide   DocID029208 Rev 2 33/37  Figure 28: STM32 Nucleo plus X-NUCLEO-CCA02M1 plus X-NUCLEO-IDB04A1 plus X-NUCLEO-IKS01A1 plus LSM6DS3 DIL24 boards    The stacking sequence shown above is necessary to optimize the performance of the SPBTLE-RF module on the X-NUCLEO-IDB05A1 expansion board, and to reduce interference from its antenna
System setup guide STEVAL-STLKT01V1 34/37 DocID029208 Rev 2   2.3.3.2  Important additional hardware information For either STM32 Nucleo board: before connecting the X-NUCLEO-IKS01A1 board to the X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1 expansion board through the Arduino UNO R3 extension connector, remove these 0-ohm resistors:   SB25   SB26   SB27 Figure 29: Resistors to remove from X-NUCLEO-IKS01A1 board
STEVAL-STLKT01V1 System setup guide   DocID029208 Rev 2 35/37  For the NUCLEO-L476RG board only: before connecting the X-NUCLEO-CCA02M1 board to the STM32 Nucleo board morpho connectors, close these solder bridges:   SB12   SB16   SB17 (if additional microphones are connected) Figure 30: Solder bridges to close on X-NUCLEO-CCA02M1 board (when using NUCLEO-L476RG board)
Revision history STEVAL-STLKT01V1 36/37 DocID029208 Rev 2   3  Revision history Table 1: Document revision history Date Version Changes 12-Apr-2016 1 Initial release. 06-May-2016 2 Minor text edits.
STEVAL-STLKT01V1   DocID029208 Rev 2 37/37   IMPORTANT NOTICE – PLEASE READ CAREFULLY  STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement.   Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers’ products.  No license, express or implied, to any intellectual property right is granted by ST herein.  Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.  ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners.  Information in this document supersedes and replaces information previously supplied in any prior versions of this document.  © 2016 STMicroelectronics – All rights reserved
FCC ID:S9NSTILE01  This device complies with part 15 of the FCC Rules.   Operation is subject to the following two conditions:   (1) This device may not cause harmful interference, and   (2) this device must accept any interference received, including interference that may cause undesired operation. Notice: Any changes or modifications not expressly approved by the party responsible for compliance could void your authority to operate the equipment. NOTE: This equipment has been tested and found to comply with the limits for a Class  B digital device, pursuant to part 15 of the FCC    Rules. These limits are designed to  provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not   installed and used in accordance with the instructions, may cause harmful   interference to radio communications. However, there is no guarantee that   interference will not occur in a particular installation. If this equipment does cause   harmful interference to radio or television reception, which can be determined by   turning the equipment off and on, the user is encouraged to try to correct the   interference by one or more of the following measures: - Reorient or relocate the receiving antenna. - Increase the separation between the equipment and receiver. - Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. - Consult the dealer or an experienced radio/ TV technician for help. Modular information form OEM Information to Be Supplied to the End User   by the OEM or Integrator. The following regulatory and safety notices must be published in   documentation supplied to the end user of the product or system   incorporating an adapter in compliance with local regulations.   Host system must be labeled with " Contains transmitter module   FCC ID: S9NSTILE01 ", FCC ID displayed on label.   
IC: 8976C-STILE01This device complies with Industry Canada licence-exempt RSS standard(s).  Operation is subject to the following two conditions:   (1) this device may not cause interference, and   (2) this device must accept any interference, including interference   that may cause undesired operation of the device.   This Class B digital apparatus complies with Canadian ICES-0003.   Le présent appareil est conforme aux CNR d'Industrie Canada   applicables aux appareils radio exempts de licence.   L'exploitation est autorisée aux deux conditions suivantes :   (1) l'appareil ne doit pas produire de brouillage, et   (2) l'utilisateur de l'appareil doit accepter tout brouillage   radioélectrique subi, même si le brouillage est susceptible d'en   compromettre le fonctionnement.      by the OEM or Integrator. The following regulatory and safety notices must be published in   documentation supplied to the end user of the product or system   incorporating an adapter in compliance with local regulations.   Host system must be labeled with " Contains transmitter module   IC: 8976C-STILE01", IC ID displayed on label.    

Navigation menu