RN4678 click

Description of product

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

TypeBluetooth,BLE
ApplicationsInternet of Things (IoT), secure payment, home and security, health and fitness, industrial and data logger, LED lighting, etc.
On-board modulesRN4678 module from Microchip
Key FeaturesFrequency: 2.402 GHz to 2.480 GHz, RX Sensitivity: -90 dBm (BR/EDR), -92 dBm (LE), Bluetooth SIG 4.2 Qualified
InterfaceUART,GPIO,I2C
Input Voltage3.3V
CompatibilitymikroBUS
Click board sizeM (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).

NotesPinMikrobus logo.pngPinNotes
Software ButtonSW_BTN1ANPWM16WKUPWake-up from Sleep mode
Module Reset (internal pull-up). Apply a pulse of at least 63 ns.RST_N2RSTINT15CTSClear To Send
Configurable Control or Indication pin or UART RTS (output)RTS3CSTX14TXDUART data output
NC4SCKRX13RXDUART data input
NC5MISOSCL12SCLI2C Clock
NC6MOSISDA11SDAI2C Data
Power supply+3.3V73.3V5V10NC
GroundGND8GNDGND9GNDGround

Jumpers and Settings

DesignatorNameDefault PositionDefault OptionDescription
JP1P2_0LeftLowSystem 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);
JP2P2_4LeftLowSystem 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);
JP3EANRightHighExternal 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 }

Downloads