STM32WB Series BLE interoperability report - Application note STM32WB Series BLE interoperability report

This document describes tests and results of interoperability of STM32WB55 devices with leading Android™ and iOS™smartphones.

STMICROELECTRONICS

AN5604 STM32WB Series BLE interoperability report

3 feb 2021 — Setup Parameter. Description. Mobile phones ... Setup overview. ST BLE toolbox. GATT Client ... Samsung. GALAXY S9. SM-G900. Nougat v7.1.1. API level 25.

PDF preview unavailable. Download the PDF instead.

an5604-stm32wb-series-ble-interoperability-report-stmicroelectronics
AN5604
Application note
STM32WB Series BLE interoperability report
Introduction
This document describes tests and results of interoperability of STM32WB55 devices with leading AndroidTM and iOSTM smartphones. The testing is performed through two different sessions: · Basic functional tests such as discovery, connection, GATT procedure · Application scenarios such as pairing, data transfer measurement (uplink and downlink)

AN5604 - Rev 1 - February 2021 For further information contact your local STMicroelectronics sales office.

www.st.com

AN5604
Test setup

1

Test setup

Setup Parameter Mobile phones
ST device under test STM32CubeWB

Table 1. Test setup

Description Refer to test results
STM32WB55 V1.10.0

Debug traces are enabled in the device under test, and are displayed on a serial console.
Sniffer is launched, air traces are captured and used to measure timings during the different phases (connection, GATT discovery, notification, indication).

Figure 1. Setup overview

ST BLE toolbox
GATT Client

GATT Server

AN5604 - Rev 1

page 2/41

2

Basic functional test cases

2.1

Application of STM32WB Series basic functional test

The test application consists in one service and three characteristics.

Figure 2. BLE IOT test application

Peripheral

GATT Server

IOT TEST SERVICE

C1

Read, write, notify, Variable lenght

C2

Read, write without response indicate, Variable lenght

C1

Read, write, fixed length (245), encryption read/write

AN5604
Basic functional test cases

2.2

Summary of basic functional tests

Test set 1 2 3
4
5 6

Test case 1 1 2 1
1
2
1
1

Table 2. List of basic functional tests
Type
BLE scanning, discovery
BLE connection
GATT (service, characteristic discovery)
GATT notification · Variable length data · C1
GATT write/read · Variable length data · C1: write 1 byte 0xAA, read 0xAA
GATT write/read · Variable length data · C1: write 4 bytes 0x55443322, read 0x55443322
GATT indication · Variable length data · C2
GATT read/write without response · C2: write 1 byte 0xAA, read 0xAA

AN5604 - Rev 1

page 3/41

AN5604
Summary of basic functional tests

Test set 6 7
8
9

Test case

Type

2

GATT read/write without response

· C2: write 4 bytes 0x55443322, read 0x55443322

1

GATT read/write with response · C3

1

GAP connection interval change requested by the peripheral · Connection interval request: 7.5 ms

2

GAP connection interval change requested by the peripheral · Connection interval request: 20 ms

3

GAP connection interval change requested by the peripheral · Connection interval request: 45 ms

4

GAP connection interval change requested by the peripheral · Connection interval request: 200 ms

5

GAP connection interval change requested by the peripheral · Connection interval request: 400 ms

6

GAP connection interval change requested by the peripheral · Connection interval request: 600 ms

7

GAP connection interval change requested by the peripheral · Connection interval request: 1000 ms

8

GAP connection interval change requested by the peripheral · Connection interval request: 2000 ms

9

GAP connection interval change requested by the peripheral · Connection interval request: 4000 ms

1

GAP latency change requested by the peripheral · Connection interval request: 48.75 ms, connection latency = 2

2

GAP latency change requested by the peripheral · Connection interval request: 48.75 ms, connection latency = 4

3

GAP latency change requested by the peripheral · Connection interval request: 200 ms, connection latency = 2

4

GAP latency change requested by the peripheral · Connection interval request: 200 ms, connection latency = 4

5

GAP latency change requested by the peripheral · Connection interval request: 1000 ms, connection latency = 1

AN5604 - Rev 1

page 4/41

2.3
2.3.1

AN5604
Description of basic functional tests

Description of basic functional tests

Test 1 ­ BLE scanning, discovery STM32WB55 device is the peripheral. · Phone scans and finds the device · Pass if device is found by the phone

Figure 3. Phone scans and finds the device

STM32WB -Trace

Smartphone

2.3.2

Test 2-1 ­ BLE connection STM32WB55 device is the peripheral. · Phone scans, connects · Pass if phone connects to the device
Figure 4. Phone connects
STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 5/41

2.3.3

