STmicroelectronics STM32Cube function pack for IoT node with BLE connectivity, environmental and motion sensors (FP-SNS-MOTENV1)

Specifications
- Product Name: STM32Cube function pack for IoT node with BLE connectivity, environmental and motion sensors(FP-SNS-MOTENV1)
- Version: 3.2 (September 16, 2025)
Product Information
Hardware Overview
The product includes sample implementations for STM32 Nucleo development boards plugged on STM32 Nucleo expansion boards. Key components include motion MEMS and environmental sensors expansion board and Bluetooth Low Energy Expansion Board.
Software Description
The software overview includes key features of FP-SNS-MOTENV1 with an overall software architecture provided. Latest information can be found at www.st.com.
Product Usage Instructions
Hardware Setup
The hardware setup includes connecting the STM32 Nucleo development boards with expansion boards. Follow the specific hardware connections as described in the manual.
Software Setup
Ensure you have the necessary software prerequisites for setup and demo examples. Refer to the manual for details on software installation and configuration.
Bluetooth Low Energy Board Setup
For optimal performance of the SPBTLE-RF module on the X-NUCLEO-BNRG2A1 expansion board, follow the recommended sequence of board stacking.
Quick Start Guide
STM32Cube function pack for IoT node with BLE connectivity, environmental and motion sensors (FP-SNS-MOTENV1)
Hardware and Software overview
Hardware Overview
Sample implementations are available for STM32 Nucleo development boards plugged on STM32 Nucleo expansion boards:
- NUCLEO-U575ZI-Q (or NUCLEO-F401RE or NUCLEO-L476RG or NUCLEO-LO53R8) + X-NUCLEO-BNRG2A1 + X-NUCLEO-IKS4A1

Motion MEMS and environmental sensors expansion board
Hardware Overview (1/5)

X- NUCLEO-IKS4A1 Hardware Description (1/2)
- The X-NUCLEO-IKS4A1 is a motion MEMS and environmental sensor evaluation board system.
- This expansion board allows application development with features like Sensor HUB,camera module integration and QVAR touch/ swipe gestures.
- It is compatible with the Arduino UNO R3 connector layout, and is designed around ST’s latest sensors.
Key Product on board
- LMS6DSO16IS: MEMS 3D accelerometer (±2/±4/±8/±16 g) + 3D gyroscope (±125/±250/±500/±1000/±2000 dps) with ISPU (Intelligent Processing Unit)
- LIS2MDL: MEMS 3D magnetometer (±50 gauss)
- LIS2DUXS12: Ultra low-power MEMS 3D accelerometer (±2/±4/±8/±16 g) with Qvar, AI, & anti-aliasing
- LPS22DF: Low-power and high-precision MEMS pressure sensor, 260-1260 hPa absolute digital output barometer
- SHT40AD1B: humidity sensor from Sensirion
- STTS22H: Low-voltage, ultralow-power, 0.5 °C accuracy temperature sensor (–40 °C to +125 °C)
- LSM6DSV16X: MEMS 3D accelerometer (±2/±4/±8/±16 g) + 3D gyroscope (±125/±250/±500/±1000/±2000/±4000 dps) with embedded sensor fusion, AI, Qvar
Motion MEMS and environmental sensors expansion board
X-NUCLEO-IKS4A1 Hardware Description (2/2)

Bluetooth Low Energy Expansion Board
Hardware Description
- The X-NUCLEO-BNRG2A1 is a Bluetooth Low Energy (BLE) evaluation and development board system, designed around ST’s BLUENRG-M2SP Bluetooth Low Energy module based on BlueNRG-2.
- The BlueNRG-2 processor hosted in the BLUENRG-M2SP module communicates with the STM32 microcontroller, hosted on the Nucleo development board, through an SPI link available on the Arduino UNO R3 connector.
Key Product on board
- BLUENRG-M2SP Bluetooth Low Energy, FCC and IC certified (FCC ID: S9NBNRGM2SP, IC: B976C-BNRGM2SP), module based on Bluetooth® Low Energy wireless network processor BlueNRG-2, BLE v5.0 compliant.
- BLUENRG-M2SP integrates a BALF-NRG-02D3 balun and a PCB antenna. It embeds 32 MHz crystal oscillator for the BlueNRG-2.
- M95640-RMC6TG 64-Kbit serial SPI bus EEPROM with high-speed clock interface

