Mikroe LoRa 2 Click

Product ID: 7830
Mikroe lora 2 click 1593224862
$70.99

Ships in 15 to 20 days

LoRa 2 click is a LoRa® RF technology based SRD transceiver, which operates at a sub-gigahertz frequency of 915MHz. This click board™ features an embedded LoRaWAN™ Class A compliant stack, providing a long-range spread spectrum communication, with high interference immunity. The LoRa module used on this Click board™ is compliant with the United States (FCC) and Canada (IC) regulations, which combined with the advanced and simple command interface, allows for an easy integration into the final application, reducing development time, costs, and time to market.

Equipped with LoRaWAN Class A compliant stack, LoRa 2 click offers an easy and reliable solution for developing low power, highly integrated LoRaWAN IoT networks, security systems, alarm networks, building control, M2M interfaces, and similar applications that require simple and reliable networking solutions. IT offers a programmable RF communication data rate up to 300 kbps with FSK modulation or 12500 bps with LoRa™ Technology modulation.

How does it work?

The main active element of the LoRa 2 click the RN2903, low-power long range LoRa® technology transceiver module, from Microchip. It features the Class A LoRaWAN compliant stack, optimized for a robust LoRaWAN networking, immune to interferences, and suitable for the long-range wireless operation. It offers a long-range spread spectrum communication with high interference immunity. A receiver with the sensitivity of -146dBm combined with the 18.5dBm integrated amplifier allows for extended range links that can achieve up to 15km in open area (by the module manufacturer specification). LoRa 2 click offers data rates of 300 kbps with FSK modulation and 12500 bps with LoRa Technology modulation. The radio frequency of the Lora 2 click is located within the 915MHz ISM band, which allows the Click board™ to be used in United States, Canada, Australia and New Zealand.

The LoRaWAN network is sorted into three different classes. Class A compliant devices network is a network where end nodes are battery operated, the communication payload is small with longer intervals, and the communication is initiated by the end node (uplink). Communication is bidirectional, and the server responds in predetermined response windows.

The communication is done via the UART interface. There are three groups of commands, used to configure and operate the separate layers of the RN2903. These layers are the SYSTEM layer, the MAC layer, and the RADIO layer. Each of these layers is controlling a certain 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. Some UART commands also require parameters, depending on their nature. For example:

sys sleep <length>

This is a system command that will put the module into a Sleep state for a period forwarded by the <length> parameter (in milliseconds). The module is also equipped with the non-volatile memory (EEPROM) for storing the configuration settings, as well as some additional data. The default UART communication speed is 57600 bps, 8N1 with no hardware flow control enabled.

The break condition can be transmitted to the module if keeping its UART_RX pin low for a period longer than required to transmit a single character. This will interrupt the Sleep mode before the timer expires, also it can be used to sense the communication speed. After the break condition has been signaled to the module, sending character 0x55 will match the communication speed of the module with the speed at which the 0x55 character was sent.

To join a LoRaWAN network, the device requires a LoRaWAN concentrator/gateway. The endpoint device has to use a unique endpoint address, an application session key, and network session key. The first method is called over-the-air activation (OTAA), where these keys are issued after a specific join procedure (more info can be found in the LoRaWAN specification). 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.

The LoRaWAN MAC layer can also be suspended by a command, allowing simple p2p (peer-to-peer) communication, where two nodes directly communicate with each other. Although an 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 the improper settings of some parameters might render the device unresponsive. Therefore a care should be taken to read and understand the explanations before applying these settings. To simplify the design and avoid errors, MikroElektronika includes a Click board™ library, which contains simple functions used to set up and operate the LoRa 2 click. The included demo application illustrates how to use them in a real application. It can be used as a reference for the custom design.

To allow interfacing with both 3.3V and 5V MCUs, this click board™ employs the TXB0106, a bidirectional level shifter and voltage translator from Texas Instruments, supported by a 3.3V LDO. This translates the external voltage levels to acceptable levels that can be used on the LoRa module. All the used I/O pins of the module are routed via this IC to the mikroBUS™ pins.