AN5604
Description of basic functional tests

Test 2-2 ­ GATT, service/characteristics discovery STM32WB55 device is the peripheral. · Phone scans, connects, discovers service/characteristic, disconnects · Pass if no connection issue and all service/characteristics are discovered by the phone

Figure 5. Phone discovers service, characteristics

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 6/41

2.3.4

AN5604
Description of basic functional tests

Test 3 ­ GATT notification Phone enables the notification on the characteristic which triggers a timer, at timer expiration (1 s) the notification is sent with expected value. · Length = 1, data=0x55 · Length = 249 (ATT_MTU-3)
Data: Byte0 = Packet sequence number, byte1 = 1,.., byteN = N Pass if the notification is received with the corresponding length and value. · Length = 1, data=0x55 · Length = ATT_MTU-3
Data: Byte0 = Packet sequence number, byte1 = 1,.., byteN = N Check no errors on phone, check the air trace and debug trace on device application.

Figure 6. Phone enables the notification

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 7/41

2.3.5

AN5604
Description of basic functional tests

Test 4-1 ­ GATT, write/read characteristic (1 byte) Phone writes a variable length data, reads the written data. · Length = 1, data = 0xAA
Pass if the read back value equals the written value and if the phone gets: · 1 byte read back data 0xAA
Check no errors on phone, check the air trace and debug trace on device application.

Figure 7. Phone writes 1 byte (test 4-1)

STM32WB - Trace

Smartphone

2.3.6

Test 4-2 ­ GATT, write/read characteristic (4 bytes) Phone writes a variable length data, reads the written data. · Length = 4, data = 0x55443322
Pass if the read back value equals the written value and if the phone gets: · 4 bytes read back data 0x55443322
Check no errors on phone, check the air trace and debug trace on device application.

Figure 8. Phone writes 4 bytes (test 4-2)

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 8/41

2.3.7

AN5604
Description of basic functional tests

Test 5 ­ GATT indication Phone enables the indication on the characteristic which triggers a timer, at timer expiration the indication is sent with expected value. · Length = 1 · data = 0x55 · Length = 249 (ATT_MTU-3)
Data: Byte0 = Packet sequence number, byte1 = 1,.., byteN = N Pass if the indication is received with the corresponding length and value. · Length = 1, data = 0x55 · length = ATT_MTU-3
data: Byte0 = Packet sequence number, byte1=1,.., byteN = N Check no errors on phone, check the air trace and debug trace on device application.

Figure 9. Phone enables the indication

STM32WB - Trace

Smartphone

2.3.8

Test 6-1 ­ GATT, write without response/read characteristic (1 byte) Phone writes a variable length data, reads the written data · Length = 1, data=0xAA
Pass if the read back value equals the written value and if the phone gets: · 1 byte read back data 0xAA
Check no error on phone, check the air trace and debug trace on device application.

Figure 10. Phone writes 1 byte (test 6-1)

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 9/41

2.3.9

AN5604
Description of basic functional tests

Test 6-2 ­ GATT, write without response/read characteristic (4 byte) Phone writes a variable length data, reads the written data: · Length = 4, data = 0x55443322
Pass if the read back value equals the written value and if the phone gets: · 4 bytes read back data 0x55443322
Check no error on phone, check the air trace and debug trace on device application.

Figure 11. Phone writes 4 bytes (test 6-2)

STM32WB - Trace

Smartphone

2.3.10

Test 7 ­ GATT, write/read characteristic encryption permission
The test purpose is to write/read a characteristic with encryption permission needed. With most phones a pop-up appears (see Figure 12) to start the pairing. With some phones, pairing has to be done out of the BLE toolbox application. · Phone reads/writes a fixed length value ­ 245 · Pairing done (encrypted link) · Pass if phone can read/write the characteristic · Check response in the air trace, no error on phone · Check debug trace on device application

Figure 12. Phone writes one byte, encryption needed

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 10/41

AN5604
Description of basic functional tests

2.3.11

Test 8-1 ­ L2CAP connection interval request (7.5 ms) STM32WB55 device is the peripheral. · Phone scans, connects, discovers service/characteristic · Peripheral requests a new connection interval (7.5 ms, 20 ms, 45 ms, 200 ms, 400 ms, 1 s, 2 s, 4 s) · Push SW1 ­ new connection interval requested: 7.5 ms · Accepted, phone requests 11.5 ms

Figure 13. Peripheral requests connection interval, 7.5 ms

STM32WB - Trace

Smartphone

2.3.12

Test 8-2 ­ L2CAP connection interval request (20 ms) · Push SW1 ­ new connection interval requested: 20 ms · Accepted, phone requests 20 ms

