Skip to content

This application demonstrates BLE Throughput measurement on RT1170 using wireless module IW612.

License

Notifications You must be signed in to change notification settings

nxp-appcodehub/dm-ble-throughput-measurement-rt1170

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NXP Application Code Hub

BLE Throughput measurement using RT1170 EVKB+ IW612

This application demonstrates BLE Throughput measurement on RT1170 using wireless module IW612.

Boards: MIMXRT1170-EVKB

Categories: Wireless Connectivity

Peripherals: UART

Toolchains: MCUXpresso IDE

Table of Contents

  1. Software
  2. Hardware
  3. Setup
  4. Results
  5. FAQs
  6. Support
  7. Release Notes

1. Software

2. Hardware

3. Setup

3.1 Import Example

  1. Open MCUXpresso IDE, in the Quick Start Panel, choose Import from Application Code Hub

  1. Enter the demo name in the search bar.

  1. Click Copy GitHub link, MCUXpresso IDE will automatically retrieve project attributes, then click Next>.

  1. Select main branch and then click Next>, Select the MCUXpresso project, click Finish button to complete import.

3.2 Build and flash

  1. Connect the WIFI IW612 BOARD MURATA 2EL M2 module.
  2. Connect a USB cable between the PC host and the Debug USB port on the target board.

  1. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  2. Build the application.

  1. Flash the program to the target board.

  1. Press the reset button.

3.3 Running the demo

  1. Application Start-up

    Upon powering on, the application initializes and begins advertising custom GATT service(UUID: 0x1AA1).

    Console output:

  2. Device Connection

    Use a BLE-compatible device (Android/iOS) to scan for nearby BLE peripherals. Select and connect to the advertised custom GATT service or serach by name "BLE_Throughput_Demo".

    Note: To change the advertising name, update the string assigned to CONFIG_BT_DEVICE_NAME in source/app_bluetooth_config.h.

  3. Discover GATT Services

    Once connected, use the BLE scanner app to discover available GATT services and their characteristics.

  4. Set MTU to 517

    After establishing the connection, update the MTU to 517 using the BLE scanner application or an appropriate API. This is mandatory to ensure the application operates correctly and achieves the expected throughput. Failure to set the MTU may result in zero frames and throughput readings, as shown in the Results section.

    Note: Do change "Ser Preferred PHY" to 1M PHY or 2M PHY to observe the difference of throughput with different PHY level.

  5. Subscribe to Notifications

    Subscribe to notifications for a characteristic (UUID 0xAABB). With notifications enabled and the MTU set, the connected peer will start receiving periodic updates from the custom characteristic. Observe the real-time frames and throughput updates in the serial console output..

  6. Write to Characteristic

    Write a value to a writable characteristic (UUID 0xCCDD). Ensure the value is written successfully, and the characteristic is updated accordingly.

  7. Read Characteristic

    Access a readable characteristic (UUID 0xAABB or 0xEEFF) and retrieve its value. Values are updated dynamically and can be viewed in the app.

  8. Indicate Characteristic Updates

    Subscribe to indications for a characteristic (UUID 0xEEFF). Observe acknowledgment of updates from the device.

    Open the log screen to observe the data.

4. Results

Upon running the firmware, the following results are observed:

  1. Notifications Subscribing to the Notify property of the custom characteristic allows the BLE scanner or connected peer device to receive periodic updates automatically. The output in the serial console shows real-time frames and throughput updates. The expected output will look like this:

    Connected to peer: 49:D4:EC:4B:31:6D (random) Passkey for 49:D4:EC:4B:31:6D (random): 048657 Security changed: F8:1A:2B:3F:31:04 (public) level 4 (error 0) LE Data Length update initiated Notifications enabled for Characteristic 1 frames: 171(throughput 701kbps) frames: 100(throughput 410kbps) frames: 104(throughput 426kbps) frames: 117(throughput 480kbps)

NOTE: After a successful connection, setting the MTU to 517 is mandatory for proper operation. If the MTU is not set correctly, the output will indicate zero frames and throughput:

frames: 0(throughput 0kbps)␊
frames: 0(throughput 0kbps)␊

5. FAQs

No FAQs have been identified for this project.

6. Support

No URL

Project Metadata

Board badge

Category badge

Peripheral badge

Toolchain badge

Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.

Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected functionality, enter your questions on the NXP Community Forum

Follow us on Youtube Follow us on LinkedIn Follow us on Facebook Follow us on Twitter

7. Release Notes

Version Description / Update Date
1.0 Initial release on Application Code Hub May 22th 2025
Trademarks and Service Marks: There are a number of proprietary logos, service marks, trademarks, slogans and product designations ("Marks") found on this Site. By making the Marks available on this Site, NXP is not granting you a license to use them in any fashion. Access to this Site does not confer upon you any license to the Marks under any of NXP or any third party's intellectual property rights. While NXP encourages others to link to our URL, no NXP trademark or service mark may be used as a hyperlink without NXP’s prior written permission. The following Marks are the property of NXP. This list is not comprehensive; the absence of a Mark from the list does not constitute a waiver of intellectual property rights established by NXP in a Mark.
NXP, the NXP logo, NXP SECURE CONNECTIONS FOR A SMARTER WORLD, Airfast, Altivec, ByLink, CodeWarrior, ColdFire, ColdFire+, CoolFlux, CoolFlux DSP, DESFire, EdgeLock, EdgeScale, EdgeVerse, elQ, Embrace, Freescale, GreenChip, HITAG, ICODE and I-CODE, Immersiv3D, I2C-bus logo , JCOP, Kinetis, Layerscape, MagniV, Mantis, MCCI, MIFARE, MIFARE Classic, MIFARE FleX, MIFARE4Mobile, MIFARE Plus, MIFARE Ultralight, MiGLO, MOBILEGT, NTAG, PEG, Plus X, POR, PowerQUICC, Processor Expert, QorIQ, QorIQ Qonverge, RoadLink wordmark and logo, SafeAssure, SafeAssure logo , SmartLX, SmartMX, StarCore, Symphony, Tower, TriMedia, Trimension, UCODE, VortiQa, Vybrid are trademarks of NXP B.V. All other product or service names are the property of their respective owners. © 2021 NXP B.V.

About

This application demonstrates BLE Throughput measurement on RT1170 using wireless module IW612.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages