n-PN LoRaWAN
License | GPL 2.0 |
Status | Tested |
Buy at: | |
Categories | |
Hardware repo | Bitbucket |
Firmware repo | Bitbucket |
n-PN LoRaWAN has been designed to offer a practical and cost effective solution for users seeking to add LoRa connectivity to their projects with minimal previous experience in networking. The form factor is based on n-Blocks and is customized for Pervasive Nation.
Overview
n-PN LoRaWAN board is a low-cost and easy-to-use development kit to quickly evaluate and start some development with LoRaWAN protocol using an ARM® 32-bit Cortex™-M and totally compatible with n-Best ecosystem. It is based on Murata CMWX1ZZABZ LoRa module and also features STM32L082 microcontroller. The exclusive combination of an Arm® Cortex®-M0+ core and STM32 ultra-low-power features, makes the STM32L082 the best fit for applications operating on batteries or supplied by energy harvesting. It is the ideal solution for users looking to design IoT projects with minimal previous experience in networking having a low power device.
Communication with the module can be achieved via UART, SPI, or I2C peripheral interfaces. GPIOs provide plenty of flexibility for connecting sensors, switches and status LEDs, and the module is powered from a 1.6 to 3.6 VDC supply.
Murata CMWX1ZZABZ Features
Integrated TCXO with robust low-drift thermal characteristics provides an accurate clock source for the RF transceiver
Pre-certified radio regulatory approvals for operating in the 868 and 915MHz industrial, scientific and medical (ISM) spectrum in most geographical regions of the world
MCU includes 192kB Flash and 20kB RAM
Normal output power is +14dBm but a PA boost function can be selected to increase RF output to + 20dBm for long-range applications
Operating temperature: -40 + 85°C
Typical applications: smart metering, wearables, tracking, M2M and internet of things (IoT) edge nodes
STM32L082 MCU Features
Up to 192 KB Flash, 20KB RAM
Low voltage 1.65 to 3.6 V
Dynamic Voltage Scaling
5 clock sources
Advanced RTC w/ calibration
Multiple USART, SPI, I2C
Multiple 16-bit timers
2 watchdogs
Program Voltage Detector
Reset circuitry POR/PDR
16-bit ADC (hardware oversampling)
Ultra-safe, low-power BOR (brownout reset) with 5 selectable thresholds
LCD interface, comparator, DAC
Hardware Encryption Engine AES 128-bit
SX1276 Features
LoRa Modem
168dB maximum link budget
+20dBm - 100 mW constant RF output vs. V supply
+14dBm high efficiency PA
Programmable bit rate up to 300kbps
High sensitivity: down to -148dBm
Excellent blocking immunity
Low RX current of 9.9mA, 200nA register retention
Fully integrated synthesizer with a resolution of 61Hz
FSK, GFSK, MSK, GMSK, LoRa and OOK modulation
Built-in bit synchronizer for clock recovery
Preamble detection
127dB 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
Main Features of the Board
CMWX1ZZABZ Murata LoRaWAN module with Semtech (SX1276) + STM (STM32L0)
2 user LEDs
1 user and 1 reset push-buttons
Board expansion connectors:
Different LoRaWAN antenna choices
Si7006 Silabs Relative Humidity and Temperature Sensor with I2C Interface
LSM303AHTR STM 3D digital linear acceleration sensor and a 3D digital magnetic sensor with I2C Interface
M24LR64E-R STM dynamic NFC/RFID tag IC with a dual-interface, electrically erasable programmable memory (EEPROM) with I2C Interface
AN48836B Panasonic Hall sensor
Support of a wide choice of Integrated Development Environments (IDEs) including IAR™, Keil®, GCC-based IDEs, Arm® Mbed™
Full compatibility with n-Best Studio
Dimensions: 25x38mm
Board Pinout
Getting started
To configure all the necessary tools to start working with the n-PN board, two main elements need to be downloaded by the user.
The
Nimbus SDK which contains the minimum files to start working with the n-PN board as well as some basic examples that the user can use as templates (Nimbus SDK is based on STM32CubeExpansion_LRWAN_V1.1.4 and can be found in the next repository:
https://bitbucket.org/nimbus_it/pn_lora_node).
After installing KEIL (MDK) IDE(and the license activated) and downloading the Nimbus SDK, there are several basics examples (using LoRaWAN technology) which the user can start working with. The examples can be found following the path: LoRaWAN_Examples / STM32CubeExpansion_LRWAN_V1.1.4 / Projects / Multi / Applications / LoRa /.
NOTES:
KEIL IDE (MDK) may not have the libraries installed for the microcontroller embedded in the n-PN board, so a pop-up window will appear asking us to install those libraries. Just follow the instructions to install them up. You may reset your computer after the installation.
If we double click on Button.uvprojx (a project file) and Windows does not recognise the extension file, just choose KEIL (MDK).
Integrated Development Environment (IDE)
As stated, KEIL IDE (MDK) was chosen, this section explains the minimum configuration to improve our work flow.
Click on Options for Target…
In Debug tab, make sure to use the right programmer (mostly ST-Link Debugger).
Firmware Structure
Keil IDE does not show the header files until the project is compiled, once the project is compiled, the header files can be found under the function files (clicking on the cross sign next to the function file).
NOTE: A wire or U.FL-R antenna must be connected.
Examples
This simple example shows how to transmit a package using LoRaWAN protocol. A new relative humidity and temperature value will be read every one minute and its value will be stored in a package which it will be sent to the Pervasive Nation LoRaWAN server. The counter will be incremented as well.
Gallery
Related articles in this Wiki