Figure 14. Peripheral requests connection interval, 20 ms

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 11/41

AN5604
Description of basic functional tests

2.3.13

Test 8-3 ­ L2CAP connection interval request (45 ms) · Push SW1 ­ new connection interval requested: 45 ms · Accepted, phone requests 45 ms

Figure 15. Peripheral requests connection interval, 45 ms

STM32WB - Trace

Smartphone

2.3.14

Test 8-4 ­ L2CAP connection interval request (200 ms) · Push SW1 ­ new connection interval requested: 200 ms · Accepted, phone requests 200 ms

Figure 16. Peripheral requests connection interval, 200 ms

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 12/41

AN5604
Description of basic functional tests

2.3.15

Test 8-5 ­ L2CAP connection interval request (400 ms) · Push SW1 ­ new connection interval requested: 400 ms · Accepted, phone requests 400 ms

Figure 17. Peripheral requests connection interval, 400 ms

STM32WB - Trace

Smartphone

2.3.16

Test 8-6 ­ L2CAP connection interval request (600 ms) · Push SW1 ­ new connection interval requested: 600 ms · Accepted, phone requests 600 ms

Figure 18. Peripheral requests connection interval, 600 ms

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 13/41

AN5604
Description of basic functional tests

2.3.17

Test 8-7 ­ L2CAP connection interval request (1000 ms) · Push SW1 ­ new connection interval requested: 1000 ms · Accepted, phone requests 1000 ms

Figure 19. Peripheral requests connection interval, 1000 ms

STM32WB - Trace

Smartphone

2.3.18

Test 8-8 ­ L2CAP connection interval request (2000 ms) · Push SW1 ­ new connection interval requested: 2000 ms · Accepted, phone requests 2000 ms

Figure 20. Peripheral requests connection interval, 2000 ms

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 14/41

AN5604
Description of basic functional tests

2.3.19

Test 8-9 ­ L2CAP connection interval request (4000 ms) · Push SW1 ­ new connection interval requested: 4000 ms · Accepted, phone requests 4000 ms

Figure 21. Peripheral requests connection interval, 4000 ms

STM32WB - Trace

Smartphone

2.3.20

Test 9-1 ­ L2CAP connection interval, connection latency request (48.75 ms, latency = 2) STM32WB55 device is the peripheral. · Phone scans, connects, discovers service/characteristic · Peripheral requests a new connection interval and new connection latency (48.75 ms, L = 2; 48.75 ms,
L = 4; 200 ms, L = 2; 200 ms, L = 4; 1s, L = 1) · Push SW2 ­ new connection interval requested: 48.75 ms, latency = 2 · Accepted, phone requests 48.75 ms, latency = 2

Figure 22. Peripheral requests connection interval = 48.75 ms, latency = 2

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 15/41

AN5604
Description of basic functional tests

2.3.21

Test 9-2 ­ L2CAP connection interval, connection latency request (48.75 ms, latency = 4) · Push SW2 ­ new connection interval requested: 48.75 ms, latency = 4 · Accepted, phone requests 48.75 ms, latency = 4

Figure 23. Peripheral requests connection interval = 48.75 ms, latency = 4

STM32WB - Trace

Smartphone

2.3.22

Test 9-3 ­ L2CAP connection interval, connection latency request (200 ms, latency = 2) · Push SW2 ­ new connection interval requested: 200 ms, latency = 2 · Accepted, phone requests 200 ms, latency = 2

Figure 24. Peripheral requests connection interval = 200 ms, latency = 2

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 16/41

AN5604
Description of basic functional tests

2.3.23

Test 9-4 ­ L2CAP connection interval, latency request (200 ms, latency = 4) · Push SW2 ­ new connection interval requested: 200 ms, latency = 4 · Accepted, phone requests 200 ms, latency = 4

Figure 25. Peripheral requests connection interval = 200 ms, latency = 4

STM32WB - Trace

Smartphone

2.3.24

Test 9-5 ­ L2CAP connection interval, latency request (1000 ms, latency = 1) · Push SW2 ­ new connection interval requested: 1000 ms, latency = 1 · Accepted, phone requests 1000 ms, latency = 1

Figure 26. Peripheral requests connection interval equals to 1000 ms, latency equals to 1

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 17/41

2.4

AN5604
Results of basic functional tests

Results of basic functional tests

Manufacturer Apple® Apple® Apple® Apple® Apple® Apple® Apple® Google® Google® Huawei Huawei Huawei Huawei Huawei Huawei LG Motorola OnePlus OnePlus
OPPO Samsung

Table 3. Results of basic functional tests

