An ns-3 module for simulation of LoRaWAN networks.
4.50/5 (164 reviews)
Categories: Sensor Networks

This is an ns-3 module that can be used to perform simulations of a LoRaWAN network. Aside from models representing the various components of the network and helpers to set them up, the module comes with a packet tracker that monitors network performance, and with facilities that print the network topology to file for easy debugging and simulation monitoring. Various examples ranging from simple to complex network configurations are also provided.


Current features include:

  • Support for Class A devices
  • Network Server Implementation
    • ADR
    • Confirmed messages
    • Multi-GW support
  • Urban propagation models
  • Realistic GW chip model
  • Energy model integration


The module was developed by Davide Magrin and Martina Capuzzo of the Signet Lab at University of Padova's Department of Information Engineering, under the supervision of Lorenzo Vangelista, Marco Centenaro, Andrea Zanella and Michele Zorzi.

Relevant publications

The following publications discuss and use the lorawan ns-3 module:

  • D. Magrin, M. Centenaro and L. Vangelista, "Performance evaluation of LoRa networks in a smart city scenario," 2017 IEEE International Conference on Communications (ICC), Paris. DOI: 10.1109/ICC.2017.7996384.
  • M. Capuzzo, D. Magrin and A. Zanella, "Confirmed Traffic in LoRaWAN: Pitfalls and Countermeasures," 2018 17th Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net), Capri. DOI: 10.23919/MedHocNet.2018.8407095.


Works with ns-3.32

Latest Build :

Build History : LoRaWAN 0.3.0

Release Notes

<ul> <li>Various bug fixes</li> <li>Improved Network Server architecture</li> </ul>
Bakefile : Link


Works with ns-3.29

Build History : LoRaWAN 0.2.1

Release Notes

<p>Initial release for the App Store.</p>


### From the App Store Download the latest release from the app store, unzip into the ns-3/contrib folder (so as to have a lorawan folder containing the code), and compile. ### From Github To get the latest version of the code from github, clone the repository in the ns-3/contrib folder: ``` cd ns-3/contrib git clone https://github.com/signetlabdei/lorawan ```

You can report bugs and open pull requests at our [Github Page](https://github.com/signetlabdei/lorawan).

This ns-3 extension is one or more contributed modules.

Version 0.3.0

Released May 4, 2021

Works with ns-3.32

Bake bakeconf.xml