In today's project, we will learn about Bluetooth Low Energy's Direct Test Mode (DTM).

DTM is a standard mode in the Bluetooth Low Energy 4.1 specification (Vol 6, Part F) that allows testing of the radio's Physical Layer (PHY) by transmitting and receiving sequences of test packets. This is often used in compliance and production-line testing, without the need of going through the complete Bluetooth Low Energy Protocol Stack, i.e. it skips the Host Stack and talks directly to the radio in an isolated manner.

Another layer in the Bluetooth Low Energy specification is the Host Controller Interface (HCI) - a standard-defined interface to exchange data between the Bluetooth Low Energy Host Stack and the radio Controller. In PSoC 4 BLE, the underlying physical communication for the HCI protocol is UART. Through UART, the commands and responses are communicated between the PSoC 4 BLE and a commercial RF Tester. When the HCI mode is selected in the Bluetooth Low Energy Component, a UART Component in PSoC 4 BLE is reserved for this use. Once the Bluetooth Low Energy Component is configured for HCI mode, there is no further application code to be written to implement the DTM mode, except enabling global interrupts, starting the Bluetooth Low Energy Component, and processing Bluetooth Low Energy events. The proper response to commands from tester is handled by the Bluetooth Low Energy Stack as part of Bluetooth Low Energy Component.

Several commercial options are avaialble for RF Testers. In this example, we use the Rohde&Schwarz CBT Tester.

You can download this PSoC Creator project along with a detailed PDF of instructions, here from GitHub: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day018_Direct_Test_Mode