book collections email follower instructable user
Picture of Turn an Arduino Into a Quick & Easy LoRa Packet Sniffer

If you work with communications for a while, you will reach a point where you realize that if you could get an outside perspective that would really help your debugging efforts. That is what this project is all about, turning an Arduino into a LoRa radio packet sniffer. With this in your toolbox you will be able to see the traffic between two or more LoRa radio nodes, which will help you troubleshoot the applications your developing as they communicate across a LoRa network.

By example: while developing our LoRa Gateway product, we wanted to more easily examine the effects of different type of performance tuning changes. We could use traditional "programming" tools such as breakpoints or debug\print statements, but these techniques have side affects and alter the system being adjusted by their presence. By using a "network probe" or "packet sniffer" such as shown here, you can monitor the device communications without changing the software performing the communications. The packet sniffer approach has been used for years, this project is just an inexpensive approach to add to your toolkit with parts you might already own.

For the system I wish to test, I am using a Raspberry PI 3 running gateway software and an Adafruit Feather M0 with RFM95 LoRa Radio (900MHz for North America) as the "end-node" sensor device. As I make adjustments to the gateway or device software, the LoRa packet sniffer allows me to see timing (using millis()) and contents of LoRa packets traversing the network.

Step 1: Step 1: Select Your Arduino

Picture of Step 1: Select Your Arduino

I am using the Adafruit Feather M0 with RFM95 LoRa Radio as the basis for my packet sniffer. I choose this device for the project because everything I needed are on one circuit board. But, this project can be built with other Arduino\Arduino-like development boards. In the INO file we have included GPIO settings for other boards (thank you Adafruit); this includes the Feather M0 with integrated LoRa radio, Feather 32u4 with integrated LoRa radio, Arduino with a Adafruit breakout board or the Feather 32u4, Feather M0 or Teensy 3.x using the LoRa Feather Wing.

Make sure if you purchase a new LoRa device that you select the correct frequency band; choose the correct frequency for your geographic region and to match your existing devices that you wish to monitor.

Adafruit Feather M0 with RFM95 LoRa Radio

Adafruit LoRa RFM95 Breakout

Adafruit LoRa Radio FeatherWing - RFM95W 900 MHz

Swansong2 years ago

Thanks for sharing :)