ST-logo

STM32Cube IoT node BLE Function Pack

STM32Cube-IoT-node-BLE-Function-Pack-product

Specifications

  • Product Name: VL53L3CX-SATEL
  • Function Pack: STM32Cube function pack for IoT node BLEconnectivity 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, specificallyNUCLEO-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.

Hardware and Software overview

Sample implementations are available for STM32 Nucleo development boards plugged into STM32 Nucleo expansion boards:

  • NUCLEO-F401RE (or NUCLEO-L476RG or NUCLEO-U575ZI-Q) + X-NUCLEO-BNRG2A1 + X-NUCLEO-53L3A2STM32Cube-IoT-node-BLE-Function-Pack-fig- (1)
  • NUCLEO-F401RE (or NUCLEO-L476RG or NUCLEO-U575ZI-Q) + X-NUCLEO-BNRG2A1 + X-NUCLEO-53L3A2STM32Cube-IoT-node-BLE-Function-Pack-fig- (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 a 32 MHz crystal oscillator for the BlueNRG-2.
  • M95640-RMC6TG 64-Kbit serial SPI bus EEPROM with high-speed clock interfaceSTM32Cube-IoT-node-BLE-Function-Pack-fig- (3)

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,k ready to use / clipable on VL53L3CX
  • Two VL53L3CX breakout boards

STM32Cube-IoT-node-BLE-Function-Pack-fig- (4)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 witmulti-targetet detection
  • Regulator: 5 to 2.8 V range input voltage (output voltage: 2.8 V)
  • VL53L3CX signal interface level shifter

STM32Cube-IoT-node-BLE-Function-Pack-fig- (5)

Important Hardware Additional Information

BlueNRG-2 library does not work with the stock firmware that is loaded in the BLE module of the 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 the TSW-BNRGFLASHER software tool (currently available only for Windows PC) 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

STM32Cube-IoT-node-BLE-Function-Pack-fig- (6)

  1. Install the ST BlueNRG-1_2 Flasher Utility and open it, then select the SWD tab.b
  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. binn
  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.bi.n
  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.STM32Cube-IoT-node-BLE-Function-Pack-fig- (7)

STM32Cube-IoT-node-BLE-Function-Pack-fig- (8)

  VL53L3CX-SATEL Arduino Connector NUCLEO-F401RE NUCLEO-L476RG NUCLEO-U575ZI-Q
SCL 2 D15 PB8 PB8
SDA 4 D14 PB9 PB9
XSDN 3 D4 PB5 PF14
VDD_SENSOR 5 3V3 CN6 pin n. 4 CN8 pin n. 7
GND_X 6 GND CN6 pin n. 6 CN8 pin n. 11

STM32Cube-IoT-node-BLE-Function-Pack-fig- (9)

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 within a fixed range.
  • 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

STM32Cube-IoT-node-BLE-Function-Pack-fig- (10)

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 examples (Keil, IAR, STM32CubeIDE) compatible with NUCLEO-F401RE, NUCLEO-L476RG, NUCLEO-U575ZI.
  • ST BLE Sensor
    Application for Android (V5.2.0 or higher) /iOS (V5.2.0 or higher) to download from Google Store / iTunes

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

STM32Cube-IoT-node-BLE-Function-Pack-fig- (11)

Start coding in just a few minutes (1/3)

STM32Cube-IoT-node-BLE-Function-Pack-fig- (12)

Start coding in just a few minutes (2/3)

  1. How to install the pre-compiled binary:
    • For each application, there is inside the package one folder called “Binary”STM32Cube-IoT-node-BLE-Function-Pack-fig- (13)

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)
    • 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”
    • 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”.
    • Important Note: For the first installation, after the full flash erase (suggested procedure), use the STM32CubeProgrammer to set the STM32 MCU user byte settings to use bank 1 for flashing the firmware and start the application

How to install the code after compiling the project for NUCLEO-F401RE and NUCLEO-L476RG:

  • Compile the project with your preferred IDESTM32Cube-IoT-node-BLE-Function-Pack-fig- (14)

In the folder Utilities, there is a script *.sh that performs 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:Thiss additional pre-compiled binary is not compatible with the FOTA update procedure

Before executing the *.sh script, it is necessary to edit it to set the installation path for STM32CubeProgrammer.
BootLoaderPath and BinaryPath as input are required when executing the .sh script.

STM32Cube-IoT-node-BLE-Function-Pack-fig- (15)

Flash Management and Boot Process

STM32Cube-IoT-node-BLE-Function-Pack-fig- (16)

Bluetooth low energy and sensors software

FP-SNS-FLIGHT1 for NUCLEO-F401RE / NUCLEO-L476RG / NUCLEO-U575ZI-Q – Serial line monitor (e.g.Tera Term) 

STM32Cube-IoT-node-BLE-Function-Pack-fig- (17)

Demo Examples ST BLE Sensor Application Overview

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

Hardware Features – Android VersionSTM32Cube-IoT-node-BLE-Function-Pack-fig- (18)

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

Hardware Features – Android VersionSTM32Cube-IoT-node-BLE-Function-Pack-fig- (19)

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

  • #define PRESENCE_MIN_DISTANCE_RANGE 300
  • #define PRESENCE_MAX_DISTANCE_RANGE 800

In the file FLIGHT1_config.h.h, which can be found in the Inc users folder for each project.

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

Board Configuration – Android version

STM32Cube-IoT-node-BLE-Function-Pack-fig- (20)

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

Debug Console – Android version

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

STM32Cube-IoT-node-BLE-Function-Pack-fig- (21)

Firmware Upgrade – Android version

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

STM32Cube-IoT-node-BLE-Function-Pack-fig- (22)

Documents & Related Resources

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

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-IoT-node-BLE-Function-Pack-fig- (23)

For further information, please visit www.st.com/stm32od.e

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.

Frequently Asked Questions

  • 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 fordetailed instructions on firmware updates.

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 *