Version 1.2 (Feb.28, 2017)
Quick Start GuideSTM32 ODE Function Pack for IoT sensor node connection to
6LoWPAN networks through sub-1GHz RF communication
(FP-SNS-6LPNODE1)
Quick Start Guide Contents2
FP-SNS-6LPNODE1: STM32 ODE Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
Sub-1 GHz RF expansion boards
Hardware Overview (1/4) 3
SPSGRF-868 or
SPSGRF-915 (*)
X-NUCLEO-IDS01A4/5 Hardware description
• The X-NUCLEO-IDS01A4, X-NUCLEO-IDS01A5
are evaluation boards based on the SPIRIT1 RF
modules SPSGRF-868 and SPSGRF-915
• The SPIRIT1 module communicates with the
STM32 Nucleo developer board host
microcontroller though an SPI link available on the
Arduino UNO R3 connector.
EEPROM
Arduino UNO R3 connector
Key products on board
SPSGRF
Sub-GHz (868 or 915 MHz) low power
programmable RF transceiver modules
SPIRIT1
Low data-rate, low-power sub-1GHz transceiver)
module
M95640-R
64 Kbit SPI bus EEPROM with high-speed clock
Latest info available at www.st.com
X-NUCLEO-IDS01A4
X-NUCLEO-IDS01A5
(*) Identification of the operating frequency of the X-NUCLEO-
IDS01Ax (x=4 or 5) is performed through two resistors (R14 and R15).
LPS25HB
HTS221
Key Product on board
LSM6DS0: MEMS 3D accelerometer (±2/±4/±8 g) + 3D gyroscope
(±245/±500/±2000 dps)
LIS3MDL: MEMS 3D magnetometer (±4/ ±8/ ±12/ 16 gauss)
LPS25HB: MEMS pressure sensor, 260-1260 hPa absolute digital
output barometer
HTS221: capacitive digital relative humidity and temperature
DIL 24-pin: socket available for additional MEMS adapters and
other sensors
DIL 24-pin
Motion MEMS and environmental sensors expansion board
Hardware Overview (2/4) 4
X-NUCLEO-IKS01A1 Hardware Description
• The X-NUCLEO-IKS01A1 is a motion MEMS and environmental
sensor evaluation board system.
• It is compatible with the Arduino UNO R3 connector layout, and is
designed around ST’s latest sensors.
Arduino UNO R3 connector
ST morpho connector**
** Connector for the STM32 Nucleo Board
LSM6DS0
LIS3MDL
Latest info available at www.st.com
X-NUCLEO-IKS01A1
Key Features
• The X-NUCLEO-IKS01A1 is a motion MEMS and environmental
sensor evaluation board system.
• All sensors are connected on a single I²C bus
• Sensor I²C address selection
• Each sensor has separate power supply lines allowing power
consumption measurement
• Sensor disconnection (disconnect the I²C bus as well as the
power supply)
• Interrupt and DRDY signals from sensors
• DIL24 socket (Compatible to STEVAL-MKI***V* MEMS adapter
boards, i.e. STEVAL-MKI160V1)
OPTIONAL
Key products on board
LSM6DSL
MEMS 3D accelerometer (±2/±4/±8/±16 g) + 3D
gyroscope (±125/±245/±500/±1000/±2000 dps)
LSM303AGR
MEMS 3D magnetometer (±50 gauss) + MEMS 3D
accelerometer (±2/±4/±8/±16 g)
LPS22HB
MEMS pressure sensor, 260-1260 hPa absolute digital
output barometer
HTS221
Capacitive digital relative humidity and temperature
DIL 24-pin
Socket available for additional MEMS adapters and
other sensors (UV index)
DIL 24-pin
Motion MEMS and environmental sensor expansion board
Hardware overview (3/4) 5
X-NUCLEO-IKS01A2 Hardware description
• The X-NUCLEO-IKS01A2 is a motion MEMS and
environmental sensor evaluation board system.
• It is compatible with the Arduino UNO R3 connector layout,
and is designed around ST’s latest sensors.
Arduino UNO R3 connector
ST morpho connector**
** Connector for the STM32 Nucleo Board
HTS221
LPS22HB
LSM6DSL
LSM303AGR
Latest info available at www.st.com
X-NUCLEO-IKS01A2
OPTIONAL
VL6180X
Proximity, gesture and ambient light sensor expansion board
Hardware Overview (4/4) 6
X-NUCLEO-6180XA1 Hardware Description
• The X-NUCLEO-6180XA1 is proximity and
ambient light sensor evaluation and development
board system, designed around VL6180X, a
device based on ST’s FlightSenseTM, Time-of-
Flight technology.
• The VL6180X communicates with STM32 Nucleo
developer board host microcontroller through an
I2C link available on the Arduino UNO R3
connector.
ALS or Range VL6180X satellites
Key Products on board
VL6180XProximity, gesture and Ambient Light sensor (ALS)
Selection between Ranging and ALS measurement
Possibility to add 3x VL6180X external satellite
boards (order code: VL6180X-SATEL – 2 satellites)
Arduino UNO R3 connectors
Latest info available at www.st.com
X-NUCLEO-6180XA1
OPTIONAL
FP-SNS-6LPNODE1
Software Overview 7
Overall Software Architecture
Latest info available at www.st.com
FP-SNS-6LPNODE1
FP-SNS-6LPNODE1 Software Description
FP-SNS-6LPNODE1 is an STM32 ODE Function Pack. Thanks to
this package you can connect your IoT node to a 6LoWPAN
Wireless Sensors Network and expose the sensors and actuator
resources using standard application layer protocols. This software
package provides a sample application that allows RESTful access
to the sensors and actuators resources on the IoT node by the
means of the OMA Lightweight M2M (LWM2M) standard protocol,
using the IPSO Smart Objects Guidelines for data representation.
Key features
• Complete firmware to connect an IoT node with sensors and
actuators to a 6LoWPAN network, using sub-1GHz RF
communication technology
• Middleware library with Contiki OS and Contiki 6LoWPAN
protocol stack 3.0
• Support for mesh networking technology by the means of the
standard RPL protocol
• IPSO Smart Objects data representation of the node resources
(sensors and actuators)
• Access to the node from a remote server by the means of the
OMA Lightweight M2M (LWM2M) standard
• Example implementation available for X-NUCLEO-IDS01A4 or X-
NUCLEO-IDS01A5 RF boards, X-NUCLEO-IKS01A1 or X-
NUCLEO-IKS01A2, and X-NUCLEO-6180X1 sensors boards,
when connected to a NUCLEO-F401RE or NUCLEO-L152RE
board
• Easy portability across different MCU families, thanks to
STM32Cube
• Free, user-friendly license terms
Quick Start Guide Contents8
FP-SNS-6LPNODE1: STM32 ODE Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
Setup & Demo Examples
HW prerequisites
• 1x STM32 Nucleo Sub-1GHz RF expansion board
(X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5)
• 1x Motion MEMS and environmental sensor
expansion board (optional)
(X-NUCLEO-IKS01A1 or X-NUCLEO-IKS01A2)
• 1x STM32 Nucleo proximity, gesture and ambient light
expansion board (optional) (*)
(X-NUCLEO-6180XA1)
• 1x STM32 Nucleo development board
(NUCLEO-F401RE or NUCLEO-L152RE)
• 1x PC with Windows 7, 8 or 10
• 1x USB type A to Mini-B USB cable
• The FP-SNS-6LPNODE1 package contains some
sample applications for demonstration and evaluation
purpose for three different wireless node
configurations, as shown in the following pictures
9
Mini USB
NUCLEO-F401RE
or NUCLEO-L152RE
X-NUCLEO-
IKS01A1
(optional)
Node Configuration “ipso-nosensors”
NUCLEO-F401RE or NUCLEO-L152RE
+ X-NUCLEO-IDS01A4
(or X-NUCLEO-IDS01A5)
Node Configuration “ipso-mems”
NUCLEO-F401RE or NUCLEO-L152RE
+ X-NUCLEO-IDS01A4
(or X-NUCLEO-IDS01A5)
+ X-NUCLEO-IKS01A1
Node Configuration “ipso-flightsense”
NUCLEO-F401RE (*)
+ X-NUCLEO-IDS01A4
(or X-NUCLEO-IDS01A5)
+ X-NUCLEO-6180XA1
X-NUCLEO-6180XA1
(optional)
X-NUCLEO-IDS01A4
X-NUCLEO-IDS01A5
X-NUCLEO-
IKS01A2
(optional)
(*) configuration only available with NUCLEO-F401RE
Setup & Demo Examples
SW prerequisites 10
• STSW-LINK009:
• ST-LINK/V2-1 USB driver
• STSW-LINK007:
• ST-LINK/V2-1 firmware upgrade
• FP-SNS-6LPNODE1
• Copy the .zip file content into a folder on your PC
• The package will contain source code example (Keil, IAR, System Workbench for STM32) based only on NUCLEO-F401RE
FP-SNS-6LPNODE1
Start coding in few minutes 11
Download & unpack
FP-SNS-6LPNODE1
Go to www.st.com/stm32ode-fp1
Select FP-SNS-6LPNODE12
3
4
5
Open project example, e.g. “ipso-mems”
6
Download and install
STM32 Nucleo
ST-LINK/V2-1 USB driver
Modify and build the application
HTML Docs
BSP, HAL and Drivers
6LoWPAN stack
Application examples
FP-SNS-6LPNODE1 package structure
FP-SNS-6LPNODE1
System Overview – End-to-End Deployment Example 12
6LoWPAN-WiFi BridgeHardware: NUCLEO-F410RE + X-
NUCLEO-IDS01A4/5 (sub-1 GHz) + X-
NUCLEO-IDW01M1 (Wi-Fi)
Software: FP-NET-6LPWIFI1 package,
“WiFi-Bridge” sample application
Wireless Sensors Node (example)Hardware: NUCLEO-F401RE or
NUCLEO-L152RE + X-NUCLEO-
IDS01A4/5 (sub-1 GHz) + X-NUCLEO-
IKS01A1/2 (Environmental & Motion
sensors)
Software: FP-SNS-6LPNODE1 package,
“ipso-mems” application
Application
Server
(e.g. Leshan LWM2M)
IPv6/6LoWPAN
Network
REST Access to the
Wireless Nodes Resources
Wi-Fi
Router
internet
Wireless Sensors Node (example)Hardware: NUCLEO-F410RE + X-NUCLEO-
IDS01A4/5 (sub-1 GHz) + X-NUCLEO-
6180XA1 (Time of flight sensor)
Software: FP-SNS-6LPNODE1 package,
“ipso-flightsense” application
FP-SNS-6LPNODE1 6LoWPAN-to-Wi-Fi Bridge Setup 13
USB type A to Mini-B USB cable
6LoWPAN to Wi-Fi bridge Setup
Go to www.st.com/stm32ode-fp
Select the FP-NET-6LPWIFI1 package
Follow the installation instructions to configure
and connect the bridge to a Wi-Fi AP/Router
6LoWPAN-WiFi Bridge
FP-NET-6LPWIFI1 Package1 Wi-Fi AP/Router
Successful connection
to the Wi-Fi AP/Router
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (1/4) 14
USB type A to Mini-B USB cable
Go to www.st.com/stm32ode-fp
Select the FP-SNS-6LPNODE1 package, download
and extract the zip file
Select one of the three supported wireless nodes
hardware configuration, assemble the STM32 Nucleo
and X-NUCLEO expansion boards, connect the
STM32 Nucleo board to the host PC and program the
binary firmware that is provided for the chosen
configuration
Example: Configuration for “ipso-mems” sample application
NUCLEO-F401RE development board
+ X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 (Sub-1GHz RF communication)
+ X-NUCLEO-IKS01A1 or X-NUCLEO-IKS01A2 (temperature, humidity, motion sensors)
2
6
Wireless Sensors Node
Open a serial line monitor utility, select the serial port name to which the board is connected and configure
it with the following parameters: Baud Rate = 115200, Parity = None, Data Bit = 8, Stop bits = 1
Reset the MCU. The application will run: it demonstrates how a node can interact with a remote server by
the means of the OMA Lightweight M2M (LWM2M) standard protocol.
In this example application, the node will attempt, for evaluation purpose, to connect to a public online
OMA Lightweight M2M server called “Leshan” (located at: http://www.leshan.eclipse.org)
Note: The simplest way to program the sensor node is to “drag and drop” the selected binary file on the device
with removable storage associated to the corresponding STM32 Nucleo board (e.g. “NODE_F401RE”)
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (2/4) 15
Wait for the node (acting in this example as a LWM2M client) to complete the registration with
the LWM2M server.
If the client registration is successful a client ID will appear on the terminal (see the red box)
7
Open a web browser and go to http://leshan.eclipse.org then find the endpoint whose client
ID matches the one in the previous step 8
Note: in case the node registration is not successful, try again by doing a reset of the
STM32 Nucleo board
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (3/4) 16
9Click on the corresponding Client Endpoint to visualize the client homepage on the Leshan
server: the available resources hosted on the wireless sensor node are listed on the web page
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (4/4) 17
10
Click either on “Observe” or “Read” to access one or more resources on the node (for example the
temperature sensor data). “Observe” is a feature that enables to get updates of sensor data when they
change, while “Read” can be used to obtain an instantaneous reading of the sensor data
Current
Temperature
sensor value
read from the
6LoWPAN node
FP-NET-6LPNODE1
Additional LWM2M Demo Setup Tips (1/2)
• It is recommended - especially when using the public Leshan LWM2M server – to avoid
using a host PC that is inside a network behind a proxy (which typically happens in
corporate networks) this proxy may create issues, in particular with the visualization
of the notifications
• It may happen that the web page does not show notifications: most of the time it is
because the host PC went in sleep mode try to refresh the web page, there is no
need to click on the “Observe” button again
• When you click on the “Observe” button, there is no need to also click on the “Read”
one. To cancel the observation you just need to click on the black square button near
the “Observe” button.
• Please allow several seconds when you boot a node to have it registered to the public
Leshan server
18
FP-NET-6LPNODE1
Additional LWM2M Demo Setup Tips (2/2)
• The following table contains a list of actually observable resources
• Note that observing other resources not listed here might have side effects due to the current LWM2M server
implementation
• Note that in case of observation some thresholds and timers apply. For example, don’t expect the presence
sensor to react in less than one second, or a new temperature sensor reading to be sent every few seconds
19
Object
Description
Object
ID
Resource Description Resource IDs Default
Timers (1)
Default
Threshold (2)
Magnetometer 3314 3 axis (X,Y,Z) 5702, 5703, 5704 10 sec -
Accelerometer 3313 3 axis (X,Y,Z) 5702, 5703, 5704 1 sec -
Temperature 3303 min, max, actual value 5601, 5602, 5700 60 sec 0.5 °C
Humidity 3304 min, max, actual value 5601, 5602, 5700 60 sec 1 % rH
Barometer 3315 min, max, actual value 5601, 5602, 5700 60 sec 1 hPa
Digital Input
(button)
3200 Digital input state and
counter
5500, 5501 - -
Presence Sensor
(3)
3302 Sensor state 5500 1 sec -
(1) Time elapsed to get a new value of the sensor, this affects notification periods (when using “Observe”)
(2) If, compared to the previous reading, the new sensor value is changed less than this threshold, then notifications
are not sent
(3) The Presence sensor range is configured by default to 2 cm
Documents & Related Resources
FP-SNS-6LPNODE1:
• DB3010: STM32 ODE Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
– Data brief
• UM2100: Getting started with FP-SNS-6LPNODE1 software for IoT sensor node connection to 6LoWPAN networks using sub-
1GHz RF – User Manual
• Software setup file
X-NUCLEO-IDS01A4:
• Gerber files, BOM, and schematics
• DB2552: Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo – Data brief
• UM1872: Getting started with the Sub-1 GHz expansion board based on the SPSGRF-868 and SPSGRF-915 modules for STM32 –
User Manual
X-NUCLEO-IDS01A5:
• Gerber files, BOM, and schematics
• DB2553: Sub-1 GHz RF expansion board based on the SPSGRF-915 module for STM32 Nucleo – Data brief
• UM1872: Getting started with the Sub-1GHz expansion board based on the SPSGRF-868 and SPSGRF-915 modules for STM32 –
User Manual
20
All documents are available in the DESIGN tab of the related products webpage
Consult www.st.com for the complete list
Documents & Related Resources
X-NUCLEO-IKS01A1
• Gerber files, BOM, Schematic
• DS10619: Motion MEMS and environmental sensor expansion board for STM32 Nucleo – data brief
• UM1820: Getting started with motion MEMS and environmental sensor expansion board for STM32 Nucleo – user manual
X-NUCLEO-IKS01A2
• Gerber files, BOM, Schematic
• DB3009: Motion MEMS and environmental sensor expansion board for STM32 Nucleo – data brief
• UM2121: Getting started with the X-NUCLEO-IKS01A2 motion MEMS and environmental sensor expansion board for STM32
Nucleo – user manual
X-NUCLEO-6180XA1:
• Gerber files, BOM, Schematic
• DB2473: Proximity and ambient light sensor expansion board based on VL6180X for STM32 Nucleo – Data brief
• AN4663: VL6180X expansion boards - Description of version 1 and version 2 – Application note
• UM1852: Proximity and ambient light sensor expansion board based on VL6180X for STM32 Nucleo – User manual
21
All documents are available in the DESIGN tab of the related products webpage
Consult www.st.com for the complete list
Quick Start Guide Contents22
FP-SNS-6LPNODE1: STM32 ODE Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
STM32 Open Development Environment
Fast, affordable Prototyping and Development 23
• The STM32 Open Development Environment (ODE) consists of a set of stackable boards
and a modular open SW environment designed around the STM32 microcontroller family.
www.st.com/stm32ode
Function Packs
(FP)
STM32Cube
development software
STM32 Nucleo
expansion boards
(X-NUCLEO)
STM32 Nucleo
development boards
STM32Cube
expansion software
(X-CUBE)
Power supply
through USB or
external source
Integrated debugging
and programming
ST-LINK probe
STM32 microcontroller
Complete product range
from ultra-low power to high-performance
ST morpho extension header
STM32 Nucleo
Development Boards (NUCLEO)
• A comprehensive range of affordable development boards for all the STM32
microcontroller series, with unlimited unified expansion capabilities and integrated
debugger/programmer functionality.
24
www.st.com/stm32nucleo
Arduino™ UNO R3 extension headers
Move/ActuatePower InteractConnect
Sense
STM32 Nucleo
Expansion Boards (X-NUCLEO)
• Boards with additional functionality that can be plugged directly on top of the STM32
Nucleo development board directly or stacked on another expansion board.
25
DIL24 support for
new devices
Motion MEMS sensors
Environmental sensors
www.st.com/x-nucleo
Example of STM32 expansion board (X-NUCLEO-IKS01A1)
STM32 Open Development Environment
Software components
• STM32Cube software (CUBE) - A set
of free tools and embedded software bricks
to enable fast and easy development on
the STM32, including a Hardware
Abstraction Layer and middleware bricks.
• STM32Cube expansion software
(X-CUBE) - Expansion software provided
free for use with the STM32 Nucleo
expansion board and fully compatible with
the STM32Cube software framework. It
provides abstracted access to expansion
board functionality through high-level APIs
and sample applications.
26
www.st.com/x-cube
• Compatibility with multiple Development Environments - The STM32 Open Development
Environment is compatible with a number of IDEs including IAR EWARM, Keil MDK, and GCC-based
environments. Users can choose from three IDEs from leading vendors, which are free of charge and
deployed in close cooperation with ST. These include Eclipse-based IDEs such as Ac6 System
Workbench for STM32 and the MDK-ARM environment.
Tools& IDEs
Application examples(e.g. basedonSTOpenSoftwareX)
Hardware
SampleapplicationsApplications
IAREWARM,Keil MDK-ARM,GCC-basedIDEs(e.g. Ac6System Workbenchfor STM32)
STM32CubeHardware Abstraction Layer (HAL)
STM32Cubemiddleware
Upper level middleware(e.g. STOpenSoftwareX)
Middleware
HardwareAbstraction
STM32Cubeexpansion middleware
STM32 Nucleo expansion boards (X-NUCLEO)
STM32 Nucleo developer boards
OPEN LICENSE MODELS: STM32Cube software and sample applications are covered by a
mix of fully open source BSD license and ST licenses with very permissive terms.
www.st.com/stm32cube
STM32 Open Development Environment
Building block approach 27
The building blocks Your need Our answer
Move /
Actuate
Connect
Power
Sense
Process
Inertial modules, magnetometer
Proximity, microphone
Pressure, temperature, humidity
Bluetooth LE, Sub-GHz radio
NFC, Wi-Fi, GNSS
Energy management & battery
General-purpose microcontrollers
Stepper motor driver
DC & BLDC motor driver
Audio amplifier
COLLECT
TRANSMIT
ACCESS
CREATE
POWER
PROCESS
Software
Secure microcontrollers
Touch controller
Operation Amplifier
Accelerometer, gyroscope
Translate
Industrial input / output
www.st.com/stm32ode