LoRa Mini

From Wiki for Dragino Project
Jump to: navigation, search

Introduction

LoRa Mini

LoRa Transceiver Module (with MCU)

LoRa Mini 1.jpg
LoRa Mini Dev

Development Board for LoRa Mini

LoRa Mini Dev 1.jpg
LoRa Mini Program Utility

Program Utility for LoRa Mini

LoRa Mini Program 1.jpg

LoRa Mini is a small IoT development board offers a very compelling mix of long range, low power consumption and secure data transmission.It is designed to facilitate beginners and developers to quickly learn LoRa and IoT technology. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.

LoRa Mini is based on SX1276/SX1278 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.

LoRa Mini is an Arduino compatible board based on ATmega328P, a low-power CMOS 8-bit microcontroller based on the AVR® enhanced RISC architecture.LoRa Mini is also open source, user can easily program it using the Arduino IDE.



Specifications

LoRa Spec

  • 168 dB maximum link budget.
  • +20 dBm - 100 mW constant RF output vs.
  • +14 dBm high efficiency PA.
  • Programmable bit rate up to 300 kbps.
  • High sensitivity: down to -148 dBm.
  • Bullet-proof front end: IIP3 = -12.5 dBm.
  • Excellent blocking immunity.
  • Low RX current of 10.3 mA, 200 nA register retention.
  • Fully integrated synthesizer with a resolution of 61 Hz.
  • FSK, GFSK, MSK, GMSK, LoRaTM and OOK modulation.
  • Built-in bit synchronizer for clock recovery.
  • Preamble detection.
  • 127 dB Dynamic Range RSSI.
  • Automatic RF Sense and CAD with ultra-fast AFC.
  • Packet engine up to 256 bytes with CRC.
  • Built-in temperature sensor and low battery indicator.


MCU Spec

  • MCU: ATMega328P
  • Flash:32KB
  • SRAM:2KB
  • EEPROM:1KB
  • Clock Speed: 16Mhz


Dimensions and Weight:

  • Weight: 9g
  • Dimension: 41 x 24mm


Absolute Maximum Ratings:

  • VCC: 0.5v ~ 3.9v
  • Operating Tempature: -40 ~ 85°C
  • I/O pins: 0.5v ~ VCC+0.5V


Common DC Characteristics:

  • Supply Voltage: 1.8v ~ 3.7v
  • Operating Tempature: -40 ~ 85°C
  • I/O pins: Refer ATmega328P datasheet


Power Consumption:

  • Sleep Mode: 22μA
  • RX Mode: 7.2mA
  • TX Mode: 88mA@ 20dbm



LoRa Mini Pin Definition

LoRa mini pin definition

Note: MOSI/ MISO/ SCK pins are internal connected by ATmega328P and Sx1276 module

Program / Upload code to LoRa mini

The LoRa mini is a combination of ATmega328P + SX1276/78 LoRa module. The program and upload method is the same as Arduino UNO.

The LoRa mini has built-in Arduino bootloader, user can upload the sketch to it via Arduino IDE. In Arduino IDE, User can select the board Arduino UNO as the board profile for upload.

LoRa Mini Board Profile

The LoRa Mini is an SMD module, so it is hard to upload directly to PC. Instead, user can use LoRa mini dev for testing purpose. User can use PC and USB cable to program and test the LoRa mini dev directly.



Examples

Example 1: UART pass through Examples

This example is to show how to use the LoRa mini as a UART pass through module. Two LoRa mini dev are used in this example. Both of them are connected to PC via USB port. PC can send info to the LoRa mini dev and the other LoRa mini dev will receive it and show it in another serial monitor.

UART Pass Through Test set up

The example use RadioHead Library, to use this sketch. User has to to install Radiohead library into Arduino first.

The code and explanation can be found in this link; UART Pass Through. Please note that this code is for demo only.

/*
  UART Pass Through Examples. v0.1
  Support Devices: LoRa Mini, LoRa Bee Pro 
 
  Example sketch showing how to use UART pass through over LoRa.
 
  Hardware Setup:
  * Two LoRa devices connect to PC via USB. So PC can use serial see the UART output from both devices and
    able to sent data to their UART
 
  Before running this sketch:
  * Set the LoRa Radio paratemeters to the devices EEPROM via the write_eeprom sketch. both devices can use 
    the same sketch. 
 
  To Test:
  * Upload this sketch to both devices. Use PC to open monitor to both devices and type characters on the monitor
    the other device will receive and print the chars in its serial monitor
 
  More about this sketch:
  * User is able to modify the LoRa Radio pameters and write back to EEPROM in this sketch via AT COMMAND, please see Check_UART function
*/
UART Pass Through Test result



Example 2: Multi LoRa nodes simple connection -- RadioHead Lib

Combination I : 2 LoRa mini dev as node, A third LoRa mini dev as Gateway

This examples shows how to use one LoRa mini to get data from another 2 LoRa mini.. the connection is as below photos, the source code is here : https://github.com/dragino/Arduino-Profile-Examples/tree/master/libraries/Dragino/examples/LoRa/multi-nodes-with-temperature-sensor.

LoRa mini dev mutli nodes
Result



Combination II : 2 LoRa mini dev as node, A LG01 as Gateway

This examples shows how to use LG01 LoRa Gateway to get data from another 2 LoRa mini.. the connection is as below photos, the source code is here : https://github.com/dragino/Arduino-Profile-Examples/tree/master/libraries/Dragino/examples/LoRa/multi-nodes-with-temperature-sensor.

LoRa mini dev mutli nodes
Result



Reference