Model iPhone 7 MN8X2ZD/A iPhone 8 MQ6V2LL/A iPhone11 iPhone12
XR MRYU2VC/A
XS MT9H2ZD/A
XS MAX
PIXEL2
PIXEL3
Mate 20 LITE
NEXUS 6P
P10 P20 ELM-L29 P30 ELE-L29 P Smart+ 2019 POT-LX1T K20
Z2
5000
A6003
RX17 PRO CPH1877

OS
iOS 13.7
iOS 14.0.1
iOS 13.6.1 iOS 14.3
iOS 14
iOS 13.6.1
iOS 14.2 R v11
API level 30 Q v10
API level 29 Q v10
API level 29 Oreo v8.1.0 API level 27 Nougat v7.0 API level 24 Oreo v8.1.0 API level 27
Q v10 API level 29
Q v10 API level 29
Pie v9 API level 28 Nougat v7.1.1 API level 25 Nougat v7.1.1 API level 25
Q v10 API level 29 Oreo v8.0 API level 26

1234567 8

9

       (1) (2)

       (1) (2)        (1) (2)        (1) (2)        (1) (2)

       (1) (2)        (1) (2)        (3) 

       (3) 

       (3) 

       (3) 

  

  

       (3) 

       (3) 

       (3) 

       (3) 

       (4) 

       (4)



       (3) 

A41

Q v10

       (3) 

AN5604 - Rev 1

page 18/41

AN5604
Results of basic functional tests

Manufacturer
Samsung Samsung Samsung Samsung Samsung Samsung
Samsung
Samsung Samsung Samsung Samsung Samsung Samsung Samsung Samsung
Sony Sony Sony Xiaomi Xiaomi Xiaomi

Model SM-A415F
A50 SM-A505FN
A51
GALAXY A5
GALAXY S7 SM-G930F GALAXY S8 SM-G950F GALAXY S8 SM-G9500 GALAXY S8+ Chinese model SM-G9550 GALAXY S9 SM-G900 GALAXY S9 SM-G960 GALAXY S10 SM-G730 GALAXY S10 SM-G973F
Tab A SM-T510 NOTE 8 SM-N950F S6 Edge SM-G925F
S10 SM-G973F XPERIA10
XPERIA DOCOMO
XPERIAXZ2
MI5
MI8
MI10

OS API level 29
Q v10 API level 29
Q v10 API level 29
Oreo v8 API level 25
Oreo v8 API level 25
Nougat v7 API level 24
Nougat V7 API level 24
Nougat V7 API level 24
Nougat v7.1.1 API level 25 Nougat v7.1.1 API level 25
Pie v9 API level 28

1234567 8

9

       (3)         (3)         (3)         (3)         (3)         (4) 

       (4) 

       (3)         (3)         (3) 

Pie v9 API level 28
Q v10 API level 31
Pie v9 API level 27
Nougat v7 API level 24
Q v10 API level 30 Pie v9 API level 28 Nougat v7.1.1 API level 28 Pie v9 API level 28 Marshmallow API level 27 Oreo v8.1.0 API level 27
Q v10 API level 23

       (3)         (3)         (3)         (3)         (3)         (3)         (3)         (3)            (3)         (3) 

AN5604 - Rev 1

page 19/41

AN5604
Results of basic functional tests

Manufacturer

Model

OS

1234567 8

9

Xiaomi

MI MIX3

Q v10 API level 29

       (3) 

Xiaomi

REDMI M2004J19AG

Q v10 API level 30

       (3) 

Xiaomi

REDMI NOTE 8 M1908C3JG

Q v10 API level 29

       (3) 

Xiaomi

REDMI NOTE 8 PRO

Q v10 API level 29

       (3) 

1. If requested connection interval < 30 ms, phone updates with a connection interval around 30 ms (26.25 ms or 30 ms). Other requests are accepted and answered with few differences.
2. L2CAP request with connection interval equals to 1 s and latency > 0 is not accepted.
3. If requested connection interval equals to 7.5 ms, phone updates with 11.25 ms.
4. If requested connection interval equals to 7.5 ms, phone's response is failed but test can continue.

AN5604 - Rev 1

page 20/41

AN5604
Specific scenario test cases

3

Specific scenario test cases

3.1

STM32WB Series data throughput application

The application used for the following scenario is part of ST project delivery: BLE_Data_Throughput

Figure 27. BLE_Data_Throughput application

Peripheral

GATT Server

DATA TRANSFER SERVICE

C1

DATA_TRANSFER_TX notify, Variable lenght

DATA_TRANSFER_TX, write
C2 without response indicate,
Variable lenght

C1 DATA_TRANSFER_TX_INFO
notify, Variable lenght

3.2

