Getting Started with the QN9090-DK Development Board

Last Modified: 2022-11-16 14:33:12Supports QN9090DK

1. Plug It In

Let's take your QN9090 board for a test drive, you have the choice of watching the sequence in a short video or following the detailed actions list below.

1.1 Get Started With QN9090 Development Platform - How To

1.2 Attach the USB Cable

QN9090 Getting started - USB Section

QN9090 Getting started - USB Section

1.3 Run the Out-of-Box Demo

Your QN9090 board comes loaded with a demo that will repeatedly flash an LED when you connect the board.

QN9090 Getting started - RUN Section

QN9090 Getting started - RUN Section

2. Get Software

2.1 Download MCUXpresso SDK with Connectivity Software

Want to learn about SDK?

MCUXpresso SDK for the QN9090 integrates the MCUXpresso Software Development Kit with all the wireless connectivity stacks required to develop your solution with Bluetooth Low Energy.

Click below to download a pre-configured SDK release for the QN9090 that includes the wireless connectivity Bluetooth Low Energy stack for the QN9090.

MCUXPRESSO-SDK-TN

Get MCUXpresso SDK

2.2 Install Your Toolchain

NXP offers a complimentary toolchain called MCUXpresso IDE.

MCUXpresso IDE

Get MCUXpresso IDE

Want to use a different toolchain?

No problem The MCUXpresso SDK includes support for other tools such as IAR .

IAR

2.3 MCUXpresso Config Tools

The MCUXpresso Config Tool is an integrated suite of configuration tools that guides users in creating new MCUXpresso SDK projects, and also provides pin and clock tools to generate initialization C code for custom board support. This tool is integrated into MCUXpresso IDE, but if you are using a different IDE, you can download this tool below.

MCUXpresso Config Tools

Get MCUXpresso Config Tools

2.4 QN9090 Drivers

Drivers for the debugger and virtual COM port also need to be installed. Ensure the QN9080DK board is connected to your computer, and then go to the drivers folder in the MCUXpresso IDE install directory (C:\NXP\MCUXpressoIDE_11.1.0_3209\Drivers by default) double click on lpc_driver_installer.exe to install the drivers. Alternatively they are part of the LPCScrypt package, which can be download below.

Download Driver

2.5 Terminal Configuration

Configure your preferred terminal to 115200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the QN9090’s virtual COM port, open the device manager and look under the "Ports" group.

Not sure how to use a terminal application? Try one of these tutorials: Tera Term Tutorial, PuTTY Tutorial.

2.6 Install Python 3.8

The QN9090 bootloader requires an image signature to verify the validity of a binary image. The image signing tool requires a Python install to exist on the PC. Download and the latest install Python 3.8 and add it to your system path. Then in a terminal window enter pip install pycryptodome to install the library.

Download Python 3.8

3. Build, Run

The QN9090 Wireless Connectivity Stack comes with a list of demo applications and driver examples ready to be compiled and run.

3.1 Explore the Connectivity Example Codes

The QN9090 Wireless Connectivity Software package comes with a long list of BLE examples. To see what's available, browse to the 'wireless_examples' folder (\boards\QN9090cdk\wireless_examples\bluetooth).

If you are interested in running the preprogrammed example that comes with your board:

3.2 Download the BLE Toolbox for Your Smartphone

In order to use the Bluetooth Low Energy examples, the NXP IoT Toolbox needs to be installed on a smartphone. This application provides several examples that can be used in conjunction with the connectivity stack to connect your phone to the development board over BLE.

appstore01 android-bt_02228a16d60db

3.3 Build, Run and Debug Wireless Connectivity Examples

You probably want to build and debug a demo by yourself. Use the guide below to learn how to build and debug an example application from the Wireless Connectivity Stacks in the MCUXpresso IDE or IAR Embedded Workbench IDE.

Tera Term Tutorial

Tera Term Tutorial

Tera Term is a very popular open source terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.

  1. Download Tera Term from SourceForge. After the download, run the installer and then return to this webpage to continue
  2. Download

  3. Launch Tera Term. The first time it launches, it will show you the following dialog. Select the serial option. Assuming your board is plugged in, there should be a COM port automatically populated in the list
  4. Tera-Term-Connection
  5. Configure the serial port settings (using the COM port number identified earlier) to 115200 baud rate, 8 data bits, no parity and 1 stop bit. To do this, go to Setup → Serial Port and change the settings
  6. Verify that the connection is open. If connected, Tera Term will show something like below in it's title bar
  7. Tera-Term-Console
  8. You're ready to go

PuTTY Tutorial

PuTTY Tutorial

PuTTY is a popular terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.

  1. Download PuTTY using the button below. After the download, run the installer and then return to this webpage to continue
  2. Download

  3. Launch PuTTY by either double clicking on the *.exe file you downloaded or from the Start menu, depending on the type of download you selected
  4. Configure In the window that launches, select the Serial radio button and enter the COM port number that you determined earlier. Also enter the baud rate, in this case 115200
  5. PUTTY-Configuration
  6. Click Open to open the serial connection. Assuming the board is connected and you entered the correct COM port, the terminal window will open. If the configuration is not correct, PuTTY will alert you
  7. You're ready to go

Security and Integrity

Documents and Videos Description
AN12928 Bluetooth Low Energy Privacy and NXP QN9090 Discusses the means that allow Bluetooth LE devices to preserve the identity of their users and how this relates to NXP QN9090 features, limitations, and applications.
Democratizing the Establishment of Secure Connections Learn how NFC can be used along with the latest wireless MCUs to democratize secure connections.

SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for security are listed below.

AES Example

A demonstration program that uses the KSDK software to encrypt plain text and decrypt it back using the AES algorithm.

Path: <SDK_PATH>/boards/qn9090dk6/driver_examples/aes

SHA Example

A demonstration program that uses the KSDK software to generate SHA checksums.

Path: <SDK_PATH>/boards/qn9090dk6/driver_examples/sha/

Wired Communications

SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. A common example for wired communications is listed below.

Driver Examples

A number of driver examples exist within the SDK including I²C, SPI and USART.

Path: <SDK_PATH>/boards/qn9090dk6/driver examples

Wireless Connectivity

Documents and Videos Description
AN2731 Compact Planar Antennas for 2.4 GHz Communication Features Provides the basic insight on board layout and antenna design to improve the customer first pass success.
AN12610 QN9090 RF System Evaluation Report for BLE Applications Provides RF evaluation test results of the QN9090 for BLE applications (2FSK modulation). It includes the test setup description and the tools used to perform the tests on your own.
AN12928 Bluetooth Low Energy Privacy and NXP QN9090 Discusses the means that allow Bluetooth LE devices to preserve the identity of their users and how this relates to NXP QN9090 features, limitations, and applications.
AN1252 High Power Support The QN9090 / QN9030 feature an integrated radio, which can be used with an external Front End. This application note is concerned with setting up the device for hardware designs that uses a FEM (FrontEnd module).
QN9090 Radio Certification Documents Find certificate of declaration of conformity for the QN9090 as well as more on building a PCB right the first time.
Robust RF Designs for NXP’s K32W/QN Wireless MCUs with CEL Modules The session will describe the features and performance of the NXP solution, show how combining NXP’s K32Wx/QN90x with CEL’s optimized wireless performance delivers a variety of key benefits.
Bluetooth Low Energy Application Developer’s Guide How to integrate the Bluetooth Low Energy Host Stack in an application and provides detailed explanation of the most used APIs and code examples.
Path: <SDK_PATH>/docs/wireless/Bluetooth
Bluetooth Low Energy Demo Applications User’s Guide Describes the Bluetooth® Low Energy stack enablement for the NXP development platforms.
Path: <SDK_PATH>/docs/wireless/Bluetooth
Bluetooth Low Energy Host Stack FSCI Reference Manual Provides a detailed description of the Bluetooth Low Energy Host Stack serial commands, communication packet structure, and usage of the Framework Serial Communication Interface (FSCI).
Path: <SDK_PATH>/docs/wireless/Bluetooth
Bluetooth Low Energy Host Stack API Reference Manual Presents all APIs, information and definitions relative to BLE configuration constants, Generic Access Profile (GAP), Generic Attribute Profile (GATT) and L2CAP procedures.
Path: <SDK_PATH>/docs/wireless/Bluetooth
Connectivity Framework Reference Manual An introduction to the Connectivity Framework software used to ensure portability across the ARM®-based MCU portfolio. Definitions and examples of framework services are included.
Path: <SDK_PATH>/docs/wireless/Common
Kinetis FSCI Host Application Programming Provides a detailed description for the Kinetis Wireless Host API implementing the Framework Serial Connectivity Interface (FSCI) on a peripheral port such as UART, USB or SPI.
Path: <SDK_PATH>/docs/wireless/Common

SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for wireless connectivity are listed below.

Bluetooth Examples

The QN9090 SDK comes with a long list of BLE examples.

Path: <SDK_PATH>/boards/qn9090dk6/wireless_examples/bluetooth

NFC Examples

Examples show how to use the NTAG component in the context of a wireless application and how to transfer NFC data through the NTAG SRAM.

Path: <SDK_PATH>/boards/qn9090dk6/wireless_examples/framework/nfc

Tools and References

QN9090(T) / QN9030(T) Bluetooth Low Energy Certification Tool User's Guide -Certification is mandatory for these kinds of RF product according to the regulatory of each region. The test is FCC/CE certification in US and EU areas. There are similar certification requirements in other areas.

Connectivity QTool -Connectivity QTool is a BLE PC Tools. It helps the developers to evaluate NXP's BLE devices. lt mainly includes following features: Advertising, Scanning and Connecting, Security Manager profile and other profiles such as DIS, OTAP, QPP and Wireless-UART.

Connectivity Tool Suite - Connectivity tools are a collection of applications that communicate with the NXP development boards via a serial interface. They help in the development and testing process of either 802.15.4 MAC, Simple MAC (SMAC), Thread, Bluetooth® Low Energy or Zigbee 3.0 based applications.

Power Managment

Documents and Videos Description
AN12902 QN9090/QN9030 Power Consumption Analysis Provides information about the power consumption of QN9090 wireless MCU, how the hardware is designed and optimized for low-power operation, and how the software is configured to achieve the best low-power profile

SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. A common example for power management is listed below.

Power Down Demo

Allows each of the various low power modes to be selected using a simple user interface via the serial port.

Path: <SDK_PATH>/boards/qn9090dk6/driver_examples/power_api

Device Management and Secure OTA

SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. A common example for device management and secure OTA is listed below.

Secondary Stage Bootloader (SSBL) Example

Determines if an OTA has occurred. It also determines if an application (image) is valid and whether to load a particular application or not.

Path: <SDK_PATH>/qn9090dk6/wireless_examples/ssbl

Support

Trainings

Communities

Connect with other engineers and get expert advice on designing with the QN9090 on one of our community sites.