How to modify Microchip RN2483 code and upload to chip

I am having LORA technology Evaluation Kit -800 dv164140-1 with RN2483 MOTE.
I need to send sensor data at regular interval to my application.
I seen LoRa MoTe 2483 source code. (

I know about MPLAB X and I need to import the source code into it and modify.
Is it right or need to follow the "LoRaWAN™ Library Plug-in for MPLAB® Code Configurator " and use the LoRaWAN Library plugin for MPLAB.

My questions,

  1. How to use MPLAB X for the code cahnges and which one I need to use for the said purpose?.
  2. How to upload the compiled sourcecode to RN2483 chip for normal LoRa communication?.
    I am new to the PIC progrom, please advice on it.

Did you know you can use the TX Sleep event in the menu of the Mote (check the userguide) for a periodic uplink transmission?

In the zipped firmware file you’ll find a projectfile which you can open in MPLAB X ID. That projectfile contains the Source and Appllication folder with their dot c files. Take a look at that code, Maybe you can code you’r wishes, compile and program (e.g using a Pickit and ICSP holes) the Mote.
There is also a hex file you can use to flash the mote if that is necessary.

Not the RN2483 itself but the Mote

Hi Marco,
thank you for the reply.
I have following questions:
Did you know you can use the TX Sleep event in the menu of the Mote (check the userguide) for a periodic uplink transmission.
But, in user guide they say periodic sleep uplink using Watchdog Timer. Also, we need to press S2 or S3 button manually for it.
my question is, for example , I need to get MOTE GPIO13 output (temp) and want to send to server at every 1 min automatically.
Is it possible Tx sleep event?.

  1. As you mention “using PICKit and ICSP holes”, I am new to hardware program.
    Also, with microchip lorawan evaluation kit-800, RN2483 Mote pre assempled and provide an USB connection for serial communication.
    Here, my question, after compile in MPLAB X IDE , what format the binary image file comes (Will it be hex file) and which way can I upload the binary or MOTE image file to RN2483 mote.


There is a difference between the Sleep Event and the Sleep Control. With the Sleep Event enabled the Mote will send every 5, 10 , 15 , 30 or 60 min. an uplink message with sensor data.
With the menu option Timeout enable the Mote will automatically enter Sleep, if no buttons are pressed, but will send the payload as set above. The Mote wakes up after one of the wake-up events (press button 1 or 2, USB plugin etc.)
So there is no need to use that GPIO.

In MPLAB X you can modify your code and then Build your main Project to generate the .hex file
Take a look at Get started with MPLAB X ID

Hi Marco,
thank you for the reply.
I seen in mote manual , they say using S1 or S2/USB plugin, Periodic WDT ticks and Module message reception, MOTE will send sensor data or transmission data.
Here, my question is,

  1. If I want automatically every 10 seconds want to send the sensor data, where I need to modify.
    I think, it may not possible with the normal MOTE commands with sys or radio or mac.
    Is it correct or can I send data from mote every 10 sec without much sourcecode modification using MPLAB X.

I have downloaded the MOTE sourcecode for LCD version from following link,

Is the source code correct for code modification.

Thanks and Regards,

These mac an sys commands are configuration commands for the modem module (the RN2483).
If you want to send every 10 seconds then you have to modify the source code. Your thoughts about sending data at a certain interval vary quite a bit. …from 1 min. to 10 seconds ;-). You can ask yourself if it’s really necessary to know the temperature every 10 seconds.
Keep in mind the Fair Access Policy

If you want generate automatically, a periodic uplink transmission then this is possible with the Mote without modify the code in MPLAB X ID (*except if you want send every 10 seconds). All you have to do is set the right settings in the menu.

Below some data of my Mote, sending every 5 min. without hardware interrupts (pushing buttons):

So, If your evaluation kit is operational you can simple test it.

Hi margo,
thank you for the wonderful explanation and guidance.
your point is Correct that if default transmission of sensor data, i needn’t any code change.
But in my Lorawan microchip evaluation kit-800, RN2483 comes as MOTE.
They provide an GUI (LoRaWAN utility) which useful for MOTE control functions.

But, if I want MOTE transmission, I need to set port, ASCII data,datarate to transmit by clicking the “Transmit Button”.
As I seen, there is not auto transmission bu=y MOTE by every 5 min as you mentioned.
But if I hard press the S2,S3 mote button, I am receiving the data in the database of server.

But from GUI , I am able to run all rn2483 SYS,MAC and RADIO commands.

How you set the MOTE to send the data at every 5 mins.

Also, how can I receive the MOTE data in a separate file like notepad at desktop (windows) using serial communication.

Thanks and Regards,

Please check if you see these options:

Press the left button (S1) till you see this:


If you press the right button (S2) you see the other options (10, 15,30 ,60)


I’ve put some extra functionality to the Microchip LoRa Mote:


…and made a personal Microchip LoRa Mote :



Hi Margo,
thank you.
I seen the periodic send sensor data after press the S2/S3 buttons (5 min).
I am using LoRa gateway provided with Microchip evaluation kit.
In default, they forward the data to sever where application server runs in a VM (

How can I send the data from LoRa gateway to a note file in my host
(Yes I need toset the gateway,server address in SDCard of Gateway).
LoRaGateway and my PC connected by Ethernet for data communiation)

I seen ,the sensor and other mote data are in JASON format which will forward by LoRa Gataway.

How can I receive the JASON data and get the sensor data at my Linux PC.

Is normal ethernet read program enough.


how to upload the compiled mote source code hex file to Mote rn2483…
Is it possible via MPLAB X…
Or how to do by HIDBootloader app.

The best way is to use a Pickit3 programmer ( . The bootloader - at least in my experince - is not very reliable.