How does it work?
BT840 Click is based on the BT840, an ultra-low power Bluetooth Low Energy (BLE) module from Fanstel, designed to meet the demanding requirements of modern IoT applications. It integrates the nRF52840 QIAA SoC from Nordic Semiconductor, built around a powerful Cortex M4F MCU with 1MB of Flash memory and 256KB of RAM. This module also includes the ARM® TrustZone® Cryptocell-310 co-processor, ensuring robust, industry-grade security for sensitive data. It communicates with the host MCU via a standard UART interface, simplifying integration into existing systems for developing high-performance IoT systems with minimal power requirements.
The BT840 module is a complete RF solution featuring an embedded 2.4GHz multi-protocol transceiver and support for NFC functionality, making it suitable for a broad range of IoT use cases. Its integrated PCB trace antenna ensures reliable communication with a maximum TX power of +4.9dBm, enabling long-range performance. Depending on the data rate, it can achieve communication ranges of up to 150 meters at 1Mbps and 210 meters at 125kbps, offering exceptional flexibility for diverse applications. The BT840 Click is ideal for IoT devices requiring efficient and secure wireless communication and is designed to support ultra-low power consumption, long-range connectivity, and high throughput. Its advanced features, including the Cryptographic Accelerator, ensure secure and reliable data transmission, meeting the critical needs of industrial, commercial, and consumer IoT applications.
As mentioned, this Click board™ establishes communication with the host MCU via a UART interface, using the TX and RX pins for data exchange at a default baud rate of 115200bps. In addition to the UART interface, the board features dedicated control pins for enhanced functionality: the WUP pin is used to wake up the module by toggling its logic state, while the CMD pin enables command mode by setting it to a HIGH logic level.
The BT840 Click also includes an external NFC antenna u.Fl connector, enabling advanced Near Field Communication (NFC) capabilities. The module’s NFC block supports NFC-A tags, allowing proximity detection and Wake-on-field functionality from a low-power mode. This feature simplifies device pairing by enabling Out-Of-Band (OOB) Bluetooth pairing, streamlining deployment in IoT systems. Additionally, the board features an unpopulated 6-pin header for direct access to the module’s GPIO signals, offering flexibility for custom configurations and expanded functionality.
The board has four red LED indicators (LED1-LED4), which can be configured for user-specific applications, along with two buttons: a RST button for resetting the module and a general-purpose BTN button for additional functionality. SWDIO connection pins are available for debugging and development to achieve serial wire debugging. LP CUT traces are located on the back of the board to support low-power operation. By breaking these traces, power is disconnected from the LEDs and the ClickID section, significantly reducing power consumption and enabling efficient operation in energy-sensitive applications.
This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. It also comes equipped with a library containing functions and example code that can be used as a reference for further development.
Specifications
Type
BT/BLE
Applications
Ideal for IoT applications such as industrial monitoring, consumer electronics, and smart home devices
On-board modules
BT840 – ultra-low power Bluetooth Low Energy (BLE) module from Fanstel
Key Features
Bluetooth Low Energy (BLE) connectivity, module based on Nordic nRF52840 SoC, ARM® TrustZone® Cryptocell-310 co-processor, Embedded 2.4GHz multi-protocol transceiver, NFC support, UART interface, SWDIO debug pins, user-configurable LEDs, GPIO pins, and more
Interface
UART
Feature
ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on BT840 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
LD2-LD5 | LED1-LED4 | – | User-Configurable LED Indicator |
T1 | RST | – | Reset Button |
T2 | BTN | – | User-Configurable General-Purpose Button |
BT840 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Frequency | – | 2.4 | – | GHz |
Receiver Sensitivity | – | -96 | – | dBm |
Output Power | – | – | +4.9 | dBm |
BLE Data Rate | 125 | – | 2000 | kbps |
Software Support
BT840 Click demo application is developed using the NECTO Studio, ensuring compatibility with mikroSDK‘s open-source libraries and tools. Designed for plug-and-play implementation and testing, the demo is fully compatible with all development, starter, and mikromedia boards featuring a mikroBUS™ socket.
Example Description
This example demonstrates the use of BT840 Click board by processing data from a connected BT device.
Key Functions
bt840_cfg_setup
Config Object Initialization function.bt840_init
Initialization function.bt840_cmd_run
This function sends a specified command to the Click module.bt840_cmd_set
This function sets a value to a specified command of the Click module.bt840_cmd_get
This function is used to get the value of a given command from the Click module.
Application Init
Initializes the driver and logger.
Application Task
Application task is split in few stages:
- BT840_POWER_UP:
Powers up the device and reads the system information.
- BT840_CONFIG_EXAMPLE:
Sets the BT device name.
- BT840_EXAMPLE:
Performs a BT terminal example by processing all data from a connected BT device and sending back an adequate response messages.
Application Output
This Click board can be interfaced and monitored in two ways:
- Application Output – Use the “Application Output” window in Debug mode for real-time data monitoring. Set it up properly by following this tutorial.
- UART Terminal – Monitor data via the UART Terminal using a USB to UART converter. For detailed instructions, check out this tutorial.
Additional Notes and Information
The complete application code and a ready-to-use project are available through the NECTO Studio Package Manager for direct installation in the NECTO Studio. The application code can also be found on the MIKROE GitHub account.