Important Hardware Additional Information

BlueNRG-2 library does not work with the stock firmware that is loaded in the BLE module of X-NUCLEO-BNRG2A1 expansion board.
For this reason:
- first of all, it is needed to solder on X-NUCLEO-BNRG2A1, if it is not soldered, a 0 Ohm resistor at R117.
- Then you can use a standard ST-Link V2-1 with 5 jumper wires female-female together with STSW-BNRGFLASHER software tool (currently available only for Windows PC) in order to update the firmware of the BLE module of X-NUCLEO-BNRG2A1.
You need to connect the J12 pins of the X-NUCLEO-BNRG2A1 to the pins of the ST-Link V2-1 as shown in the picture and follow the steps show in the next slide.
In particular we have the following connections:
|
J12 |
ST-Link V2-1 |
|
| Pin | 1 | 1 |
| Pin | 2 | 9 |
| Pin | 3 | 12 |
| Pin | 4 | 7 |
| Pin | 5 | 15 |
Important Hardware Additional Information
STM32 Nucleo with Expansion boards – Hardware Overview

- install the ST BlueNRG-1_2 Flasher Utility and open it, then select the SWD tab
- Erase the flash memory of the BlueNRG-2 chip
- Download the Link Layer Only firmware for the BLE module from the following link DTM_LLOnly.bin
- Load the Link Layer Only firmware in the ST BlueNRG-1_2 Flasher Utility and then press the “Flash” button
- If you need to restore the stock firmware of the BLE module of X-NUCLEO-BNRG2A1, you can repeat the procedure using this firmware image DTM_Full.bin
- If you should find some issues during the update process, you can try to repeat the procedure closing the J15 jumper on the X-NUCLEO-BNRG2A1 expansion board.
Software Overview
Latest info available at www.st.com FP-SNS-MOTENV1
Software Description
- FP-SNS-MOTENV1 is an STM32Cube function pack, which lets you connect your IoT node to a smartphone via BLE and uses a suitable Android or iOS application, such as the ST BLE Sensor app, to view real-time motion and environmental (such as temperature, relative humidity, pressure) and sensor data.
- This package also enables advanced functions such as the sensor data fusion and accelerometer-based real-time activity recognition, carry position, gesture recognition, motion intensity recognition and real-time information about the number of steps and cadence which the user just performed with the device, i.e. cell phone.
- Together with the suggested combination of STM32 and ST devices, it can be used to develop specific wearable and environmental monitoring applications, or smart things applications in general.
- The software is available also on GitHub, where the users can signal bugs and propose new ideas through [Issues] and [Pull Requests] tabs.
Key features
- Complete firmware to develop an IoT node with BLE connectivity, environmental and motion sensors.
- Middleware libraries for sensor data fusion and accelerometer-based real-time activity recognition, carry position, gesture recognition, motion intensity recognition and pedometer
- Compatible with ST BLE Sensor applications for Android/iOS, to perform sensor data reading, motion algorithm features demo and firmware update (FOTA)
- Compatible with STM32CubeMX, can be downloaded from st.com and installed directly into STM32CubeMX
- Easy portability across different MCU families, thanks to the STM32Cube
- Free, user-friendly license terms
Setup & Demo Examples
Software and Other prerequisites
- STSW-LINK004
- STM32 ST-LINK Utility (STSW-LINK004) is a full-featured software interface for programming STM32 microcontrollers
- FP-SNS-MOTENV1
- Copy the .zip file content of the firmware package into a folder on your PC.
- The package contains source code example (Keil, IAR, STM32CubeIDE) compatible with NUCLEO-F401RE, NUCLEO-L476RG, NUCLEO-U575ZI-Q, NUCLEO-L053R8
- ST BLE Sensor Application for Android/iOS to download from Google Play Store / iTunes
Setup Overview: STM32 Nucleo with Expansion boards
HW prerequisites

