STM32Cube IoT node BLE Function Pack User Guide

STM32Cube IoT node BLE Function Pack

Product Information

Specifications:

  • Product Name: VL53L3CX-SATEL
  • Function Pack: STM32Cube function pack for IoT node BLE
    connectivity and time-of-flight sensors (FP-SNS-FLIGHT1)
  • Version: 4.1 (January 31, 2025)

Hardware Overview

The VL53L3CX-SATEL is a breakout board with the VL53L3CX
time-of-flight sensor.

Key Features:

  • Arduino UNO R3 connector
  • BLUENRG-M2SP for Bluetooth Low Energy connectivity
  • M95640-RMC6TG for memory storage

Software Description:

The firmware update (FOTA) feature allows for easy software
updates.

Software Requirements:

Compatible with STM32 Nucleo development boards, specifically
NUCLEO-F401RE, NUCLEO-L476RG, or NUCLEO-U575ZI-Q.

Additional Information:

For firmware updates, refer to the latest information available
at www.st.com.

Product Usage Instructions

Setup & Demo Examples

Step 1: Hardware Setup

Connect the VL53L3CX-SATEL breakout board to an STM32 Nucleo
development board (NUCLEO-F401RE, NUCLEO-L476RG, or
NUCLEO-U575ZI-Q) using the appropriate connectors.

Step 2: Software Setup

Ensure that the necessary software prerequisites are installed
on your system as specified in the documentation.

Step 3: Demo Examples

Refer to the provided demo examples to understand how to
interact with the VL53L3CX sensor using the provided software
architecture.

Frequently Asked Questions (FAQ)

Q: Can I use the VL53L3CX-SATEL board with other development
boards?

A: The VL53L3CX-SATEL board is designed to be compatible with
STM32 Nucleo development boards, ensuring optimal performance and
functionality.

Q: How can I update the firmware on the VL53L3CX-SATEL
board?

A: Firmware updates can be performed using the FOTA feature.
Refer to the latest information available at www.st.com for
detailed instructions on firmware updates.

VL53L3CX_SATEL_02

Quick Start Guide
STM32Cube function pack for IoT node BLE connectivity and time-of-flight sensors (FP-SNS-FLIGHT1)
Version 4.1 (January 31, 2025)

1 Hardware and Software overview 2 Setup & Demo Examples 3 Documents & Related Resources 4 STM32 Open Development Environment: Overview

Agenda
2

1- Hardware and Software overview

Hardware Overview
Sample implementations are available for STM32 Nucleo development boards plugged on STM32 Nucleo expansion boards:
NUCLEO-F401RE (or NUCLEO-L476RG or NUCLEO-U575ZI-Q) + X-NUCLEO-BNRG2A1 + XNUCLEO-53L3A2
NUCLEO-F401RE (or NUCLEO-L476RG or NUCLEO-U575ZI-Q) + X-NUCLEO-BNRG2A1 + VL53L3CX-SATEL
4

Bluetooth Low Energy Expansion Board
Hardware Overview (1/6)

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

Arduino UNO R3 connector

BLUENRG-M2SP

M95640-RMC6TG

Latest info available at www.st.com

X-NUCLEO-BNRG2A1

5

VL53L3CX Nucleo expansion board (X-NUCLEO-53L3A2)
Hardware Overview (2/6)

X-NUCLEO-53L1A2 Hardware Description

· The X-NUCLEO-53L3A2 is a ranging sensor with multi target detection evaluation and development board designed around the VL53L3CX sensor based on ST FlightSense Time-of-Flight technology.
· The VL53L3CX communicates with the STM32 Nucleo developer board host microcontroller through an I2C link available on the Arduino UNO R3 connector.

Key Product on board
· VL53L3CX Time-of-Flight (ToF) ranging sensor with multi target detection

· 0.25, 0.5 and 1mm spacers to simulate air gaps, with the cover glass

· Cover window (made by Hornix) sample with low cross-talk ready to use / clipable on VL53L3CX

· Two VL53L3CX breakout boards

VL53L3cx

Latest info available at www.st.com

X-NUCLEO-53L3A2

6

Breakout board with VL53L3CX (VL53L3CX-SATEL)
Hardware Overview (3/6)
VL53L3CX-SATEL Hardware Description
· The VL53L3CX-SATEL breakout boards can be used for easy integration into customer devices. Thanks to the voltage regulator and level shifters, it can be used in any application with a 2.8 V to 5 V supply.
· The PCB section supporting the VL53L3CX module is perforated so that developers can break off the mini-PCB for use in a 2.8 V supply application using flying leads.

Key Product on board
· VL53L3CX Time-of-Flight (ToF) ranging sensor with multi target detection · Regulator: 5 to 2.8 V range input voltage (output voltage: 2.8 V)
· VL53L3CX signal interface level shifter

VL53L3cx
Latest info available at www.st.com VL53L3CX-SATEL 7

Important Hardware Additional Information
Hardware Overview (4/6)

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-NUCLEOBNRG2A1.
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

8

