Giter Club home page Giter Club logo

rn2xx3_lorawan_firmware's Introduction

RN2xx3_LORAWAN_FIRMWARE

"Wireless Made Easy!" - Open sourcing the latest RN2xx3 beta firmware for self-support, self-maintenance and self-programming

Devices: | RN2483A | RN2903A

For Latest and Greatest LoRaWAN solutions, check out the WLR089U0 Module and SAM R34 IC.

⚠ Disclaimer

⚠ Disclaimer

THE SOFTWARE ARE PROVIDED "AS IS" AND GIVE A PATH FOR SELF-SUPPORT AND SELF-MAINTENANCE.

This repository contains unsupported example code intended to help accelerate client product development. It is not validated for production nor audited for security best-practices.

Note that while this repository is unsupported, Microchip welcome community contributions, and all pull-requests will be considered for inclusion into the repository.

Interact with your peers about this software in LoRa Forum and through LoRaWAN community.

Important considerations

THE SOFTWARE ARE PROVIDED "AS IS" AND GIVE A PATH FOR SELF-SUPPORT AND SELF-MAINTENANCE.

  • SOFTWARE CAN BE MODIFIED AND APPROPRIATED FOR SELF-USAGE AND SELF-RESPONSIBILITY.
  • NONE OF THE SOFTWARE PART OF THIS REPOSITORY ARE ACTIVELY SUPPORTED.
  • NO RN2xx3 MODULE WILL COME PRE-PROGRAMMED BY MICROCHIP WITH ANY OF THOSE VERSION.
  • THE MODULE MUST BE SELF-PROGRAMMED IF REQUIRED.
  • SOFTWARE HAVE NOT BEEN FULLY TESTED.
  • SOFTWARE HAVE NOT BEEN CERTIFIED.
  • SOFTWARE HAVE NOT BEEN VALIDATED WITH THE LORAWAN CERTIFICATION TEST TOOL.
  • EU & NA SOFTWARE HAVE BEEN IMPLEMENTED WITH LORAWAN ALLIANCE SPECIFICATION v1.0.2 and LORAWAN REGIONAL PARAMETERS v1.0.2.
  • FOR LATEST AND GREATEST LORAWAN SOLUTIONS, CHECK OUT THE WLR089U0 MODULE AND SAM R34 IC.

Resources

A la carte

  1. Hardware Platforms
  2. Software Overview
  3. Software Environment Setup
  4. Module Programming

Hardware Platforms

Modules

  • RN2483A-I/RMxxx
  • RN2903A-I/RMxxx

Demo boards

RN-2483-PICTAIL
DM164138 - 868MHz RN2483 LORA-MOTE

RN-29003-PICTAIL
DM164139 - 915MHz RN2903 LORA-MOTE

Software Overview

Clone/Download the current repo to get the software.

The present repository contains the following BETA Firmware for the PIC18LF46K22 microcontroller:

  • RN2483 EU v1.06 RC4 source code (LoRaWAN specification 1.0.2)
  • RN2483 EU v1.06 RC3 source code (LoRaWAN specification 1.0.2)
  • RN2903 NA v1.06 RC8 source code (LoRaWAN specification 1.0.2)
  • RN2903 NA v1.06 RC7 source code (LoRaWAN specification 1.0.2)
  • RN2903 NA v1.06 RC6 source code (LoRaWAN specification 1.0.2)
  • RN2903 AS923 v1.06 source code (LoRaWAN specification 1.0.2)
  • RN2903 AS923-2 v1.06 source code (LoRaWAN specification 1.0.2)
  • RN2903 AS923-3 v1.06 source code (LoRaWAN specification 1.0.2)
  • RN2903 AU v1.03 source code (LoRaWAN specification 1.0.1)

It also contains, the following legacy versions of firmware:

  • RN2483 EU v1.03 source code (LoRaWAN specification 1.0.1)
  • RN2483 EU v1.04 source code (LoRaWAN specification 1.0.1)
  • RN2483 EU v1.05 source code (LoRaWAN specification 1.0.2)
  • RN2903 NA v1.03 source code (LoRaWAN specification 1.0.1)
  • RN2903 NA v1.05 source code (LoRaWAN specification 1.0.2)

And it contains sample cert. applications for the PIC18LF25K50 Host microcontroller:

  • Host MCU software used for LoRaWAN Alliance Cert 1.0.1 for the RN2483-pictail/mote
  • Host MCU software used for LoRaWAN Alliance Cert 1.0.1 for the RN2903-pictail/mote

Software Environment Setup

Software Requirements

Checkout the archive page.

IDE Setup

  • Open MPLAB X IDE
  • Make sure required XC8 compiler is selected by default in Tools -> Options -> Embedded

Project Setup

  • Open the requested LoRaWAN project from File -> Open Project (e.g. RN2903NA_1.0.6_RC6\Source)
  • Open the project properties from File -> Project Properties
  • Apply the requested XC8 compiler version for all the configurations (default, offset, combined)

  • For all the 3 configurations (default, offset, combined), make sure XC8 Compiler optimizations options are set for:
    • Favor optimization for: Space
    • Operation mode: PRO

  • Select between offset or combined from the selection box

Offset configuration is configuring the project in order to compile the project without the bootloader code Combined configuration is configuring the project in order to compile both the project and the bootloader code

  • For combined configuration, the HEX file generated RN2xx3_Parser.production.unified.hex is located into dist/combined/production

  • For offset configuration, the HEX file generated RN2xx3_Parser.production.hex is located into dist/offset/production

Module Programming

In addition to the LoRa Transceiver, the RN2xx3 modules integrate a PIC18LF46K22 microcontroller which come with 64kB of Flash and 4kB of RAM. The LoRaWAN Firmware resides into the memory of the PIC18LF46K22 microcontroller.

Combined configuration

Requirement

Requires Programming tool such as MPLAB ICD4 or MPLAB PICkit4

Setup

Connect the programming tool to ICSP pins (PCG_INT, PGD_INT, RESET, GND, VCC) as shown in the datasheet.

Programming

  • Open MPLAB X IPE
  • Select PIC18LF46K22 target device
  • Select the programming tool
  • Click Apply
  • Click Connect

  • Browse for the required HEX file RN2xx3_Parser.production.unified.hex located into dist/combined/production

  • Program the device
  • Click Disconnect
  • Remove the programming tool connection

Offset configuration

To update the RN2483/RN2903 firmware using Bootloader with a Computer Host or with an Embedded Host checkout the Chapter 3. Bootloader Usage of the User Guide

Make sure to use the HEX file RN2xx3_Parser.production.hex located into dist/offset/production

rn2xx3_lorawan_firmware's People

Contributors

ganesh-krishna avatar gd91 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.