Summary of data throughput application tests

Test set 1 2
3
4

Test case 1 1 2 1 2 1 2

Table 4. List of data throughput application tests
Type BLE connection, GATT (service, characteristic discovery) GAP security ­ requested by the phone GAP security ­ requested by STM32WB55 device Data throughput download (GATT notification) PHY 1 M Data throughput download (GATT notification) PHY 2 M Data throughput upload (GATT write) PHY 1 M Data throughput upload (GATT write) PHY 2 M

AN5604 - Rev 1

page 21/41

3.3
3.3.1

AN5604
Description of data throughput application tests

Description of data throughput application tests

Scenario 1 ­ BLE scanning, connection, service/characteristic discovery STM32WB55 device is the peripheral. · Phone connects, discovers service/characteristic, disconnects · Pass if no connection issue and all service/characteristics are discovered by the phone

Figure 28. Phone scans, connects, discovers service and characteristics

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 22/41

3.3.2

AN5604
Description of data throughput application tests

Scenario 2-1 ­ GAP security ­ Pairing requested by the phone STM32WB55 device is in advertising. STM32WB55 device can support legacy pairing or secure connection. The used method depends on the phone. · Phone scans, connects, discovers service/characteristic · The phone starts the pairing/bonding sequence · Pass if after connection, pairing initiated by the phone is successful

Figure 29. Phone requests pairing

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 23/41

3.3.3

AN5604
Description of data throughput application tests

Scenario 2-2 ­ GAP security ­ Pairing requested by the STM32WB55 device STM32WB55 device is in advertising. STM32WB55 device can support legacy pairing or secure connection. The used method depends on the phone. · Phone scans, connects, discovers service/characteristic · The STM32WB55 device starts the pairing/bonding sequence · Pass if after connection, pairing initiated by the phone is successful

Figure 30. STM32WB55 device requests pairing

STM32WB - Trace

Smartphone

Note:

The database can be deleted on phone using "delete bond". Delete database is a local action. Figure 31. Phone deletes its database
Smartphone

AN5604 - Rev 1

page 24/41

Note:

AN5604
Description of data throughput application tests
The database can be deleted on STM32WB55 device after disconnection, using SW3-long push (more than 1 s). Delete database is a local action.
Figure 32. STM32WB55 device deletes its database
STM32WB - Trace

AN5604 - Rev 1

page 25/41

3.3.4

AN5604
Description of data throughput application tests

Scenario 3-1 ­ Data throughput downlink 1 M STM32WB55 device is the peripheral. · Phone scans, connects, discovers service/characteristic, enables the notification · Push SW1 ­ notification is sent from STM32WB55 device · Throughput is calculated on the phone
Pass if all service and characteristics are discovered and the throughput value is displayed

Figure 33. STM32WB55 device sends data to the phone at PHY = 1 M

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 26/41

3.3.5

AN5604
Description of data throughput application tests

Scenario 3-2 ­ Data throughput downlink 2 M STM32WB55 device is the peripheral. · Phone scans, connects, discovers service/characteristic, enables the notification · Push SW1 : notification are sent from STM32WB55 device · Push SW2, check the phone supports PHY 2 M · Throughput is calculated on the phone
Pass if all service and characteristics are discovered and the throughput value is displayed.

Figure 34. STM32WB55 device sends data to the phone at PHY = 2 M

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 27/41

3.3.6

AN5604
Description of data throughput application tests

Scenario 4-1 ­ Data throughput uplink 1 M STM32WB55 device is in advertising. · Phone scans, connects, discovers service/characteristic, enables the notification (not used in this case) · Select uplink box on phone application. Write data started from the phone · Throughput is calculated on device and sent to the phone through a notification. The value is displayed on
phone
Pass if all service and characteristics are discovered and the throughput value is displayed.

Figure 35. Phone sends data to STM32WB55 device at PHY = 1 M

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 28/41

3.3.7

AN5604
Description of data throughput application tests

Scenario 4-2 ­ Data throughput uplink 2 M STM32WB55 device is in advertising. · Phone scans, connects, discovers service/characteristic, enables the notification (not used in this case) · Select uplink box on phone application. Write data started from the phone · Push SW2, check the phone supports PHY 2 M · Throughput is calculated on device and sent to the phone through a notification. The value is displayed on
phone.
Pass if all service and characteristics are discovered and the throughput value is displayed.

Figure 36. Phone sends data to STM32WB55 device at PHY = 2 M

STM32WB - Trace

Smartphone

AN5604 - Rev 1

page 29/41

3.4

AN5604
Results of data throughput application tests

Results of data throughput application tests