Important Hardware Additional Information
Hardware Overview (5/6)
1. install the ST BlueNRG-1_2 Flasher Utility and open it, then select the SWD tab
2. Erase the flash memory of the BlueNRG-2 chip 3. Download the Link Layer Only firmware for the BLE
module from the following link DTM_LLOnly.bin 4. Load the Link Layer Only firmware in the ST
BlueNRG-1_2 Flasher Utility and then press the “Flash” button 5. 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 6. 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.
9

Important Hardware Additional Information
Hardware Overview (6/6)

3V3 GND

SCL SDA
XSDN

VL53L3CX-SATEL

SCL

2

SDA

4

XSDN

3

VDD_SENSOR

5

GND_X

6

Arduino Connector
D15 D14 D4 3V3 GND

NUCLEO-F401RE NUCLEO-L476RG
PB8

NUCLEO-U575ZI-Q PB8

PB9

PB9

PB5

PF14

CN6 pin n. 4

CN8 pin n. 7

CN6 pin n. 6

CN8 pin n. 11

9 10 7 8 5 6 3 4 1 2

10

Software Description
· The FP-SNS-FLIGHT1 is an STM32Cube function pack, which lets your IoT node connect to a smartphone via BLE and uses a suitable Android or iOS application like the STBLESensor app to view real-time object distance data read by the Time-of- Flight sensor.
· The package also enables advanced functions, such as presence detection inside a fixed range distance.
· This package, together with the suggested combination of the STM32 and ST devices, can be used to develop wearable applications or smart thing applications in general.
· The software runs on the STM32 microcontroller and includes all the necessary drivers to recognize the devices on the STM32 Nucleo development board.
Key features
· Complete firmware to develop an IoT node with BLE connectivity, and Time-of-Flight sensors · Compatible with STBLESensor application for Android/iOS to perform distance data reading and
firmware update (FOTA)
· Multitarget ranging sensor application based on the VL53L3CX Time-of-Flight (ToF) sensor · Sample implementation available for X-NUCLEO-53L3A2 (or VL53L3CX-SATEL) and X-NUCLEO-
BNRG2A1 connected to a NUCLEO-F401RE or NUCLEO-L476RG or NUCLEO-U575ZI-Q
· Compatible with STM32CubeMX, can be downloaded from and installed directly into STM32CubeMX
· Easy portability across different MCU families, thanks to STM32Cube · Free user-friendly license terms

FP-SNS-FLIGHT1
Software Overview
Overall Software Architecture
Latest info available at www.st.com FP-SNS-FLIGHT1 11

2- Setup & Demo Examples

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-FLIGHT1
· 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
· ST BLE Sensor Application for Android (V5.2.0 or higher) /iOS (V5.2.0 or higher) to download from Google Store / iTunes
13

2.1- Setup Overview: STM32 Nucleo with Expansion boards

Setup Overview
HW prerequisites with STM32 Nucleo Expansion boards

· 1 x Bluetooth Low Energy expansion board (X-NUCLEO-BNRG2A1)

· 1 x STM32 ranging sensor expansion board (X-NUCLEO-53L3A2 or VL53L3CX-SATEL)

· 1 x STM32 Nucleo development board (NUCLEO-U575ZI-Q or NUCLEO-F401RE or NUCLEO-L476RG)
· 1x Android or iOS device

NUCLEO-U575ZI-Q

· 1 x PC with Windows 10 and above

· 1x USB type A to Mini-B USB cable for NUCLEO-F401RE or NUCLEO-L476RG · 1x USB type A to Micro-B USB cable for NUCLEO-U575ZI-Q

NUCLEO-F401RE NUCLEO-L476RG

X-NUCLEO-BNRG2A1 X-NUCLEO-53L3A2

VL53L3CX-SATEL

Micro USB

Mini USB

It is necessary to connect the boards in the order shown in this picture

15

www.st.com/stm32ode
1

Setup Overview
Start coding in just a few minutes (1/3)
FP-SNS-FLIGHT1 package structure

2
Select Function Pack: FP-SNS-FLIGHT1

3
Download & unpack

Docs BSP, HAL and drivers BlueNRG-2, BLE_Manager Applications and examples
Boot loader binary

Android /iOS smartphone and

ST BLE Sensor application

(V5.2.0/5.2.0 or higher)

6

4
.Projects NUCLEO-F401RE ExamplesBootLoader .Projects NUCLEO-L476RG Examples BootLoader .Projects NUCLEO-F401RE Applications<53L3A2> or <CUSTOM>FLIGHT1 .Projects NUCLEO-L476RG Applications<53L3A2> or <CUSTOM> FLIGHT1 .Projects NUCLEO-U575ZI-QApplications<53L3A2> or <CUSTOM> FLIGHT1
Use the pre-compiled binaries for registering your device, or alternative re-compile the code adding your device certificate
5
16

