- Order number: MIKROE-2545
- Manufacturer product ID: MIKROE-2545
RN4678 click carries the RN4678 Bluetooth® 4.2 dual mode module from Microchip. The click is designed to run on a 3.3V power supply. It communicates with the target microcontroller over I2C and UART interface, with additional functionality provided by the following pins on the mikroBUS™ line: AN, RST, CS, PWM, INT.
RN4678 module features
The RN4678 from Microchip is a fully certified, Bluetooth version 4.2 module. Use it to add Bluetooth wireless capability to your project.
The module includes an on-board Bluetooth stack, power management subsystem, 2.4 GHz transceiver, and RF power amplifier.
Data transfer is achieved through the Bluetooth link by sending or receiving data through SPP in Bluetooth (BT) Classic mode and through Transparent UART in the BLE mode.
The RN4678 contains an integral ceramic chip antenna.
Strong encryption
The RN4678 module has strong AES128 Encryption. A 128-bit encryption is one of the most powerfull encryption algorithms. AES stands for Advanced Encryption Standard and it is a symmetric encryption algorithm.
Specifications
Type | Bluetooth,BLE |
Applications | Internet of Things (IoT), secure payment, home and security, health and fitness, industrial and data logger, LED lighting, etc. |
On-board modules | RN4678 module from Microchip |
Key Features | Frequency: 2.402 GHz to 2.480 GHz, RX Sensitivity: -90 dBm (BR/EDR), -92 dBm (LE), Bluetooth SIG 4.2 Qualified |
Interface | UART,GPIO,I2C |
Input Voltage | 3.3V |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on RN4678 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Jumpers and Settings
Designator | Name | Default Position | Default Option | Description |
---|---|---|---|---|
JP1 | P2_0 | Left | Low | System configuration pin - Along with P2_4 and EAN pins, used to set the module in any of the following three modes: Application mode (for normal operation), Test mode (to change EEPROM values), and Write Flash mode (to enter the new firmware into the module); |
JP2 | P2_4 | Left | Low | System configuration pin - Along with P2_0 and EAN pins, used to set the module in any of the following three modes: Application mode (for normal operation), Test mode (to change EEPROM values), and Write Flash mode (to enter new firmware into the module); |
JP3 | EAN | Right | High | External address-bus negative pin. System configuration pin along with P2_0 and P2_4 pins, used to set the module in any of the following three modes: Application mode (for normal operation), Test mode (to change EEPROM values), and Write Flash mode (to enter new firmware into the module); |
Programming
Code examples for RN4678 click, written for MikroElektronika hardware and compilers are available on Libstock.
Code snippet
The following code snippet shows the main function of the master example, which initializes the System as a master device in the network, and then enters a loop. While in the loop, the system will connect to a remote click upon a button click, listen for received data, and output it when it is recieved.
01 void main() 02 { 03 systemInit(); 04 05 OUTPUT ("rnINITIALIZED"); 06 OUTPUT ("rnPress button A4 or A0 to connect to corresponding sensors"); 07 /* 08 * Main loop. Listens for requests. 09 */ 10 while (1) 11 { 12 /*Checks if there is sentence to be parsed, and sends it for parsing*/ 13 RN4xxx_read (); 14 /*If parsed sentence was a correct response, will print out response*/ 15 if (checkRes ()) 16 { 17 OUTPUT ("rnReceived data: "); 18 OUTPUT (msgData.payload); 19 /*After printing, response has to be cleared*/ 20 msgClear (); 21 } 22 23 /*If button RN4xxx_CON1_PIN is pressed, will connect to sensor 1*/ 24 if (RN4xxx_CON1_PIN) 25 { 26 OUTPUT ("rnConnecting to thermo k sensor..."); 27 sendReq (RN4xxx_ID_SENSOR1, RN4xxx_ADDR_SENSOR1); 28 } 29 /*If button RN4xxx_CON2_PIN is pressed, will connect to sensor 2*/ 30 if (RN4xxx_CON2_PIN) 31 { 32 OUTPUT ("rnConnecting to earthquake sensor..."); 33 sendReq (RN4xxx_ID_SENSOR2, RN4xxx_ADDR_SENSOR2); 34 } 35 36 Delay_ms (1); 37 } 38 39 }