Heart Rate Monitor example for the BLE API using ST BlueNRG native drivers

Dependencies:   BLE_API X_NUCLEO_IDB0XA1 mbed

Getting started with X-NUCLEO-IDB05A1

This example demonstrates how to use the X-NUCLEO-IDB05A1 component with one of the STM32 Nucleo platforms tested with the to obtain heart rate information:

First, attach the X-NUCLEO-IDB05A1 to the STM32 Nucleo platform as shown here: /media/uploads/apalmieri/nucleoble.jpg

Next, connect the STM32 Nucleo platform to your PC with a USB-mini USB cable.

Now return to the BLE_HeartRate_IDB0XA1 project homepage and import the project into your mbed compiler:


Click “Import” button on the pop up window shown below


Compile and load the image onto the STM32 Nucleo platform

Upon a successful compilation, a binary image will be created and a dialog box will ask you where to save it.


Now you can load the compiled code onto your Nucleo platform by saving the newly created binary file to your STM32 Nucleo drive.

Open a terminal window to display the status of your Bluetooth stack. For this example, set the terminal BAUD rate to 9600


Included within the USB interface of the STM32 Nucleo platform is a Virtual COM port that can be used to send back messages to your PC within your embedded code.
You need a terminal emulator installed on your PC to perform serial communications with your STM32 Nucleo platform. If you do not have a terminal emulation program on your PC we recommend you download and install one of the following terminal emulation programs:

Upon a successful serial connection, you should now see the various Bluetooth stack status displayed on your console output.


Test your application with an Android or iOS device


  • On the STM32 BLE Profiles app select HeartRateSensor


  • Select Heart Rate

/media/uploads/apalmieri/3.profileselection_800x1280.png /media/uploads/apalmieri/7.heartrate_800x1280.png


RevisionDateWhoCommit message
22:94afa3edefb3 2018-08-09 nikapov Update mbed lib. default tip
21:0e7c08f5386f 2016-10-05 apalmieri Minor change (bps values range)
20:60d60ccf8eea 2016-09-16 apalmieri Sync w/ X_NUCLEO_IDB0XA1 (rev307) lib
19:2fdc7548ff86 2016-09-16 apalmieri Sync w/ X_NUCLEO_IDB0XA1 (rev306) lib
18:df01918a6a79 2016-09-15 apalmieri Sync w/ mbed (rev125) BLE_API (rev1208) and X_NUCLEO_IDB0XA1 (rev305) libs
17:244d790264bc 2016-06-21 apalmieri Sync w/ X_NUCLEO_IDB0XA1 (rev250) lib
16:4913ab140f63 2016-06-21 apalmieri Sync w/ mbed (rev121) BLE_API (rev1200) and X_NUCLEO_IDB0XA1 (rev248) libs
15:9903a83938cc 2016-03-22 apalmieri Sync w/ rev215 of X_NUCLEO_IDB0XA1 lib and rev116 of mbed lib
14:f715c13eb84f 2016-03-09 apalmieri Sync w/ rev115 of mbed lib
13:227a0149b677 2016-02-25 apalmieri Code cleaning
12:fc21349c19c1 2016-02-19 apalmieri Sync w/ rev114 of mbed lib
11:3634e1f4603b 2016-01-14 apalmieri Sync w/ BLE_API (rev 1130) X_NUCLEO_IDB0XA1 (rev 212) and mbed (rev 112)
10:154f044a1075 2015-12-18 apalmieri Sync w/ mbed (rev 111)
9:067852e3291b 2015-12-15 apalmieri Sync w/ BLE_API (rev 1041) and X_NUCLEO_IDB0XA1 (rev 209)
8:f97c7364563a 2015-12-07 apalmieri Sync w/ rev 205 of X_NUCLEO_IDB0XA1 lib
7:de3068507610 2015-12-03 apalmieri Sync w/ rev 203 of X_NUCLEO_IDB0XA1 and rev 1016 of BLE_API (v2.1.7)
6:8d9dff8581d5 2015-11-27 apalmieri Sync w/ rev 991 of BLE_API (ver2.1.4) and rev 110 of mbed
5:9cbe05641210 2015-11-20 apalmieri Sync w/ rev 191 of X_NUCLEO_IDB0XA1 lib
4:f7b728bd74a5 2015-11-18 apalmieri Sync with BLE_API (rev 883) X_NUCLEO_IDB0XA1 (rev 180) mbed (rev 109)
3:a51ca6313ad2 2015-09-29 apalmieri Remove 'IDB0XA1_D13_PATCH' from main
2:bc0c0d442a24 2015-09-29 apalmieri Update arguments for Disconnection callback
1:11cd427bbc8b 2015-09-29 apalmieri Do not use LED when compiling for 'IDB0XA1_D13_PATCH'
0:eb7f02ad28a7 2015-09-22 screamer Initial revision