RN4871 Click Board
RN4871 Click Board
The RN4871 Click Board™ carries the RN4871 Bluetooth® 4.2 low energy module from Microchip.
The Click Board™ 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: RST, CS, and INT.
RN4871 MODULE FEATURES
The RN4871 Bluetooth Low Energy module integrate Bluetooth 4.2 baseband controller, on-board Bluetooth stack, digital and analog I/O, and RF power amplifier into one solution.
The module contains an integral ceramic chip antenna.
All products in the RN series can be dynamically configured by the host microcontroller with a few simple ASCII commands.
The RN4871 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.
RN4871 Click Board™ Features
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 | RN4871 Bluetooth module from Microchip |
Key Features | Low energy module |
Interface | GPIO,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 RN4871 Click Board™ 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 | NC | ||
Module Reset | RST_N | 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 | NC | ||
NC | 6 | MOSI | SDA | 11 | NC | ||
Power supply | +3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
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
Software Support
Code examples for the RN4871 Click Board™, written for MikroElektronika hardware and compilers are available on Libstock.
CODE SNIPPET
The following code snippet shows send function for RN4xxx Click Board™s. 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
Software Support
Code examples for the RN4871 Click Board™, written for MikroElektronika hardware and compilers are available on Libstock.
CODE SNIPPET
The following code snippet shows send function for RN4xxx Click Board™s. 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 }
RN4871 Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.