- 1x Bluetooth Low Energy Expansion Board (X-NUCLEO-BNRG2A1)
- 1x Motion MEMS and Environmental Sensor Expansion Board (X-NUCLEO-IKS4A1)
- 1x STM32 Nucleo Development Board (NUCLEO-U575ZI-Q, NUCLEO-F401RE or NUCLEO-L476RG or NUCLEO-L053R8)
- 1x Android or iOS device
- 1x PC with Windows 7 and above
- 1x USB type A to Mini-B USB cable for NUCLEO-F401RE, NUCLEO-L476RG and NUCLEO-L053R8
- 1x USB type A to Micro-B USB cable for NUCLEO-U575ZI-Q
For optimizing the performances of the SPBTLE-RF module present on X-NUCLEO-BNRG2A1 expansion board, it is necessary to follow this sequence of boards stack
Setup Overview
Start coding in just a few minutes (1/3)


- \Projects\NUCLEO-F401RE\Applications\IKS4A1\MOTENV1
- \Projects\ NUCLEO-F401RE\Examples\BootLoader
- \Projects\ NUCLEO-L053R8\Applications\IKS4A1 \MOTENV1
- \Projects\ NUCLEO-L476RG\Applications\IKS4A1 \MOTENV1
- \Projects\ NUCLEO-L476RG \Examples\BootLoader
- \Projects\ NUCLEO-U575ZI-Q\Applications\IKS4A1 \MOTENV1
Use the pre-compiled binaries for registering your device, or alternative re-compile the code adding your device certificate

Start coding in just a few minutes (2/3)
- How to install the pre-compiled binary:
- For each applications, there is inside the package one folder called “Binary”

- For NUCLEO-F401RE and NUCLEO-L476RG:
- pre-compiled FP-SNS-MOTENV1 FW that could be flashed to a supported STM32 Nucleo using the STM32CubeProgrammer at the right position (0x08004000)
- Important Note: this pre-compiled binary is compatible with the FOTA update procedure
- pre-compiled FP-SNS-MOTENV1 + BootLoader FW that could be directly flashed to a supported STM32 Nucleo using the STM32CubeProgrammer or by doing “Drag & Drop”
- Important Note: this pre-compiled binary is not compatible with the FOTA update procedure
- For NUCLEO-L053R8:
- pre-compiled FP-SNS-MOTENV1 could be directly flashed to a supported STM32 Nucleo using the STM32CubeProgrammer or by doing “Drag & Drop”.
- For NUCLEO-U575ZI-Q:
- pre-compiled FP-SNS-MOTENV1 could be directly flashed to a supported STM32 Nucleo using the STM32CubeProgrammer or by doing “Drag & Drop”.
- For the first installation, after the full flash erase (suggest procedure), use the STM32CubeProgrammer to set STM32 MCU user byte settings to use the bank 1 for flash the firmware and starts the application
- For each applications, there is inside the package one folder called “Binary”
Start coding in just a few minutes (3/3)

How Install the code after compiling the project for NUCLEO-F401RE and NUCLEO-L476RG:
- Compile the project with your preferred IDE
- In the folder Utilities there is a scripts *.sh that makes the following operations:
- Full Flash Erase
- Flash the right BootLoader at the right position (0x08000000)
- Flash the MOTENV1 firmware at the right position (0x08004000)
- This is the firmware that was compiled with the IDE
- This firmware is compatible with the FOTA update procedure
- Save a complete Binary FW that includes both MOTENV1 and the BootLoader
- This binary can be directly flashed to a supported STM32 board using the ST-Link or by doing “Drag & Drop”
- Important Note: this additional pre-compiled binary is not compatible with the FOTA update procedure
Before to execute the *.sh script, it is necessary to edit it to set the installation path for STM32CubeProgrammer.
- BootLoaderPath/BootLoader.bin and BinaryPath as input are required when execute *.sh script
Flash Management and Boot Process

