Skip to content

i.MX RT1170 EVK๐Ÿ”—

Introduction๐Ÿ”—

The PAN9028 requires a fairly powerful host processor that executes the low-level Wi-Fiยฎ and Bluetoothยฎ drivers as well as a network stack and a Bluetooth stack.

As an evaluation platform you can use the NXPยฎ i.MX RT1170 Evaluation Kit, which is based on the i.MX RT1170 Crossover MCU with an Armยฎ Cortexยฎ-M7 core and a Cortex-M4 core. It features 512 Mbit SDRAM, a 2 GB NAND Flash, Gigabit Ethernet and two Micro-USB OTG ports.

The i.MX RT1170 supports the SDIO 3.0 specification, which is required for operation of the PAN9028.

Getting Started

For an introduction to the i.MX RT1170 Evaluation Kit please refer to the Getting Started with the i.MX RT1170 Evaluation Kit online guide.

The Wi-Fi driver and firmware for the PAN9028 are provided as part of the MCUXpresso SDK available for the i.MX RT Crossover MCUs.

As a development environment NXP recommends to use the MCUXpresso IDE.

Board Overview๐Ÿ”—

1 Arduino pin header
You can use the Arduino pin header to attach the UART host control interface for Bluetooth operation. Also see Connecting the UART Interface

2 Micro SD card slot
You can insert the PAN9028 mSD-U adapter into the micro SD card slot.

3 5 V DC power input jack
You can use the 12 V DC power input jack to supply power to the board.

4 Power switch
You can use the power switch to control the board power supply.

5 USB debug port
You can use the USB debug port to program the system and interact with it.

MCUXpresso SDK๐Ÿ”—

Download the SDK๐Ÿ”—

Note

Please note that you need an account for the NXP Homepage to be able to access the MCUXpresso SDK Builder.

To download the MCUXpresso SDK execute the following steps.

  1. Go to the MCUXpresso SDK Builder website.

  2. Click Select Development Board.

  3. The website prompts you to login. Login using your account credentials for the NXP Homepage.

  4. Under Select a Board, Kit, or Processor > Boards > i.MX select the MIMXRT1170-EVK (MIMXRT1176xxxxx)1.

  5. Select the desired version 1 and click Build MCUXpresso SDK 2.

    The MCUXpresso SDK Builder forwards you to the software selection table.

  6. Select FreeRTOS 1, NXP Wi-Fi 2 and Wireless edgefast_bluetooth stack 3 checkboxes.

    All necessary software dependencies get selected automatically.

  7. Click on Download SDK.

    The MCUXpresso SDK Builder generates the MCUXpresso SDK.

  8. Once the MCUXpresso SDK Builder is done generating the MCUXpresso SDK click on Download SDK 1.

  9. Click on Download SDK Archive including documentation 1. You are prompted to read and accept an EULA.

    Once you have accepted the EULA, the MCUXpresso SDK is downloaded in the form of a zip-archive (SDK_X_XX_X_MIMXRT1170-EVK.zip).

Import the SDK๐Ÿ”—

The following requirements must be met:

To import the MCUXpresso SDK in the MCUXpresso IDE execute the following instructions.

  1. Open the MCUXpresso IDE.

  2. Drag-and-drop the SDK_X_XX_X_MIMXRT1170-EVK.zip archive into the Installed SDKs window 1.

    The SDK Import dialog opens.

  3. Confirm the import dialog by clicking OK 1 .

    The SDK is ready for use.

Installed SDKs Window

In case you don't see the Installed SDKs window in the MCUXpresso IDE you can activate it under Window > Show View > Installed SDKs.

Import Example Applications๐Ÿ”—

The MCUXpresso SDK comes with a set of example applications that you can use to evaluate the functionality and features of the Wi-Fi and Bluetooth drivers.

The following requirements must be met:

To import an example application from the MCUXpresso SDK execute the following steps.

  1. In the Quickstart Panel click on Import SDK example(s)... 1.

    The SDK Import Wizard window opens.

  2. Select the evkmimxrt1170 SDK 1 and click on Next 2.

  3. Select the example applications that you want to import either from the edgefast_bluetooth_examples 1 or the wifi_examples 2 and click Finish 3.

    The selected example application projects are loaded into the workspace.

Wi-Fi Operation๐Ÿ”—

Adding the Adapter Definition๐Ÿ”—

If you want to compile the Wi-Fi example applications for the PAN9028 mSD-U adapter you have to add some board definitions to the source code.

This section explains these changes using the example of the Wi-Fi CLI demo application (wifi_cli_cm7) which is described in more detail in CLI Demo Application.