Manufacturer Apple® Apple® Apple® Apple® Apple® Apple® Apple® Google® Google® Huawei Huawei Huawei Huawei Huawei Huawei LG Motorola OnePlus OnePlus

Table 5. Results of data throughput application tests

Model iPhone 7 MN8X2ZD/A iPhone 8 MQ6V2LL/A iPhone 11
iPhone 12 XR
MRYU2VC/A XS
MT9H2ZD/A XS MAX
PIXEL 2
PIXEL 3
MATE 20 LITE
NEXUS 6P
P10 P20 ELM-L29 P30 ELE-L29 P Smart+ 2019 POT-LX1T
K20

OS
iOS 13.7
iOS 14.0.1
iOS 13.6.1
iOS 14.3
iOS 14
iOS 13.6.1
iOS 14.2
R v11 API level 30
Q v10 API level 29
Q v10 API level 29 Oreo v8.1.0 API level 27 Nougat v7 API level 24 Oreo v8.1.0 API level 27
Q v10 API level 29
Q v10 API level 29
Pie v9 API level 28

S1 S2 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC(2) 
 SC 
 SC
 
SC

S3-download (kbytes/s) 1 M - 22.11 2 M - 28.31 1 M - 24 2 M - 38 1 M - 15 2 M - 40 1 M - 23.2 2 M - 40 1 M - 24 2 M - 40 1 M - 24 2 M - 40 1 M - 24 2 M - 38 1 M - 48.73 2 M - 85.90 1 M - 48.7 2 M - 75 1 M - 22.3
2 M - not supported 1 M - 20
2 M - not supported 1 M - 30 2 M - 32 1 M - 19 2 M - 32 1 M - 60 2 M - 105 1 M - 16
2 M - not supported
1 M - 2 2 M - not supported

Z2 5000 A6003

Nougat v7.1.1





API level 25

SC

Nougat v7.1.1





API level 25

SC(2)

Q v10 API level 29

 
SC(2)

1 M - 7.2 2 M - not supported
1 M - 48 2 M - 90 1 M - 62.2 2 M - 85.2

S4-upload (kbytes/s) 1 M - 21.8 2 M - 30.87 1 M - 23 2 M - 39 1 M - 15 2 M - 39 1 M - 23.4 2 M - 39 1 M - 23 2 M - 38 1 M - 23 2 M - 40 1 M - 23 2 M - 39 1 M - 49.30 2 M - 85.20 1 M - 42 2 M - 75 1 M - 8
2 M - not supported 1 M - 42
2 M - not supported 1 M - 30 2 M - 31 1 M - 31 2 M - 31 1 M - 47 2 M - 78 1 M - 2.6
2 M - not supported
1 M - 0.87 2 M - not supported
1 M - 7.2 2 M - not supported
1 M - 48 2 M - 46 1 M - 62.7 2 M - 84

AN5604 - Rev 1

page 30/41

AN5604
Results of data throughput application tests

Manufacturer OPPO
Samsung Samsung Samsung Samsung Samsung Samsung Samsung
Samsung
Samsung Samsung Samsung Samsung Samsung Samsung Samsung Samsung
Sony Sony Sony Xiaomi

Model RX17 PRO CPH1877
A41 SM-A415F
A50 SM-A505FN
A51
GALAXY A5 SM-A520F GALAXY S7 SM-G930F GALAXY S8 SM-G950F GALAXY S8 SM-G9500 GALAXY S8+ Chinese model SM-G9550 GALAXY S9 SM-G900 GALAXY S9 SM-G960 GALAXY S10 SM-G730 GALAXY S10 SM-G973F
Tab A SM-T510 NOTE 8 SM-N950F
S6Edge
S10
XPERIA10
XPERIA DOCOMO
XPERIAXZ2
MI5

OS Oreo v8.1.0 API level 27
Q v10 API level 30
Q v10 API level 30
Q v10 API level 29
Oreo v8 API level 25
Oreo v8 API level 25 Nougat v7 API level 24 Nougat V7 API level 24

S1 S2 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC 
 SC

S3-download (kbytes/s) 1 M - 47 2 M - 84 1 M - 43 2 M - 74 1 M - 47 2 M - 85
1 M - 43.10 2 M - 77.75
1 M - 35 2 M - not supported
1 M - 24.02 2 M - not supported
1 M - 69 2 M - 74 1 M - 93 2 M - 150

S4-upload (kbytes/s) 1 M - 42 2 M - 61 1 M - 70 2 M - 74 1 M - 46 2 M - 46
1 M - 46.10 2 M - 47.20
1 M - 28 2 M - not supported
1 M - 23.79 2 M - not supported
1 M - 42 2 M - 46 1 M - 48 2 M - 48