Bluetooth low energy and sensors software
FP-SNS-MOTENV1 for NUCLEO-F401RE / NUCLEO-L476RG / NUCLEO-U575ZI-Q – Serial line monitor (e.g.Tera Term)

- Pressing the RESET User button on STM32 Nucleo board. You could see the initialization phase
- When the boards are connected to an Android or iOS device, you can see what is transmitted via BLE
Demo Examples ST BLE Sensor Application Overview
ST BLE Sensor Application for Android/iOS (1/6)

ST BLE Sensor Application for Android/iOS (2/6)

ST BLE Sensor Application for Android/iOS (3/6)
FP-SNS-MOTENV1 for NUCLEO-F401RE NUCLEO-L476RG NUCLEO-U575ZI-Q
ST BLE Sensor Application for Android/iOS (4/6)

ST BLE Sensor Application for Android/iOS (5/6)

- For NUCLEO-U575ZI-Q, after the boot the MOTENV1 firmware receives the new firmware from the STBLESensor application, saves it on one memory bank (either bank1 or bank2) and performs a reboot executing the new code saved on the other memory bank. A program related to a specific region can run in that region only. The MOTENV1 application, however, can swap among different flash banks and each program can run in any flash memory bank.
ST BLE Sensor Application for Android/iOS (6/6)

NOTE: If the mems expansion board used is not compliant with the firmware or not mounted
Documents & Related Resources
All documents are available in the DESIGN tab of the related products webpage
FP-SNS-MOTENV1
- DB2852: STM32Cube function pack for IoT node with BLE connectivity, environmental and motion sensors – data brief
- UM2016: Getting started with the STM32Cube function pack for IoT node with BLE connectivity, environmental and motion sensors – user manual
- Software setup file
X-NUCLEO-BNRG2A1
- Gerber files, BOM, Schematic
- DB4086: Bluetooth Low Energy expansion board based on the BLUENRG-M2SP module for STM32 Nucleo – data brief
- UM2667: Getting started with the X-NUCLEO-BNRG2A1 BLE expansion board based on BLUENRG-M2SP module for STM32 Nucleo – user manual
X-NUCLEO-IKS4A1
- Gerber files, BOM, Schematic
- DB5091: Motion MEMS and environmental sensor expansion board for STM32 Nucleo – data brief
- UM3250: Getting started with motion MEMS and environmental sensor expansion board for STM32 Nucleo – user manual
Consult www.st.com for the complete list
STM32 Open Development Environment: Overview
STM32 Open Development Environment Fast, affordable Prototyping and Development
- The STM32 Open Development Environment (STM32 ODE) is an open, flexible, easy, and affordable way to develop innovative devices and applications based on the STM32 32-bit microcontroller family combined with other state-of-the-art ST components connected via expansion boards. It enables fast prototyping with leading-edge components that can quickly be transformed into final designs

For further information, please visit www.st.com/stm32ode
- © STMicroelectronics – All rights reserved. The STMicroelectronics corporate logo is a registered trademark of the STMicroelectronics group of companies. All other names are the property of their respective owners.
FAQs
Q: How do I update the firmware for the BLE module?
A: To update the firmware for the BLE module, follow the steps outlined in the manual, which include using the ST BlueNRG-1_2 Flasher Utility and downloading the appropriate firmware image.
Documents / Resources
![]() |
STmicroelectronics STM32Cube function pack for IoT node with BLE connectivity, environmental and motion sensors (FP-SNS-MOTENV1) [pdf] User Guide NUCLEO-U575ZI-Q, NUCLEO-F401RE, NUCLEO-L476RG, NUCLEO-LO53R8, X-NUCLEOBNRG2A1, X-NUCLEO-IKS4A1, STM32Cube Function Pack for IoT Node with BLE Connectivity, STM32Cube, Function Pack for IoT Node with BLE Connectivity, IoT Node with BLE Connectivity, with BLE Connectivity, BLE Connectivity |