The following requirements must be met:

To add the board definitions for the PAN9028 mSD-U adapter execute the following steps.

  1. In source/app_config.h add the following definitions under the /* Wi-Fi boards configuration list */ section. Make sure to place it inside the preprocessor #if block.

    ...
    
    /* Panasonic PAN9028 mSD-U Adapter */
    #elif defined(WIFI_88W8987_BOARD_PAN9028_SDIO)
    #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h"
    #define SD8987
    #define SDMMCHOST_OPERATION_VOLTAGE_3V3
    #define SD_TIMING_MAX kSD_TimingSDR50Mode
    #define WIFI_BT_USE_USD_INTERFACE
    #define WLAN_ED_MAC_CTRL                                                               \
        {                                                                                  \
            .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \
        }
    
    ...
    

  2. Change the selected board to WIFI_88W8987_BOARD_PAN9028_SDIO.

    /* @TEST_ANCHOR */
    #define WIFI_88W8987_BOARD_PAN9028_SDIO
    /* @END_TEST_ANCHOR */
    
    You can now compile the project. See CLI Demo Application.

CLI Demo Application๐Ÿ”—

The Wi-Fi CLI demo application showcases the configuration and basic operation of the station and access point interfaces via a simple command line interface.

The following requirements must be met:

To compile the Wi-Fi CLI demo application and program the system execute the following steps.

  1. Insert the PAN9028 mSD-U adapter into the micro SD card slot 2.

  2. Connect the USB debug port 5 to your computer.

  3. Insert the power supply cable into the 5 V DC power input jack 3 and power up the i.MX RT1170 Evaluation Kit using the power switch 4.

  4. In the MCUXpresso IDE click on the debug symbol 1.

    The MCUXpresso IDE compiles the source code into an executable and programs it into the i.MX RT1170 Evaluation Kit.

  5. In case the Probes discovered dialog opens up confirm it by clicking OK1.

  6. Once the application is ready to run the MCUXpresso IDE stops at a breakpoint at the first line of the main function. Click on the resume symbol 1 to start the application.

    The application starts running.

  7. Connect to the serial interface using a terminal application with a baudrate of 115200 baud and no flow control. You have to terminate all command strings with a <CR><LF>.

    You can control the application using the command line interface.

  8. Enter help to list all available commands. For more detailed information on the individual commands enter the command without any parameters.

Note

Please note that the command line interface only works in combination with an interactive terminal application.

Using a non-interactive terminal application can result in commands not being interpreted correctly.

Terminal Application

If you do not have any interactive terminal application yet, you can try PuTTY.

Station

When connecting the PAN9028 to an access point the module will act as a so-called Wi-Fi station.

To connect the station interface to a Wi-Fi network execute the following steps.

  1. Enter the following command to scan for available Wi-Fi networks that are in range.

    # wlan-scan
    

  2. Add a new profile for the network that you want to connect to by entering the following command. You can freely choose the profile_name.

    # wlan-add <profile_name> ssid <ssid> wpa2 <password>
    

  3. Enter the following command and specify the previously added profile to establish the connection.

    # wlan-connect <profile_name>
    
    The system attempts to connect to the specified Wi-Fi network.

Access Point

To configure and start up a Wi-Fi access point execute the following steps.

  1. Add a profile with the desired parameters for your access point by entering the following command. You can freely choose the profile_name.

    # wlan-add <profile_name> ssid <ssid> ip:<ip_address>,<gateway>,<netmask> \
          role uap channel <channel_number> wpa2 <password>
    

  2. Enter the following command with the previously added profile to bring up the access point.

    # wlan-start-network <profile_name>
    
    The access point starts up. Devices that connect to it are assigned an IP address using DHCP.

Note

For further information please refer to the user manual UM11442 - NXP Wi-Fi and Bluetooth Demo Applications User Guide for i.MX RT Platforms.

This document is included in the MCUXpresso SDK zip-archive in the wireless directory.

Bluetooth Operation๐Ÿ”—

Adjusting the Adapter Configuration๐Ÿ”—

If you want to compile the Bluetooth example applications for the PAN9028 mSD-U adapter you have to modify some board definitions and make an adjustment to the UART configuration.

This section explains these changes using the example of the Bluetooth shell demo application (edgefast_bluetooth_shell) which is described in more detail in Shell Demo Application.

The following requirements must be met:

To add the PAN9028 mSD-U adapter to the example project execute the following steps.

  1. In source/bt_module_config.h change the WIFI_88W8987_BOARD_MURATA_1ZM_USD definition block in the /* Wi-Fi boards configuration list */ section to contain the following.

    ...
    
    #elif (defined(WIFI_88W8987_BOARD_MURATA_1ZM_USD))
    /* Panasonic PAN9028 mSD-U Adapter */
    #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h"
    #define SD8987
    #define SDMMCHOST_OPERATION_VOLTAGE_3V3
    #define SD_TIMING_MAX kSD_TimingSDR50Mode
    #define WIFI_BT_USE_USD_INTERFACE
    #define WLAN_ED_MAC_CTRL                                                               \
        {                                                                                  \
            .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \
        }
    
    ...
    

  2. In source/app_config.h change the selected board to WIFI_88W8987_BOARD_MURATA_1ZM_USD.

    /* @TEST_ANCHOR */
    #define WIFI_88W8987_BOARD_MURATA_1ZM_USD
    /* @END_TEST_ANCHOR */
    

  3. Locate the controller_hci_uart_get_configuration function in source/main.c that is included by the preprocessor. Set config->defaultBaudrate to 3 Mbaud instead of 115200 baud. It should look as follows.

    ...
    
    #elif defined(WIFI_88W8987_BOARD_MURATA_1ZM_USD) || defined(WIFI_IW416_BOARD_MURATA_1XK_USD)
    int controller_hci_uart_get_configuration(controller_hci_uart_config_t *config)
    {
        ...
    
        config->defaultBaudrate  = 3000000u;
    
        ...
    }
    
    ...
    
    You can now compile the project. See Shell Demo Application.

Connecting the UART Interface๐Ÿ”—

The following requirements must be met:

To run the Bluetooth demo applications from the MCUXpresso SDK you have to connect the UART host interface to the Arduino pin header 1 of the i.MX RT1170 Evaluation Kit using jumper cables.

Please refer to the following diagram for the connections that you need to establish.

Bluetooth Host Interface Connections

You need to connect the following pins.

PAN9028 mSD-U adapter
UART Pin Header
MIMXRT1170-EVK
Arduino pin header 1
TX J25 pin 13
RX J25 pin 15
CTS J25 pin 9
RTS J25 pin 11
GND J26 pin 1

Shell Demo Application๐Ÿ”—

The Bluetooth shell demo application showcases the operation of Bluetooth Low Energy and BR/EDR functionality via a simple command line interface.

The following requirements must be met:

To compile the Bluetooth shell demo application and program the system execute the following steps.

  1. Insert the PAN9028 mSD-U adapter into the micro SD card slot 2.

  2. Make sure the UART host interface is connected correctly to the Arduino pin header 1 of the i.MX RT1170 Evaluation Kit.

  3. Connect the USB debug port 5 to your computer.

  4. Insert the power supply cable into the 5 V DC power input jack 3 and power up the i.MX RT1170 Evaluation Kit using the power switch 4.

  5. In the MCUXpresso IDE click on the debug symbol 1.

    The MCUXpresso IDE compiles the source code into an executable and programs it into the i.MX RT1170 Evaluation Kit.

  6. In case the Probes discovered dialog opens up confirm it by clicking OK1.

  7. Once the application is ready to run the MCUXpresso IDE stops at a breakpoint at the first line of the main function. Click on the resume symbol 1 to start the application.

    The application starts executing.

  8. Connect to the serial interface using a terminal application with a baudrate of 115200 baud and no flow control. You have to terminate all command strings with a <CR><LF>.

    You can control the application using the command line interface.

  9. Enter the following command to download the firmware to the PAN9028 and initialize the UART host command interface.

    @bt> bt.init
    
    The system is ready for operation.

  10. Enter help to list all available commands.

Terminal Application

If you do not have any terminal application yet, you can try PuTTY.

Scan for Bluetooth Devices

To scan for other Bluetooth devices in range execute the following steps.

  1. Enter the following command to start the scan.

    @bt> bt.scan on
    
    The scan results are printed continuously until the scan is stopped.

  2. Enter the following command to stop the scan.

    @bt> bt.scan off
    

GATT Service Discovery

To connect to a device and run a GATT service discovery execute the following steps.

  1. Enter the following command to connect to a device.
    In case the device uses a random device address use random instead of public.

    @bt> bt.connect <device_address> public
    

  2. Enter the following command to run the GATT service discovery.

    @bt> gatt.discovery
    
    The discovery result is printed.

  3. Enter the following command to disconnect.

    @bt> bt.disconnect
    

Note

For further information please refer to the user manual UM11442 - NXP Wi-Fi and Bluetooth Demo Applications User Guide for i.MX RT Platforms.

This document is included in the MCUXpresso SDK zip-archive in the wireless directory.