Nougat V7 API level 24

 
SC

1 M - 93 2 M - 164

1 M - 51 2 M - 50

Nougat v7.1.1





API level 25

SC

Nougat v7.1.1





API level 25

SC

Pie v9 API level 28

 
SC

Pie v9 API level 28

 
SC

Q v10 API level 29

 
SC(2)

Pie v9 API level 27

 
SC

Nougat v7 API level 24

 
SC

Q v10 API level 30

 
SC

Pie v9 API level 28

 
SC

Nougat v7.1.1





API level 25

SC

Pie v9 API level 28

 
SC

 Marshmallow 
SC

1 M - 93 2 M - 166 1 M - 93 2 M - 167 1 M - 93 2 M - 167 1 M - 93 2 M - 167 1 M - 37.6 2 M - 64.8 1 M - 86.6 2 M - 156.25 1 M - 2.48 2 M - not supported 1 M - 91.7 2 M - 162.3 1 M - 49.15 2 M - 86.11 1 M - 42 2 M - 86 1 M - 49.3 2 M - 145.5 1 M - 29.8 2 M - not supported

1 M - 42 2 M - 76 1 M - 42 2 M - 57 1 M - 42 2 M - 76 1 M - 43 2 M - 76 1 M - 48.2 2 M - 57.2 1 M - 35.15 2 M - 37.1 1 M - 2 2 M - not supported 1 M - 46.18 2 M - 79 1 M - 48.21 2 M - 75.29 1 M - 38 2 M - 52 1 M - 8.7 2 M - 8.6 1 M - 31.5 2 M - not supported

AN5604 - Rev 1

page 31/41

AN5604
Results of data throughput application tests

Manufacturer

Model

OS

S1 S2

API level 27

Xiaomi

MI 8

Oreo v8.1.0 API level 27

 
SC(2)

Xiaomi

MI10 M2001J2G

Q v10 API level 29

 
SC

Xiaomi

MI MIX3

Q v10 API level 29

 
SC

Xiaomi

REDMI M2004J19AG

Q v10 API level 29

 
SC

Xiaomi Xiaomi

REDMI NOTE 8 REDMI NOTE 8 PRO

Q v10 API level 29
Q v10 API level 29

 
SC   SC

1. SC stay for secure connection 2. Peripheral security request not supported by the phone.

S3-download (kbytes/s)
1 M - 43 2 M - 85 1 M - 72 2 M - 138 1 M - 47.1 2 M - 82.5 1 M - 73 2 M - 75 1 M - 45 2 M - not supported 1 M - 73.4 2 M - 127.7

S4-upload (kbytes/s)
1 M - 42 2 M - 74 1 M - 55 2 M - 55 1 M - 43 2 M - 80 1 M - 27 2 M - 39 1 M - 16 2 M - not supported 1 M - 27.1 2 M - 40.6

AN5604 - Rev 1

page 32/41

AN5604
Analysis

4

Analysis

Figure 37. Data throughput download 1 M and 2 M performances

AN5604 - Rev 1

page 33/41

Figure 38. Data throughput upload 1 M and 2 M performances

AN5604
Analysis

AN5604 - Rev 1

page 34/41

Figure 39. Connection interval and supervision timeout summary

AN5604
Analysis

AN5604 - Rev 1

page 35/41

Revision history
Date 02-Feb-2021

Table 6. Document revision history

Version 1

Initial release.

Changes

AN5604

AN5604 - Rev 1

page 36/41

