RN4871 click
RN4871 click

Description of product

RN4871 click carries the RN4871 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: 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 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 features

Specifications

TypeBluetooth,BLE
ApplicationsHealth/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 modulesRN4871 Bluetooth module from Microchip
Key FeaturesLow energy module
InterfaceUART,GPIO
Input Voltage3.3V
CompatibilitymikroBUS
Click board sizeM (42.9 x 25.4 mm)

Pinout diagram

This table shows how the pinout on RN4871 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

NotesPinMikrobus logo.pngPinNotes
NC1ANPWM16NC
Module ResetRST_N2RSTINT15UART_CTSUART Clear To Send
UART Ready To SendUART_RTS3CSTX14UART_TXDUART Data output
NC4SCKRX13UART_RXDUART Data input
NC5MISOSCL12NC
NC6MOSISDA11NC
Power supply+3.3V73.3V5V10NC
GroundGND8GNDGND9GNDGround

Maximum ratings

DescriptionMinTypMaxUnit
Supply Voltage1.93.6V
Frequency Band2.4022.480GHz
Operating Temperature Range-20°C+70°C
Sensitivity90dBm

Programming

Code examples for RN4871 click, written for MikroElektronika hardware and compilers are available on Libstock.

Code snippet

The following code snippet shows send function for RN4xxx clicks. If the message type is correct, it will estabilish connection with the device specified by the address in the parameter and then send the properly formated 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 }

Downloads