NOTE: The RN2903 module is certified for North American region.
How does it work?
LR 2 Click as its foundation uses the RN2903, a low-power long-range RF technology-based transceiver module from Microchip Technology. It features the Class A LoRaWAN compliant stack, optimized for robust LoRaWAN networking, immune to interferences, and suitable for long-range wireless operation. It offers a long-range spread spectrum communication with high interference immunity. A receiver with a sensitivity of -148dBm combined with the 18.5dBm integrated amplifier allows for extended range links that can achieve up to 15km in an open area (by the module manufacturer specification). This Click board™ offers data rates of 300kbps with FSK modulation and 12500bps with LoRa Technology modulation and is associated with the 915MHz ISM band suitable for applications in the United States, Canada, Australia, and New Zealand.
To join a LoRaWAN network, the RN2903 requires a LoRaWAN concentrator/gateway. The endpoint device has to use a unique endpoint address, an application session key, and a network session key. The first method is called over-the-air activation (OTAA), where these keys are issued after a specific join procedure. The second method is to assign these keys manually, using UART commands. This method is called activation by personalization (ABP) and can be prone to some security issues. In any case, before an end-device can communicate on the LoRaWAN network, it must be activated.
LR 2 Click communicates with MCU using the UART interface with commonly used UART RX and TX pins, including the hardware flow control pins CTS and RTS (Clear to Send, Ready to Send) at data rates up to 57600bps for the data transfer. There are three groups of commands used to configure and operate the separate layers of the RN2903 (SYSTEM, MAC, and RADIO). Each of these layers is controlling a specific area of the module, and every UART command starts with one of the three keywords, which represent an abbreviation of the layer name they are controlling. The module is also equipped with a non-volatile memory (EEPROM) for storing the configuration settings and some additional data.
Explanation of all the configuration parameters, as well as the in-depth explanation of each feature of the RN2903 module, can be found in the Command Reference User’s Guide. Please note that improper settings of some parameters might render the device unresponsive. Also, this Click board™ can be reset through the Hardware Reset pin, labeled as RST on the mikroBUS™ socket, by setting this pin to a low logic state.
LR 2 Click features the SMA antenna connector with an impedance of 50Ω, so it can be equipped with the appropriate 915MHz compliant antenna that Mikroe has in its offer.
This Click Board™ can operate with both 3.3V and 5V logic voltage levels selected via the VCC SEL jumper. A proper logic voltage level conversion is performed by the TXB0106 voltage level shifter, while the LDO ensures that recommended values power the module. This allows for both 3.3V and 5V capable MCUs to use the UART communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
LoRa,Sub-1 GHz Transceievers
Applications
Can be used for developing highly integrated long-range IoT networks, security systems, alarm networks, building control, M2M interfaces, and similar applications that require simple and reliable networking solutions.
On-board modules
RN2903 – low-power long-range RF technology-based transceiver module from Microchip Technology
Radio Region
North America
Key Features
Modem is compliant for use in USA (FCC), Canada (IC), Australia and New Zealand. Sensitivity: -146 dBm. Embeds LoRaWAN® Class A protocol stack
Interface
UART
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on LR 2 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED indicator |
JP1 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
LR 2 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
Operating Frequency Range | 902 | 915 | 928 | MHz |
UART interface baud rate | – | 57600 | – | bps |
Operating Temperature Range | -40 | +25 | +85 | °C |
Software Support
We provide a library for the LR 2 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly form compilers IDE(recommended way), or downloaded from our LibStock, or found on mikroE github account.
Library Description
This library contains API for LR 2 Click driver.
Key functions:
void lr_cfg_setup ( lr_cfg_t *cfg );
– Config Object Initialization function.LR_RETVAL lr_init ( lr_t *ctx, lr_cfg_t *cfg );
– Initialization function.void lr_default_cfg ( lr_t *ctx, bool cb_default, void ( *response_p )( char *response ) );
– Click Default Configuration function.
Examples description
This example reads and processes data from LR clicks.
The demo application is composed of two sections :
void application_task ( void ) { char *ptr; lr_process( ); #ifdef DEMO_APP_RECEIVER rx_state = lr_rx( &lr, LR_ARG_0, &tmp_txt[ 0 ] ); if ( rx_state == 0 ) { tmp_txt[ 12 ] = 0; ptr = ( char* )&int_data; hex_to_int( &tmp_txt[ 10 ], ptr ); log_printf( &logger, "%c", int_data ); } #endif #ifdef DEMO_APP_TRANSMITTER for ( cnt = 0; cnt < 9; cnt++ ) { send_data = send_message[ cnt ] ; int8_to_hex( send_data, send_hex ); tx_state = lr_tx( &lr, &send_hex[ 0 ] ); if ( tx_state == 0 ) { log_printf( &logger, " Response : %srn", &tmp_txt[ 0 ] ); } Delay_ms( 1000 ); } #endif }
The full application code, and ready to use projects can be installed directly form compilers IDE(recommneded) or found on LibStock page or mikroE GitHub accaunt.
Other mikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.LR
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.