Setup Overview
Start coding in just a few minutes (2/3)
1. How to install the pre-compiled binary:
· For each applications, there is inside the package one folder called “Binary”
· It contains:
For NUCLEO-F401RE and NUCLEO-L476RG:
· pre-compiled FP-SNS-FLIGHT1 FW that could be flashed to a supported STM32 Nucleo for X-NUCLEO-53L3A2 using the STM32CubeProgrammer at the right position (0x08004000) o Important Note: this pre-compiled binary is compatible with the FOTA update procedure
· pre-compiled FP-SNS-FLIGHT1 + BootLoader FW that could be directly flashed to a supported STM32 Nucleo for X-NUCLEO-53L3A2 using the STM32CubeProgrammer or by doing “Drag & Drop” o Important Note: this pre-compiled binary is not compatible with the FOTA update procedure
· pre-compiled FP-SNS-FLIGHT1 FW that could be directly flashed to a supported STM32 Nucleo for VL53L3CX-SATEL using the STM32CubeProgrammer or by doing “Drag & Drop”
For NUCLEO-U575ZI-Q:
· pre-compiled FP-SNS-FLIGHT1 could be directly flashed to a supported STM32 Nucleo (for X-NUCLEO-53L3A2 and for VL53L3CX-SATEL) using the STM32CubeProgrammer or by doing “Drag & Drop”. o Important Note: 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
17

2. How Install the code after compiling the project for NUCLEO-F401RE and NUCLEO-L476RG:
· Compile the project with your preferred IDE

Setup Overview
Start coding in just a few minutes (3/3)

· 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 FLIGHT1 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 FLIGHT1 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 and BinaryPath as input are required when execute *.sh script
18

Setup Overview
Flash Management and Boot Process
Flash Structure for STM32F401RE
19

Setup Overview
Bluetooth low energy and sensors software
FP-SNS-FLIGHT1 for NUCLEO-F401RE / NUCLEO-L476RG / NUCLEO-U575ZI-Q – Serial line monitor (e.g.Tera Term)
· Pressing the RESET button on STM32 Nucleo triggers the initialization phase

· When the boards are connected to an Android or iOS device, you can see what is transmitted via BLE

Configure the serial line monitor (speed, LF) 20

2.4- Demo Examples ST BLE Sensor Application Overview

Hardware Features ­ Android Version

Demo Examples
ST BLE Sensor Application for Android/iOS (1/5)

1

2

1

2 Plot Data: Objects distances and presence

Objects distances
22

Demo Examples
ST BLE Sensor Application for Android/iOS (2/5)

1

2

Hardware Features ­ Android Version

1 2

Led Status

Presence Detection

NOTE
The presence is identified inside a fixed range distances that can be modified by these line code:

#define PRESENCE_MIN_DISTANCE_RANGE 300 #define PRESENCE_MAX_DISTANCE_RANGE 800
23
in the file FLIGHT1_config.h that can find in the Inc users folder for each project.

Board Configuration ­ Android version

Demo Examples
ST BLE Sensor Application for Android/iOS (3/5)
24

Demo Examples
ST BLE Sensor Application for Android/iOS (4/5)

Debug Console ­ Android version

Menu option

Command Help

Command Info

Not Recognized Command
25

Demo Examples
ST BLE Sensor Application for Android/iOS (5/5)

Firmware Upgrade ­ Android version Application page during FOTA and on completion

Menu option

Firmware upgrade page

Firmware update file selection

Terminal window information during FOTA
26

3- Documents & Related Resources

Documents & Related Resources
All documents are available in the DESIGN tab of the related products webpage
FP-SNS-FLIGHT1:
· DB2862: STM32Cube function pack for IoT node with NFC, BLE connectivity and time-of-flight sensors ­ data brief · UM2026: Getting started with the STM32Cube function pack for IoT node with NFC, BLE connectivity and time-of-flight 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-53L3A2:
· Gerber files, BOM, Schematic · DB4226: Time-of-Flight ranging sensor with multi target detection expansion board based on VL53L3CX for STM32 Nucleo ­ data brief · UM2757: Getting started with X-NUCLEO-53L3A2 multi target ranging ToF sensor expansion board based on VL53L3CX for STM32 Nucleo ­ user manual
VL53L3CX-SATEL:
· Gerber files, BOM, Schematic · DB4194: VL53L3CX breakout board Time-of-Flight ranging sensor with multi target detection ­ data brief · UM2853: How to use the VL53L3CX with STMicroelectronics’ X-CUBE-TOF1 Time-of-Flight sensor software packages for STM32CubeMX ­ user manual

Consult www.st.com for the complete list

28

4- 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

STM32Cube development software

STM32 Nucleo expansion boards
(X-NUCLEO)

STM32 Nucleo development boards

STM32Cube expansion software
(X-CUBE)

Function Packs (FP)
For further information, please visit www.st.com/stm32ode
30

Thank you
© 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.

Documents / Resources

ST STM32Cube IoT node BLE Function Pack [pdf] User Guide
NUCLEO-F401RE, NUCLEO-L476RG, NUCLEO-U575ZI-Q, X-NUCLEO-BNRG2A1, XNUCLEO-53L3A2, VL53L3CX-SATEL, STM32Cube IoT node BLE Function Pack, STM32Cube, IoT node BLE Function Pack, BLE Function Pack

References

Leave a comment

Your email address will not be published. Required fields are marked *