The UART RX and TX pins are routed to the appropriate mikroBUS™ UART pins, via the level shifter. CTS pin is routed to the INT pin of the mikroBUS™ - also via the level shifter and can be used when hardware flow control is required. The #RESET pin is routed to the mikroBUS™ RST pin and it is used to reset the device. It is internally pulled up with a resistor.

LoRa 2 click features an SMA connector, so it can be equipped with the appropriate 915MHz compliant antenna. The onboard SMD jumper labeled as VCC SEL is used to select the voltage input for the level shifter for interfacing with 3.3V or 5V MCUs.

Note: For a 433/868MHz sub-gigahertz frequency LoRa® RF technology based Click board™ see LoRa click.

Specifications

Type LoRa,RF Sub 1GHz
Applications Automated Meter Reading, Home and Building Automation, M2M, IoT, Industrial Monitoring and Control
On-board modules Microchip’s RN2903 915 MHz Radio Modem
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
Key Benefits Less than 15 km range (rural and suburban); Less than 5 km (urban)
Interface UART
Input Voltage 3.3V or 5V
Compatibility mikroBUS
Click board size L (57.15 x 25.4 mm)

Pinout diagram

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

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 NC
Reset RST 2 RST INT 15 CTS Clear To Send
Ready To Send RTS 3 CS RX 14 TX UART Transmit
NC 4 SCK TX 13 RX UART Receive
NC 5 MISO SCL 12 NC
NC 6 MOSI SDA 11 NC
Power supply +3.3V 7 3.3V 5V 10 +5V Power supply
Ground GND 8 GND GND 9 GND Ground

LoRa click electrical specifications

Description Min Typ Max Unit
Operating Frequency Range 1 902.000 928.000 MHz
UART interface baud rate - 57600 - bps

Onboard settings and indicators

Label Name Default Description
JP1 PWR SEL Left Logic level voltage selection: Left position 3V3, right position 5V
LD1 PWR - Power LED indicator

Software support

We provide a library for LoRa 2 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers and mikroSDK. The provided click library is mikroSDK standard compliant. The demo application can run on all the main MikroElektronika development boards.

Library Description

The library covers all functionalities of the Click board through simplified API calls.

Key functions:

  • uint8_t lora2_tx( char *buffer ) - Transmits the function, sends the message provided using the buffer.
  • uint8_t lora2_rx(char* window_size, char *response) - Receives the function, provides a message using the response buffer.
  • void lora2_process() - The library state machine must be placed inside an infinite loop.

Examples Description

The application is composed of three sections:

  • System Initialization - Initializes the UART module and CS pin, RST pin as output and INT pin as an input.
  • Application Initialization - Initializes the driver and the LoRa module found on Click board.
  • Application Task - (code snippet) - Can be used as a receiver or a transmitter. It is necessary to uncomment the appropriate part of the code. The transmitter sends one by one byte, each second, while the receiver receives the message using continuous mode and logs the received data on UART.
void applicationTask()
{
lora2_process();

// RECEIVER
rxState = lora2_rx( 0, &tmp_txt[0]);

if (rxState == 0)
{
_data = xtoi(&tmp_txt[11]);
mikrobus_logWrite( &_data,_LOG_BYTE);
mikrobus_logWrite( " ",_LOG_LINE);
}

// TRANSMITER
for (cnt = 0; cnt < 7; cnt++)
{
send_data = sendMessage[cnt];
IntToHex(send_data,sendHex);
txState = lora2_tx( &sendHex[0] );

if (txState == 0)
{
mikrobus_logWrite( " Response : ",_LOG_TEXT );
mikrobus_logWrite( tmp_txt,_LOG_LINE );
}
Delay_1sec();
}
}

The full application code, and ready to use libraries can be found on our Libstock page.

Other mikroE Libraries used in the example:

  • UART
  • Conversions

Additional notes and information

Depending on the development board you are using, you may need USB UART clickUSB 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 by 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.

Related