광고
광고
UM2026
User manual
Getting started with the STM32Cube function pack for IoT node with NFC, BLE connectivity and time-of-flight sensors
Introduction
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.
If the X-NUCLEO-NFC04A1 expansion board is present, it uses the NDEF standard for simple and secure Bluetooth pairing, storing the necessary information on the NFC tag, thus simplifying the device configuration.
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.
UM2026 - Rev 8 - October 2021
For further information contact your local STMicroelectronics sales office.
www.st.com
1 Acronyms and abbreviations
BLE
NFC
NDEF
Acronym
Table 1. Acronyms and abbreviations
Description
Bluetooth low energy
Near field communication
NFC data exchange format
UM2026
Acronyms and abbreviations
UM2026 - Rev 8 page 2/40
2
2.1
2.2
UM2026
FP-SNS-FLIGHT1 software description
FP-SNS-FLIGHT1 software description
Overview
The key features of the FP-SNS-FLIGHT1 package are:
• Complete firmware to develop an IoT node with NFC, 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-NFC04A1 (optional), X-NUCLEO-53L3A2 and X-NUCLEO-
IDB05A2 connected to a NUCLEO-F401RE or NUCLEO-L476RG
Easy portability across different MCU families, thanks to STM32Cube •
• Free, user-friendly license terms
This software creates the following Bluetooth services:
• the first service exposes all the hardware features and contains the following characteristics:
•
– LED on/off
– object distances (up to four objects) or presence the second is the Console service that includes two characteristics:
– stdin/stdout with bidirectional communication between client and server
– stderr for a mono-directional channel from the STM32 Nucleo board to an Android/iOS device the last service is used for configuration purpose •
This software gathers the LED status and distance for the VL53L3CX device for STM32 Nucleo expansion boards with X-NUCLEO-53L3A2 .
This package is compatible with the STBLESensor Android/iOS (version 4.12.0/4.9.0 or higher) application, available at the respective Google Play/iTunes stores, which can be used to display information sent via the BLE.
The STBLESensor application allows Over-The-Air firmware updates.
Architecture
This software is based on the STM32CubeHAL hardware abstraction layer for the STM32 microcontroller.
The package extends STM32Cube by providing a board support package (BSP) for the BlueNRG-M0 sensor expansion board, object distance and the dynamic NFC tag expansion boards, and some middleware components for communication with other Bluetooth low energy devices: it also enables data exchange with an
NFC-ready device using the NDEF standard.
BlueNRG is a very low-power Bluetooth low energy (BLE) single-mode network processor.
The drivers abstract low-level hardware details and allow the middleware components and applications to access the dynamic NFC tag and all the other sensors in a hardware-independent manner.
The package includes a sample application that the developer can use to start experimenting with the code.
The sample application enables NFC pairing with a Bluetooth device (only if the X-NUCLEO-NFC04A1 expansion board is present) and transmits the values read from the Time-of-Flight sensors to a Bluetooth low energyenabled device such as an Android™ or iOS™ based smartphone.
You can use the STBLESensor Android/iOS application (version 4.12.0/4.9.0 or higher), from the respective
Google Play™ and iTunes™ stores, to display the values read from the Time-of-Flight sensors.
The STBLESensor Android/iOS application was developed to enable NFC pairing before sensor data transmission.
The software layers used by the application software to access and use the sensor expansion boards are:
•
•
STM32Cube HAL driver layer : provides a simple, generic, multi-instance set of APIs (application programming interfaces) to interact with the upper layers (application, libraries, and stacks). It is composed of generic and extension APIs and is directly built around a generic architecture and allows the layers built on top of it, such as the middleware layer, to implement their functions without depending on the specific hardware configuration for a given microcontroller unit (MCU). This structure improves library code reusability and guarantees an easy portability across other devices.
Board Support Package (BSP) layer : provides support for the peripherals (excluding the MCU) on the
STM32 Nucleo board through the board support package (BSP). The BSP is a limited set of APIs, which provides a programming interface for certain board-specific peripherals like the LED, the user button, etc.
UM2026 - Rev 8 page 3/40
Application
Figure 1. FP-SNS-FLIGHT1 software architecture
FP-SNS-FLIGHT1
Middleware
BLE
BLE Manager
Hardware
Abstraction
NDEF Meta Data Manager
STM32Cube Hardware Abstraction Layer (HAL)
Hardware
STM32 Nucleo expansion boards
X-NUCLEO-IDB05A2 (Connect)
X-NUCLEO-NFC04A1 (Connect)
X-NUCLEO-53L3A2 (Sense)
STM32 Nucleo development board
2.3
Folder structure
Figure 2. FP-SNS-FLIGHT1 package folder structure
UM2026
Folder structure
UM2026 - Rev 8
The following folders are included in the software package:
• Documentation : contains a compiled HTML file generated from the source code, detailing 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.
Middlewares : contains libraries and protocols for BlueNRG-M0 Bluetooth low energy module, NDEF devices and the Meta Data Manager.
Projects : contains a sample application used to transmit the time-of-flight sensor data via the Bluetooth low energy protocol provided for the NUCLEO-F401RE / NUCLEO-L476RG through the IAR Embedded
Workbench for ARM, RealView Microcontroller Development Kit (MDK-ARM) and STM32CubeIDE development environments.
Utilities : contains the boot loader binary ready to be flashed for the NUCLEO-F401RE / NUCLEO-L476RG development boards.
page 4/40
2.4
UM2026
Flash organization
Flash organization
Apart from storing its code, FP-SNS-FLIGHT1 uses the Flash memory to allow the Firmware-Over-The-Air update.
To enable this feature the Flash memory is divided into three different regions (see
):
1.
the first region contains a custom boot loader
2.
the second region contains the FP-SNS-FLIGHT1 firmware
3.
the third region is used to store the FOTA before the update
•
•
Even if the STM32F401RE (512 KB) and the STM32L476RG (1024 KB) cache sizes and arrangements differ, the same Flash arrangement has been used for both.
For further information, refer to:
(RM0368) Reference manual STM32F401xB/C and STM32F401xD/E advanced ARM®-based 32-bit MCUs
(RM0351) Reference manual STM32L4x6 advanced ARM®-based 32-bit MCUs
Figure 3. FP-SNS-FLIGHT1 Flash structure
2.5
The boot process
The FP-SNS-FLIGHT1 cannot be flashed at the beginning of the Flash memory (address 0x08000000); therefore it is compiled to run from the beginning of the second Flash region (0x08004000).
To enable this behavior, the vector table offset has been set in Src/system_stm32f4xx.c (for STM32F401) and
Src/system_stm32l4xx.c (for STM32L476) thus: #define VECT_TAB_OFFSET 0x4000.
The linker script has also been changed.
UM2026 - Rev 8 page 5/40
UM2026
The installation process
For example, the linker script for SP-SNS-FLIGHT1 running on STM32F401RE and compiled using IAR
Embedded Workbench for ARM is: define symbol __ICFEDIT_intvec_start__ = 0x08004000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08004000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x8000;
define symbol __ICFEDIT_size_heap__ = 0x800;
Using the above linker script, the maximum usable code size is fixed at 240 KB.
You must flash the appropriate bootloader binary for STM32F401RE or STM32L476RG , found in the
Utilities\BootLoader folder, to the first Flash region (address 0x08000000).
Figure 4. Bootloader folder content
At any board reset:
•
• if there is a FOTA in the third Flash region, the bootloader overwrites the second Flash region (with
FP-SNS-FLIGHT1 firmware) and replaces its content with the FOTA restarting the board; if there is no FOTA, the bootloader jumps to the FP-SNS-FLIGHT1 firmware.
Figure 5. FP-SNS-FLIGHT1 Flash structure
2.6
The installation process
The package Binary directory contains an image (in .bin format) for each platform ( NUCLEO-F401RE , NUCLEO-
L476RG , including:
UM2026 - Rev 8 page 6/40
Note:
Note:
UM2026
The installation process
• precompiled FLIGHT1 firmware to be flashed with ST-LINK to the correct memory address (0x08004000) of a supported STM32 Nucleo development board
This precompiled binary is compatible with the FOTA update procedure.
• precompiled FLIGHT1 plus BootLoader firmware to be directly flashed to a supported STM32 Nucleo development board with the ST-LINK or via drag and drop (STM32 Nucleo boards only)
This precompiled binary is not compatible with the FOTA update procedure.
Figure 6. Binary folder content
To flash modified FLIGHT1 firmware, simply flash the compiled FP-SNS-FLIGHT1 firmware to the correct address
(0x08004000).
A batch script has been provided to simplify this operation by saving the firmware and the BootLoader on the right position; it is available for each platform ( NUCLEO-F401RE , NUCLEO-L476RG ) and for each IDE (IAR/RealView/
STM32CubeIDE ):
• IAR toolchain Embedded Workbench version 8.50.9:
•
•
– For NUCLEO-F401RE : CleanFLIGHT1_IAR_F401.bat
– For NUCLEO-L476RG : CleanFLIGHT1_IAR_L476.bat
Keil µVision 5 toolchain - MDK-ARM Professional version: 5.32.0:
– For NUCLEO-F401RE : CleanFLIGHT1_MDK_ARM_F401.bat
– For NUCLEO-L476RG : CleanFLIGHT1_MDK_ARM_L476.bat
Integrated Development Environment for STM32 - STM32CubeIDE version 1.7.0:
– For NUCLEO-F401RE : CleanFLIGHT1_STM32CubeIDE_F401.bat
– For NUCLEO-L476RG : CleanFLIGHT1_STM32CubeIDE_L476.bat
Figure 7. Content of a project folder
UM2026 - Rev 8
This script:
•
•
• performs a full Flash erase to start from a clean system flashes the BootLoader to the correct position 0x08000000 flashes the firmware to the correct position 0x08004000 page 7/40
Figure 8. BootLoader and FP-SNS-FLIGHT1 installation
UM2026
The installation process
UM2026 - Rev 8 page 8/40
UM2026
The installation process
The script also dumps an image containing the BootLoader and the firmware. This image file can be directly flashed to the beginning of the Flash memory like in the same way as the image provided in the Binary folder.
Figure 9. FP-SNS-FLIGHT1 dump process
UM2026 - Rev 8
For the Linux or iOS operating systems, there is a similar script that uses OpenOCD instead of the ST-LINK command line. The script is available for each platform, but is only included in the STM32CubeIDE :
•
•
CleanFLIGHT1_STM32CubeIDE_F401.sh
CleanFLIGHT1_STM32CubeIDE_L476.sh
To function, you must modify the script with the installation path for STM32CubeProgrammer .
Edit the following section of the script:
# 1) Set the Installation path for STM32CubeProgrammer
# example:
#CubeProg="/c/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/
STM32_Programmer_CLI"
CubeProg="STM32_Programmer_CLI" page 9/40
2.7
2.8
2.9
UM2026
Firmware-over-the-air (FOTA) update
Firmware-over-the-air (FOTA) update
The FP-SNS-FLIGHT1 firmware can be updated over-the-air (FOTA) through the connected Android/iOS device via Bluetooth using the STBLESensor application (version 4.12.0/4.9.0 or higher) available at the respective web stores.
The application sends the update and associated CRC (cyclic-redundancy-check) value that the FP-SNS-
FLIGHT1 checks against the hardware cyclic redundancy check calculation unit on the STM32F401/STM32L476 processor to ensure update integrity.
If the CRC calculation matches the STBLESensor CRC value, the new firmware is written from the beginning of the third Flash region.
A “magic number” prompts the boot loader that a firmware update has been received, checked, and is ready to replace the current FP-SNS-FLIGHT1 firmware (see
Section 2.11 Firmware over-the-air (FOTA) update with
).
APIs
Detailed technical information regarding the APIs available to the user can be found in a compiled HTML file located inside the “Documentation” folder of the software package, where all the functions and parameters are fully described.
Sample application description
The available sample application uses the X-NUCLEO-NFC04A1 (optional), X-NUCLEO-53L3A2 and X-
NUCLEO-IDB05A2 expansion boards with the NUCLEO-F401RE or NUCLEO-L476RG development boards.
Ready to be built projects are available for multiple IDEs.
You can set up a terminal window for the appropriate UART communication port to control the initialization phase.
Figure 10. Terminal setting
UM2026 - Rev 8
When pressing the reset button, if the X-NUCLEO-NFC04A1 expansion board is present, the application:
1.
starts initializing the UART interface
2.
initializes the X-NUCLEO-53L3A2 expansion board
3.
writes the STM32ODE URI into the M24SR dynamic NFC tag embedded in the X-NUCLEO-NFC04A1 expansion board
4.
tests the BootLoaderCompliance page 10/40
Figure 11. Initialization phase
UM2026
Sample application description
UM2026 - Rev 8
When reading the NFC tag content through an Android device, the browser automatically starts trying to connect to the URI.
), the program:
1.
determines if the X-NUCLEO-IDB05A2 BlueNRG expansion board is connected to the STM32 Nucleo
2.
shows the board name and the BLE MAC address
3.
creates and shows the security PIN necessary for the connection
4.
initializes the BLE service
5.
initializes the BLE console service adding the stdin/stdout and stderr characteristics
6.
initializes the BLE configuration service
7.
changes the content of the ST25DV04K dynamic NFC tag (using NDEF) to write all the information necessary to automatically launch the STBLESensor Android application (name of application, BLE advertising data, BLE MAC address and BLE connection PIN).
page 11/40
UM2026
Sample application description
Figure 12. UART console output when the BLE services are initialized
Note:
When reading the above NFC content on an Android device with the STBLESensor application installed, it is possible to automatically launch the STBLESensor application to connect the device with the STM32 Nucleo board, without scanning for the board or manually inserting the PIN.
iOS does not allow the use of NFC for this purpose, so you must run the application manually, scan for the
STM32 Nucleo board and enter the connection PIN.
The FLIGHT1_SECURE_CONNECTION define in "Applications\FLIGHT1\Inc\FLIGHT1_config.h" controls whether the STM32 Nucleo development board accepts secure connections (default) only or any connection (define is commented), so you do not have to enter the BLE connection PIN for a device to connect to the development board.
The connection of an Android/iOS device to the STM32 Nucleo board starts with the secure pairing procedure, sending the ping information to the stdout console BLE characteristic.
If the X-NUCLEO-NFC04A1 expansion board is not present, the application:
1.
starts initializing the UART interface
2.
initializes the X-NUCLEO-53L3A2 expansion board
3.
writes NFC TAG not present
4.
tests the BootLoaderCompliance
5.
determines if the X-NUCLEO-IDB05A2 BlueNRG expansion board is connected to the STM32 Nucleo
UM2026 - Rev 8 page 12/40
UM2026
Sample application description
6.
shows the board name and the BLE MAC address
7.
initializes the BLE service
8.
initializes the BLE console service adding the stdin/stdout and stderr characteristics
9.
initializes the BLE configuration service
Figure 13. UART console output when the X-NUCLEO-NFC04A1 is not present
UM2026 - Rev 8 page 13/40
UM2026
Sample application description
Figure 14. UART console output when a device connects to the board for the first time
UM2026 - Rev 8
The application has a white list of one element, so subsequent connections with the last trusted device are automatically authenticated.
page 14/40
UM2026
Android and iOS sample client application
Figure 15. UART console output when a device is already trusted
2.10
Android and iOS sample client application
The FP-SNS-FLIGHT1 software for STM32Cube is compatible with the STBLESensor Android/iOS applications
(version 4.12.0/4.9.0 or higher), available at the respective Google Play/iOS stores.
The application allows firmware over-the-air update.
The Android version is used here to show how the application works.
After connection, STBLESensor starts with the page shown below, where the ToF distance plot is displayed when pressing the [ Play ] button.
UM2026 - Rev 8 page 15/40
UM2026
Android and iOS sample client application
Figure 16. STBLESensor (Android version) ToF distance plot
UM2026 - Rev 8
Known limitation: the "ToF Objects Detection" feature is not available for iOS version (it is under development).
page 16/40
UM2026
Android and iOS sample client application
Figure 17. STBLESensor (Android version) menu selection
UM2026 - Rev 8
If the debug console is enabled, stdin is displayed and any message written triggers a reply with the same message if the command line is not recognized, as shown below.
page 17/40
UM2026
Android and iOS sample client application
Figure 18. STBLESensor (Android version) Debug console (stdin/stdout/stderr)
UM2026 - Rev 8
The [ help ] command shows a list of the recognized commands.
page 18/40
UM2026
Android and iOS sample client application
Figure 19. STBLESensor (Android version) Debug console - help command
UM2026 - Rev 8
[ ToF Objects Detection ] shows the distances of the detected objects (up to four objects) or the person presence.
page 19/40
UM2026
Android and iOS sample client application
Figure 20. STBLESensor (Android version) ToF Objects Detection - distance
UM2026 - Rev 8
Known limitation: the "ToF Objects Detection" feature is not available for iOS version (it is under development).
page 20/40
UM2026
Android and iOS sample client application
Figure 21. STBLESensor (Android version) ToF Objects Detection - presence
UM2026 - Rev 8
•
•
Known limitation: the "ToF Objects Detection" feature is not available for iOS version (it is under development).
The presence is identified inside a fixed range distance that can be modified by the following defines:
#define PRESENCE_MIN_DISTANCE_RANGE 300
#define PRESENCE_MAX_DISTANCE_RANGE 800 in Applications\FLIGHT1\Inc\FLIGHT1_config.h.
The status of the STM32Nucleo on-board LED can be switched in the following app page.
page 21/40
UM2026
Firmware over-the-air (FOTA) update with STBLESensor
Figure 22. STBLESensor (Android version) LED switch page
2.11
Firmware over-the-air (FOTA) update with STBLESensor
If the Firmware upgrade option menu is selected in the STBLESensor main application page, the following page appears.
UM2026 - Rev 8 page 22/40
UM2026
Firmware over-the-air (FOTA) update with STBLESensor
Figure 23. STBLESensor (Android version) firmware upgrade page
UM2026 - Rev 8
The STBLESensor application shows which version of the FP-SNS-FLIGHT1 software is running and the board type. To apply an update, select the appropriate update file and press the red button.
page 23/40
UM2026
Firmware over-the-air (FOTA) update with STBLESensor
Figure 24. STBLESensor (Android version) firmware update file selection
UM2026 - Rev 8
STBLESensor sends an update of a certain byte size and corresponding CRC value to FP-SNS-FLIGHT1 .
The figure below shows the terminal window with the debug information returned during FOTA for the STM32
Nucleo platform ( NUCLEO-F401RE / NUCLEO-L476RG ) when FP-SNS-FLIGHT1 is controlled via UART.
page 24/40
UM2026
Firmware over-the-air (FOTA) update with STBLESensor
Figure 25. Terminal window information during FOTA
During the FOTA procedure, the STBLESensor application shows the remaining packets to be sent and the total update time when the procedure ends.
Figure 26. STBLESensor (Android version) application page during FOTA and on completion
UM2026 - Rev 8 page 25/40
3
3.1
3.1.1
UM2026
System setup guide
System setup guide
Hardware description
This section describes the hardware components needed for sensor-based application development.
STM32 Nucleo
STM32 Nucleo development boards provide an affordable and flexible way for users to test solutions and build prototypes with any STM32 microcontroller line.
The Arduino connectivity support and ST morpho connectors 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 separate probes 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 for different IDEs (IAR EWARM, Keil MDK-ARM, STM32CubeIDE , mbed and GCC/
LLVM).
All STM32 Nucleo users have free access to the mbed online resources (compiler, C/C++ SDK and developer community) at www.mbed.org to easily build complete applications.
Figure 27. STM32 Nucleo board
UM2026 - Rev 8 page 26/40
3.1.2
UM2026
Hardware description
X-NUCLEO-NFC04A1 expansion board
The X-NUCLEO-NFC04A1 dynamic NFC/RFID tag IC expansion board is based on the ST25DV04K NFC Type
V/RFID tag IC with a dual interface 4 Kbits EEPROM that also features an I²C interface. It can be powered by the pin of Arduino connector or directly by the received carrier electromagnetic field.
The X-NUCLEO-NFC04A1 expansion board is compatible with the Arduino™ UNO R3 connector pin assignment and can easily be plugged onto any STM32 Nucleo board. Various expansion boards can also be stacked to evaluate different devices operating together with the dynamic NFC tag. The board also features an antenna with a 54 mm ISO 24.2 diameter, single layer, copper etched on PCB.
Figure 28. X-NUCLEO-NFC04A1 expansion board
UM2026 - Rev 8 page 27/40
3.1.3
UM2026
Hardware description
X-NUCLEO-IDB05A2 expansion board
The X-NUCLEO-IDB05A2 Bluetooth low energy expansion board is based on the BlueNRG-M0 BLE network processor module.
The BlueNRG-M0 is Bluetooth v4.2 compliant, FCC and IC certified (FCC ID: S9NBNRGM0AL; IC: 8976C-
BNRGM0AL). It supports simultaneous master/slave roles and can behave as a Bluetooth low energy sensor and hub device at the same time.
The BlueNRG-M0 provides a complete RF platform in a tiny form factor, with integrated radio, antenna, high frequency and LPO oscillators.
The X-NUCLEO-IDB05A2 is compatible with the ST morpho (not mounted) and Arduino UNO R3 connector layout.
The X-NUCLEO-IDB05A2 interfaces with the STM32 microcontroller via the SPI pin and allows changing the default SPI clock, SPI chip select and SPI IRQ by replacing a resistor on the expansion board.
Figure 29. X-NUCLEO-IDB05A2 expansion board
UM2026 - Rev 8 page 28/40
3.1.4
UM2026
Software description
X-NUCLEO-53L3A2 expansion board
The X-NUCLEO-53L3A2 expansion board is designed around the VL53L3CX ranging sensor and is based on the
ST patented FlightSense technology.
The expansion board is delivered with two VL53L3CX breakout boards.
To allow the user to validate the VL53L3CX in an environment as close as possible to its final application, the
X-NUCLEO-53L3A2 expansion board package includes a holder in which three different height spacers of 0.25
mm, 0.5 mm, and 1 mm can be fitted with the cover glass above the spacer. The height spacers are used to simulate different air gap distances between the VL53L3CX sensor and the cover glass.
Figure 30. X-NUCLEO-53L3A2 expansion board
3.2
•
•
Software description
The following software components are required to create a suitable development environment for applications based on the STM32 Nucleo equipped with the NFC (optional), sensors, time-of-flight and BlueNRG expansion boards:
FP-SNS-FLIGHT1 : a Bluetooth low energy, sensors and NFC tag (optional) software for STM32Cube . The
FP-SNS-FLIGHT1 firmware and related documentation is available on www.st.com.
Development tool-chain and Compiler: The STM32Cube expansion software supports the following environments:
– IAR Embedded Workbench for ARM ® (EWARM) toolchain + ST-LINK
– RealView Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK
– STM32CubeIDE + ST-LINK
UM2026 - Rev 8 page 29/40
3.3
3.4
3.4.1
UM2026
Hardware setup
•
Hardware setup
The following hardware components are needed: for STM32 Nucleo expansion boards:
– one STM32 Nucleo Development platform (order code: NUCLEO-F401RE or NUCLEO-L476RG )
– optional - one NFC expansion board (order code: X-NUCLEO-NFC04A1 )
– one VL53L3CX ToF ranging sensor expansion board (order code: X-NUCLEO-53L3A2 )
– one BlueNRG Bluetooth low energy expansion board (order code: X-NUCLEO-IDB05A2 )
– one USB type A to Mini-B USB cable to connect the STM32 Nucleo to the PC
System setup guide
STM32 Nucleo and sensor expansion board setup
The STM32 Nucleo development board integrates the ST-LINK/V2-1 debugger/programmer. You can download the relevant version of the ST-LINK/V2-1 USB driver by searching STSW-LINK008 or STSW-LINK009 on www.st.com (based on your version of Microsoft Windows).
UM2026 - Rev 8 page 30/40
UM2026
System setup guide
Connect the expansion boards through the Arduino UNO R3 extension connector as shown in the following pictures.
Figure 31. STM32 Nucleo development board plus X-NUCLEO-NFC04A1 expansion board (optional)
UM2026 - Rev 8 page 31/40
UM2026
System setup guide
Figure 32. STM32 Nucleo development board plus X-NUCLEO-NFC04A1 (optional) and X-NUCLEO-
IDB05A2 expansion boards
UM2026 - Rev 8 page 32/40
UM2026
System setup guide
Figure 33. STM32 Nucleo development board plus X-NUCLEO-NFC04A1 (optional), X-NUCLEO-IDB05A2 and X-NUCLEO-53L3A2 expansion boards
Figure 34. STM32 Nucleo development board plus X-NUCLEO-IDB05A2 and X-NUCLEO-53L3A2 expansion boards
Note: You must connect the boards in the sequence shown above to optimize the performance of the BlueNRG-M0 module on the X-NUCLEO-IDB05A2 expansion board and to reduce interference from its antenna.
UM2026 - Rev 8 page 33/40
3.4.2
UM2026
System setup guide
Important additional hardware information
Before connecting the X-NUCLEO-NFC04A1 expansion board through the Arduino UNO R3 extension connector, to avoid hardware conflict with the X-NUCLEO-IDB05A2 expansion board, remove R1 and R11 resistors
(highlighted in the following picture) from the X-NUCLEO-NFC04A1 .
Figure 35. X-NUCLEO-NFC04A1 configuration
UM2026 - Rev 8 page 34/40
Revision history
Date
25-Feb-2016
05-Dec-2016
UM2026 - Rev 8
20-Feb-2017
31-Mar-2017
03-Sep-2018
01-Oct-2020
02-Nov-2020
UM2026
Table 2. Document revision history
Version
1
2
3
4
5
6
7
Changes
Initial release.
Updated Section "Introduction", Section 2.1: "Overview ",
Figure 4: "Initialization phase", Figure 5: "UART console output when the BLE services are started", Figure 6:
"UART console output when a device first connects with the board", Figure 15: "BlueMS (android version) initial page after BLE connection", Figure 1: "FP-SNS-FLIGHT1 software architecture" and Figure 18: "BlueMS (android version)
Serial console (stdout/stderr)"; Added Section 2.6: "Flash organization", Section 2.7: "The boot process", Section 2.8:
"Firmware-Over-The-Air (FOTA) update" and Section 2.9:
"Firmware Over The Air (FOTA) update with BlueMS"
Throughout document:
- minor text and formatting changes.
- added IKS01A2 expansion board compatibility information
Added Section 2.6: " The installation process"
Updated Section 2.9: "Sample application description",
Section 2.10:
" Android and iOS sample client application" and Section
2.11:
"Firmware-over-the-air (FOTA) update with BlueMS"
Updated title, Introduction, Section 2.1: "Overview ", Section
2.2: "Architecture", Section 2.3: "Folder structure", Section
2.6: "The installation process", Section 2.9: "Sample application description", Section 2.10: "Android and iOS sample client application", Section 2.11: "Firmware over-theair (FOTA) update with BlueMS".
Added X-NUCLEO-53L0A1 expansion board compatibility information.
Added Section 3.1.8: "X-NUCLEO-53L0A1 expansion board".
Updated Introduction, Section 2.1 Overview, Figure 2. FP-
SNS-FLIGHT1 software architecture,
Section 2.6 The installation process, Section 2.9 Sample application description, Figure 16. BlueMS (android version) main page (after BLE connection), Figure 21. BlueMS
(android version) Serial console (stdout/stderr), Section 3.3.1
Hardware setup and Section 3.3.3.1 STM32 Nucleo and sensor expansion board setup.
Added Section 3.1.4 X-NUCLEO-NFC04A1 expansion board,
Section 3.3.3.2 STEVAL-BCNKT01V1 setup and Section
3.3.3.3 Important additional hardware information.
Updated Introduction, Section 2.1 Overview, Section 2.2
Architecture, Section 2.3 Folder structure, Section 2.6
The installation process, Section 2.7 Firmware-over-the-air
(FOTA) update, Section 2.9 Sample application description,
Section 2.10 Android and iOS sample client application,
Section 2.11 Firmware over-the-air (FOTA) update with
STBLESensor, Section 3.2 Software description, Section
3.3 Hardware setup, Section 3.4.1 STM32 Nucleo and sensor expansion board setup and Section 3.4.2 Important additional hardware information.
Added Section 3.1.3 X-NUCLEO-IDB05A2 expansion board and Section 3.1.4 X-NUCLEO-53L1A2 expansion board.
Updated title.
page 35/40
Date
15-Oct-2021
Version
8
UM2026
Changes
,
,
Section 2.6 The installation process
, Section 2.7 Firmwareover-the-air (FOTA) update , Section 2.9 Sample application description ,
Section 2.10 Android and iOS sample client application ,
Section 2.11 Firmware over-the-air (FOTA) update with STBLESensor
and
Section 3.4.1 STM32 Nucleo and sensor expansion board setup .
Removed Section 3.1.4 X-NUCLEO-53L1A2 expansion board and Section 3.4.3 Important additional software information.
Added
Section 3.1.4 X-NUCLEO-53L3A2 expansion board .
UM2026 - Rev 8 page 36/40
UM2026
Contents
Contents
UM2026 - Rev 8 page 37/40
UM2026
List of tables
List of tables
UM2026 - Rev 8 page 38/40
UM2026
List of figures
List of figures
Figure 33. STM32 Nucleo development board plus X-NUCLEO-NFC04A1 (optional), X-NUCLEO-IDB05A2 and X-
UM2026 - Rev 8 page 39/40
UM2026
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. For additional information about ST trademarks, please refer to www.st.com/trademarks . 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.
© 2021 STMicroelectronics – All rights reserved
UM2026 - Rev 8 page 40/40
다운로드
광고