AN5604
Contents
Contents
1 Test setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 2 Basic functional test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Application of STM32WB Series basic functional test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Summary of basic functional tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Description of basic functional tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Test 1 ­ BLE scanning, discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.2 Test 2-1 ­ BLE connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.3 Test 2-2 ­ GATT, service/characteristics discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3.4 Test 3 ­ GATT notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.5 Test 4-1 ­ GATT, write/read characteristic (1 byte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.6 Test 4-2 ­ GATT, write/read characteristic (4 bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.7 Test 5 ­ GATT indication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.8 Test 6-1 ­ GATT, write without response/read characteristic (1 byte) . . . . . . . . . . . . . . . . . 9 2.3.9 Test 6-2 ­ GATT, write without response/read characteristic (4 byte) . . . . . . . . . . . . . . . . 10 2.3.10 Test 7 ­ GATT, write/read characteristic encryption permission . . . . . . . . . . . . . . . . . . . . . 10 2.3.11 Test 8-1 ­ L2CAP connection interval request (7.5 ms). . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.12 Test 8-2 ­ L2CAP connection interval request (20 ms) . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.13 Test 8-3 ­ L2CAP connection interval request (45 ms) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.14 Test 8-4 ­ L2CAP connection interval request (200 ms) . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.15 Test 8-5 ­ L2CAP connection interval request (400 ms) . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.16 Test 8-6 ­ L2CAP connection interval request (600 ms) . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.17 Test 8-7 ­ L2CAP connection interval request (1000 ms) . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.18 Test 8-8 ­ L2CAP connection interval request (2000 ms) . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.19 Test 8-9 ­ L2CAP connection interval request (4000 ms) . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.20 Test 9-1 ­ L2CAP connection interval, connection latency request (48.75 ms, latency = 2)15 2.3.21 Test 9-2 ­ L2CAP connection interval, connection latency request (48.75 ms, latency = 4)16 2.3.22 Test 9-3 ­ L2CAP connection interval, connection latency request (200 ms, latency = 2) . 16 2.3.23 Test 9-4 ­ L2CAP connection interval, latency request (200 ms, latency = 4) . . . . . . . . . . 17 2.3.24 Test 9-5 ­ L2CAP connection interval, latency request (1000 ms, latency = 1) . . . . . . . . . 17 2.4 Results of basic functional tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Specific scenario test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

AN5604 - Rev 1

page 37/41

AN5604
Contents
3.1 STM32WB Series data throughput application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Summary of data throughput application tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Description of data throughput application tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 Scenario 1 ­ BLE scanning, connection, service/characteristic discovery . . . . . . . . . . . . . 22 3.3.2 Scenario 2-1 ­ GAP security ­ Pairing requested by the phone . . . . . . . . . . . . . . . . . . . . 23 3.3.3 Scenario 2-2 ­ GAP security ­ Pairing requested by the STM32WB55 device . . . . . . . . . 24 3.3.4 Scenario 3-1 ­ Data throughput downlink 1 M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.5 Scenario 3-2 ­ Data throughput downlink 2 M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.6 Scenario 4-1 ­ Data throughput uplink 1 M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.7 Scenario 4-2 ­ Data throughput uplink 2 M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 Results of data throughput application tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

AN5604 - Rev 1

page 38/41

AN5604
List of tables

List of tables

Table 1. Table 2. Table 3. Table 4. Table 5. Table 6.

Test setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 List of basic functional tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Results of basic functional tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 List of data throughput application tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Results of data throughput application tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

AN5604 - Rev 1

page 39/41

AN5604
List of figures

List of figures

Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. Figure 21. Figure 22. Figure 23. Figure 24. Figure 25. Figure 26. Figure 27. Figure 28. Figure 29. Figure 30. Figure 31. Figure 32. Figure 33. Figure 34. Figure 35. Figure 36. Figure 37. Figure 38. Figure 39.

Setup overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 BLE IOT test application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Phone scans and finds the device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Phone connects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Phone discovers service, characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Phone enables the notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Phone writes 1 byte (test 4-1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Phone writes 4 bytes (test 4-2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Phone enables the indication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Phone writes 1 byte (test 6-1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Phone writes 4 bytes (test 6-2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Phone writes one byte, encryption needed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Peripheral requests connection interval, 7.5 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Peripheral requests connection interval, 20 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Peripheral requests connection interval, 45 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Peripheral requests connection interval, 200 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Peripheral requests connection interval, 400 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Peripheral requests connection interval, 600 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Peripheral requests connection interval, 1000 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Peripheral requests connection interval, 2000 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Peripheral requests connection interval, 4000 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Peripheral requests connection interval = 48.75 ms, latency = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Peripheral requests connection interval = 48.75 ms, latency = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Peripheral requests connection interval = 200 ms, latency = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Peripheral requests connection interval = 200 ms, latency = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Peripheral requests connection interval equals to 1000 ms, latency equals to 1. . . . . . . . . . . . . . . . . . . . . . . 17 BLE_Data_Throughput application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Phone scans, connects, discovers service and characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Phone requests pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 STM32WB55 device requests pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Phone deletes its database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 STM32WB55 device deletes its database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 STM32WB55 device sends data to the phone at PHY = 1 M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 STM32WB55 device sends data to the phone at PHY = 2 M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Phone sends data to STM32WB55 device at PHY = 1 M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Phone sends data to STM32WB55 device at PHY = 2 M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Data throughput download 1 M and 2 M performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Data throughput upload 1 M and 2 M performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Connection interval and supervision timeout summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

AN5604 - Rev 1

page 40/41

AN5604
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

AN5604 - Rev 1

page 41/41


Antenna House PDF Output Library 7.0.1600; modified using iText 2.1.7 by 1T3XT C2 v4.2.0220 build 670 - c2 rendition config : Techlit Active