Carte à clic RN4870
Carte à clic RN4870
Overview
Le RN4870 Click Board™ porte le module basse consommation Bluetooth® 4.2 RN4870 de Microchip.
Le Click est conçu pour fonctionner sur une alimentation de 3,3 V. Il utilise l'interface de commande ASCII sur UART pour la communication avec le microcontrôleur cible, avec des fonctionnalités supplémentaires fournies par les broches suivantes sur la ligne mikroBUS™ : PWM, INT, RST, CS.
The RN4870 Click Board™ is based on the RN4870 Bluetooth® 4.2 low energy module from Microchip. The click is designed to run on a 3.3V power supply. It uses ASCII Command Interface over UART for communication with target microcontroller, with additional functionality provided by the following pins on the mikroBUS™ line: PWM, INT, RST, CS.
RN4870 Module Features
The RN4080 module from Microchip provides a complete solution to implement Bluetooth 4.2 Low Energy connectivity.
All products in the RN series can be dynamically configured by the host microcontroller with a few simple ASCII commands.
The RN4870 Click Board™ supports both peripheral and central Generic Access Profile (GAP) roles, actively scanning for other connectable devices instead of waiting for incoming connection requests. The peripherals are usually small, low power devices like sensors and monitors, that broadcast information to the central device. The central device can communicate with multiple peripherals.
It also supports Remote Command mode which allows a remote device to access Command mode remotely via Bluetooth link.
The module contains an integral ceramic chip antenna.
Specifications
Type | BT/BLE |
Applications | Health/Medical Devices, Sports Activity/Fitness Meters, Beacon Applications, Internet of Things (IoT) Sensor Tag, Remote Control, Wearable Smart Devices and Accessories, Smart Energy/Smart Home, Industrial Control |
On-board modules | RN4870 BLE 4.2 low energy module |
Key Features | ASCII Command Interface API over UART, ISM Band 2.402 to 2.480 GHz Operation, Secure AES128 Encryption |
Interface | GPIO,PWM,UART |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Input Voltage | 3.3V |
Pinout diagram
This table shows how the pinout on RN4870 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | PWM | PWM1 | |
Module Reset | RST | 2 | RST | INT | 15 | UART_CTS | UART Clear To Send |
UART Ready To Send | UART_RTS | 3 | CS | TX | 14 | UART_TXD | UART Data output |
NC | 4 | SCK | RX | 13 | UART_RXD | UART Data input | |
NC | 5 | MISO | SCL | 12 | GPIO1 | GPIO | |
NC | 6 | MOSI | SDA | 11 | GPIO2 | GPIO | |
Power supply | +3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
Additional pins
Name | I/O | Description |
---|---|---|
RX_I | I | UART RX Indication pin |
RSSI | I/O | Indicate the quality of the link based on the RSSI level. |
PAIR | I | Use this pin to force the module to enter Standby mode. |
LINK | I | Use this pin to force the module to drop the current BLE link with a peer device. |
Buttons and LEDs
Designator | Name | Type | Description |
---|---|---|---|
LD1 | PWR | LED | Power indicator LED |
LD2 | ON/OFF | LED | Provides indication whether the module is in ON/OFF mode |
Maximum ratings
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 1.9 | 3.6 | V | |
Frequency Band | 2.402 | 2.480 | GHz | |
Operating Temperature Range | -20°C | +70°C | ||
Sensitivity | 90dBm |
Software Support
Code examples for the RN4870 Click Board™, written for MikroElektronika hardware and compilers are available on Libstock.
Code Snippet
The following code snippet shows send function for the RN4870 Click Board™. If the message type is correct, it will establish connection with the device specified by the address in the parameter and then send the properly formatted data.
01 #define BTCMD( TXT ) UART2_Write_Text( TXT ) 02 void RN4xxx_send(char *pAddr, T_RN4xxx_message msgData ) 03 { 04 static char msgTxt [255]; 05 06 if (msgData.msgType == 'Q') 07 { 08 /*Connects to a device with specified adress*/ 09 BTCMD("C,1,"); 10 BTCMD (pAddr); 11 BTCMD("r"); 12 Delay_ms(3000); 13 /*Secures the connection, entering data stream mode*/ 14 BTCMD("Br"); 15 Delay_ms(3000); 16 } 17 /*Sentence construction */ 18 msgTxt[0] = '#'; 19 msgTxt[1] = msgData.msgType; 20 msgTxt[2] = ','; 21 msgTxt[3] = msgData.dataType/0x100; 22 msgTxt[4] = msgData.dataType%0x100; 23 msgTxt[5] = ','; 24 msgTxt[6] = msgData.id; 25 msgTxt[7] = ','; 26 msgTxt[8] = ''; 27 strcat (msgTxt, msgData.payload); 28 strcat (msgTxt, "*rn"); 29 30 BTCMD ( msgTxt ); 31 32 if (msgData.msgType == 'Q') 33 { 34 Delay_ms(3000); 35 /*Enters CMD mode*/ 36 BTCMD("$"); 37 Delay_ms(100); 38 BTCMD("$$$"); 39 Delay_ms(1000); 40 /*Kills connection*/ 41 BTCMD("K,1r"); 42 Delay_ms(500); 43 } 44 }
Software Support
Code examples for the RN4870 Click Board™, written for MikroElektronika hardware and compilers are available on Libstock.
Code Snippet
The following code snippet shows send function for the RN4870 Click Board™. If the message type is correct, it will establish connection with the device specified by the address in the parameter and then send the properly formatted data.
01 #define BTCMD( TXT ) UART2_Write_Text( TXT ) 02 void RN4xxx_send(char *pAddr, T_RN4xxx_message msgData ) 03 { 04 static char msgTxt [255]; 05 06 if (msgData.msgType == 'Q') 07 { 08 /*Connects to a device with specified adress*/ 09 BTCMD("C,1,"); 10 BTCMD (pAddr); 11 BTCMD("r"); 12 Delay_ms(3000); 13 /*Secures the connection, entering data stream mode*/ 14 BTCMD("Br"); 15 Delay_ms(3000); 16 } 17 /*Sentence construction */ 18 msgTxt[0] = '#'; 19 msgTxt[1] = msgData.msgType; 20 msgTxt[2] = ','; 21 msgTxt[3] = msgData.dataType/0x100; 22 msgTxt[4] = msgData.dataType%0x100; 23 msgTxt[5] = ','; 24 msgTxt[6] = msgData.id; 25 msgTxt[7] = ','; 26 msgTxt[8] = ''; 27 strcat (msgTxt, msgData.payload); 28 strcat (msgTxt, "*rn"); 29 30 BTCMD ( msgTxt ); 31 32 if (msgData.msgType == 'Q') 33 { 34 Delay_ms(3000); 35 /*Enters CMD mode*/ 36 BTCMD("$"); 37 Delay_ms(100); 38 BTCMD("$$$"); 39 Delay_ms(1000); 40 /*Kills connection*/ 41 BTCMD("K,1r"); 42 Delay_ms(500); 43 } 44 }
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.