LoRaWAN Simulator (works with ChirpStack)

UniCT-ARSLab/LWN-Simulator: A LoRaWAN nodes’ and network simulator that works with a real LoRaWAN environment (such as Chirpstack) and equipped with a web interface for real-time interaction. (github.com)

I suggest this LoRaWAN nodes’ simulator to simulate a LoRaWAN Network, equipped with a web interface. It allows communication with a real infrastructure LoRaWAN or ad-hoc infrastructure, such as Chirpstack.

It is equipped with a Web GUI to manage the simulator instance and virtual nodes/gateways (also the real gateways).

We are using it in our company to simulate a couple of LoRaWAN nodes with virtual and real gateways!


Thanks so much for sharing this! It looks like a very convenient way to mock a LoRaWAN topology by emulating some nodes.

I was able to build the simulator successfully after installing Go, but ran into an issue when I attempted to run the binary. I hope you could help me troubleshoot my issue. Here is the error I am getting.

$ make run-release 
2021/05/30 15:10:41 json: cannot unmarshal array into Go value of type map[int]*gateway.Gateway
Makefile:40: recipe for target 'run-release' failed
make: *** [run-release] Error 1

$ make run
2021/05/30 15:11:17 json: cannot unmarshal array into Go value of type map[int]*gateway.Gateway
exit status 1
Makefile:37: recipe for target 'run' failed
make: *** [run] Error 1

My setup:

  • PC running Ubuntu 18.04
  • LoRaWAN gateway on a Raspberry Pi 4 Model B Rev 1.2, OS “10 (buster)”, 4.19.75-v7l+

I would greatly appreciate your help with the above error.

PS: I also get this error when I try running the pre-compiled binary.

The developers just fixed this problem :smiley:


Hi @Fedyfausto, thanks for the prompt reply! Right now, I’m only able to work on my project on weekends, so I didn’t get a chance to rebuild with the new source code until just now. Unfortunately, I still get the same error as above. I tried rebuilding the code in the following two ways.

  1. Did a git pull, and repeated all the make commands
  2. Next, did a fresh clone of the repo, and repeated all the instructions from README.md

I still get the same error messages. Now, I wonder, do I have to modify the IP address in the config.json file to something other than Please let me know if there is anything else I ought to try.

Thanks again for your help, and sorry to be a bother.

Did you tried to delete the old config files? (In your home there is the lwn simulator folder, delete it and retry)

1 Like

It works now after deleting the config files in ~/lwnsimulator.

Thank you! :slight_smile:

1 Like

You are welcome! For any problem!

Hello, has anybody been using this tool? I am having some trouble joining my simulated device and also with real gateways. I was not able to find more documentation, besides their github readme. Does anybody have more information?

1 Like

I also facing similar issue and no documentation available . Please help out.
Details : i have installed lora simulator, with virtual gateway and gateway bridge. Now i have created a device that is sending data to our virtual gateway that is being part of simulator. How we can verify if somedata is being sent by virtual device that is being recived by virtual gateway.

Can anyone have some document that could help

Hello. I would like to help you but you have to describe me what problems you faced. Do you have any communication problems between device and real gateway or does an error occur?

A device periodically sends an empty frame by default unless a payload has been set during configuration. The uplink interval is also configurable.
At the bottom of the home page, there is a console that allows you to monitor the behavior of gateways and devices such as type of frames they send and receive, etc …

Remember to set the location of all components. The devices simulate the range of an antenna and send frames to all gateways that are within the range.

I have just installed LWN Simulator and Chirpstack in the same server (my notebook) to simulate a LoRaWAN network.
I created a virtual gateway and set localhost:1700 as gateway bridge’s parameters in LWN Simulator after check those parameters in Chirpstack Gateway Bridge’s configuration.
The problem is that the virtual gateway was never registered in Chirpstack.
Was anyone able to set up the same scenario successfully?
Thanks in advance!

I have just seen my virtual GW active! The problem was I did not setting the geoloaction and it did not match at all.

1 Like