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.
-
Go to the MCUXpresso SDK Builder website.
-
Click Select Development Board.
-
The website prompts you to login. Login using your account credentials for the NXP Homepage.
-
Under Select a Board, Kit, or Processor > Boards > i.MX select the MIMXRT1170-EVK (MIMXRT1176xxxxx)1.
-
Select the desired version 1 and click Build MCUXpresso SDK 2.
The MCUXpresso SDK Builder forwards you to the software selection table.
-
Select FreeRTOS 1, NXP Wi-Fi 2 and Wireless edgefast_bluetooth stack 3 checkboxes.
All necessary software dependencies get selected automatically.
-
Click on Download SDK.
The MCUXpresso SDK Builder generates the MCUXpresso SDK.
-
Once the MCUXpresso SDK Builder is done generating the MCUXpresso SDK click on Download SDK 1.
-
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:
-
You have installed the MCUXpresso IDE as described in the MCUXpresso IDE Installation Guide.
-
You have downloaded the MCUXpresso SDK as described in Download the SDK.
To import the MCUXpresso SDK in the MCUXpresso IDE execute the following instructions.
-
Open the MCUXpresso IDE.
-
Drag-and-drop the
SDK_X_XX_X_MIMXRT1170-EVK.zip
archive into the Installed SDKs window 1.The SDK Import dialog opens.
-
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:
-
You have downloaded the MCUXpresso SDK as described in Download the SDK.
-
You have installed the MCUXpresso IDE as described in the MCUXpresso IDE Installation Guide.
-
You have imported the MCUXpresso SDK in the MCUXpresso IDE as described in Import the SDK.
To import an example application from the MCUXpresso SDK execute the following steps.
-
In the Quickstart Panel click on Import SDK example(s)... 1.
The SDK Import Wizard window opens.
-
Select the evkmimxrt1170 SDK 1 and click on Next 2.
-
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:
-
You have downloaded the MCUXpresso SDK as described in Download the SDK.
-
You have installed the MCUXpresso IDE as described in the MCUXpresso IDE Installation Guide.
-
You have imported the MCUXpresso SDK in the MCUXpresso IDE as described in Import the SDK.
-
You have imported the
wifi_cli_cm7
example project from the MCUXpresso SDK in the MCUXpresso IDE as described in Import Example Applications.
To add the board definitions for the PAN9028 mSD-U adapter execute the following steps.
-
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 \ } ...
-
Change the selected board to
WIFI_88W8987_BOARD_PAN9028_SDIO
.You can now compile the project. See CLI Demo Application./* @TEST_ANCHOR */ #define WIFI_88W8987_BOARD_PAN9028_SDIO /* @END_TEST_ANCHOR */
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:
-
You have downloaded the MCUXpresso SDK as described in Download the SDK.
-
You have installed the MCUXpresso IDE as described in the MCUXpresso IDE Installation Guide.
-
You have imported the MCUXpresso SDK in the MCUXpresso IDE as described in Import the SDK.
-
You have imported the
wifi_cli_cm7
example project from the MCUXpresso SDK in the MCUXpresso IDE as described in Import Example Applications. -
You have added the adapter definition for the PAN9028 mSD-U adapter to the
wifi_cli_cm7
sources as described in Adding the Adapter Definition.
To compile the Wi-Fi CLI demo application and program the system execute the following steps.
-
Insert the PAN9028 mSD-U adapter into the micro SD card slot 2.
-
Connect the USB debug port 5 to your computer.
-
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.
-
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.
-
In case the Probes discovered dialog opens up confirm it by clicking OK1.
-
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.
-
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.
-
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.
-
Enter the following command to scan for available Wi-Fi networks that are in range.
# wlan-scan
-
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>
-
Enter the following command and specify the previously added profile to establish the connection.
The system attempts to connect to the specified Wi-Fi network.# wlan-connect <profile_name>
Access Point
To configure and start up a Wi-Fi access point execute the following steps.
-
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>
-
Enter the following command with the previously added profile to bring up the access point.
The access point starts up. Devices that connect to it are assigned an IP address using DHCP.# wlan-start-network <profile_name>
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:
-
You have downloaded the MCUXpresso SDK as described in Download the SDK.
-
You have installed the MCUXpresso IDE as described in the MCUXpresso IDE Installation Guide.
-
You have imported the MCUXpresso SDK in the MCUXpresso IDE as described in Import the SDK.
-
You have imported the
edgefast_bluetooth_shell
example project from the MCUXpresso SDK in the MCUXpresso IDE as described in Import Example Applications.
To add the PAN9028 mSD-U adapter to the example project execute the following steps.
-
In
source/bt_module_config.h
change theWIFI_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 \ } ...
-
In
source/app_config.h
change the selected board toWIFI_88W8987_BOARD_MURATA_1ZM_USD
./* @TEST_ANCHOR */ #define WIFI_88W8987_BOARD_MURATA_1ZM_USD /* @END_TEST_ANCHOR */
-
Locate the
controller_hci_uart_get_configuration
function insource/main.c
that is included by the preprocessor. Setconfig->defaultBaudrate
to 3 Mbaud instead of 115200 baud. It should look as follows.You can now compile the project. See Shell Demo Application.... #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; ... } ...
Connecting the UART Interface๐
The following requirements must be met:
- You have configured the Bluetooth host interface to be UART as described in Bluetooth Interface Configuration.
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.
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:
-
You have downloaded the MCUXpresso SDK as described in Download the SDK.
-
You have installed the MCUXpresso IDE as described in the MCUXpresso IDE Installation Guide.
-
You have imported the MCUXpresso SDK in the MCUXpresso IDE as described in Import the SDK.
-
You have imported the
edgefast_bluetooth_shell
example project from the MCUXpresso SDK in the MCUXpresso IDE as described in Import Example Applications. -
You have applied the necessary changes for the PAN9028 mSD-U adapter to the
edgefast_bluetooth_shell
sources as described in Adjusting the Adapter Configuration. -
You have connected the UART interface to the i.MX RT1170 Evaluation Kit as described in Connecting the UART Interface.
To compile the Bluetooth shell demo application and program the system execute the following steps.
-
Insert the PAN9028 mSD-U adapter into the micro SD card slot 2.
-
Make sure the UART host interface is connected correctly to the Arduino pin header 1 of the i.MX RT1170 Evaluation Kit.
-
Connect the USB debug port 5 to your computer.
-
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.
-
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.
-
In case the Probes discovered dialog opens up confirm it by clicking OK1.
-
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.
-
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.
-
Enter the following command to download the firmware to the PAN9028 and initialize the UART host command interface.
The system is ready for operation.@bt> bt.init
-
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.
-
Enter the following command to start the scan.
The scan results are printed continuously until the scan is stopped.@bt> bt.scan on
-
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.
-
Enter the following command to connect to a device.
In case the device uses a random device address userandom
instead ofpublic
.@bt> bt.connect <device_address> public
-
Enter the following command to run the GATT service discovery.
The discovery result is printed.@bt> gatt.discovery
-
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.