BLE2 click is an excellent choice if you want simple, temporary connectivity with your smart devices over Bluetooth 4.1.
BLE2 click features the RN4020 module from Microchip, that integrates RF, a baseband controller, and a command API processor, making it a complete Bluetooth Low Energy solution. The click communicates with the target board MCU through mikroBUS™ RX, TX and AN (CMD), PWM (con.), and RST (wake) lines. The board is designed to use 3.3V power supply only.
The RN4020 has Microchip’s Low-energy Data Profile (MLDP) which enables an asynchronous serial data connection between two RN4020 devices (which could be two BLE2 clicks). The module can be remotely controlled or updated over-the-air by another module over a secure connection or can be controlled or updated through its UART interface.
The RN4020 module aboard BLE2 click incorporates a PCB antenna with a range of at least 30m.
Bluetooth 4.1 is intended for IoT, it has low power consumption and lets any device be a peripheral and a hub at the same time.
Type | Bluetooth,BLE |
Applications | Bluetooth Low Energy is becoming a pervasive standard for IoT applications in any number of domains (home automation, fitness, health and so on). Because of MLDP support, BLE2 click works great in pairs |
On-board modules | MicroChip RN4020 |
Key Features | N4020 Bluetooth 4.1 module. PCB antenna. Integrated TCP/IP stack |
Key Benefits | MLDP support makes it easy to connect a pair of BLE2 clicks. Can be setup both as a client or a server |
Interface | UART,GPIO |
Input Voltage | 3.3V |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
This table shows how the pinout on BLE2 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
The code sets up the BLE2 click board, and sends messages through Bluetooth low energy every 5 seconds. If the BLE2 click board receives messages over Bluetooth low energy, the code displays the message and updates the buffer.
01 void main() { 02 Display_Init(); 03 MCU_Init(); 04 #ifdef INIT_BLE 05 BLE_Init(); 06 delay_ms(2000); 07 #else 08 RN_WAKE = 1; 09 wait_response("CMD"); 10 #endif 11 DrawFrame(); 12 InitTimer2(); 13 while(1) 14 { 15 if(data_ready) 16 { 17 //If characteristic is configured as write 18 //received messages come here 19 Display_Message(); 20 reset_buff(); 21 } 22 else 23 { 24 //Test: every 5sec increase baterry level (0 to 100%) 25 //and send value via Bluetooth Low Energy 26 if (tmr_flg) 27 { 28 batt_level++; 29 if(batt_level > 100) 30 { 31 batt_level = 0; 32 } 33 Display_BatteryLevel(); 34 if(RN_CONN) 35 { //send battery level value if BLE connected 36 shorttohex(batt_level, batt_level_txt); 37 ltrim(batt_level_txt); 38 ble2_write_server_characteristic_value_via_UUID("2A19",batt_level_txt); 39 } 40 tmr_flg = 0; 41 } 42 } 43 } 44 }