DIY Device Connectivity Tester for LoRaWAN

DIY Device Connectivity Tester for LoRaWAN

A range test is not like another, especially if you are not only interested in the general coverage of your gateway(s) and heat-mapping the area. You have done that … but now you want to master the next level of the game. You really want to dive deep, get to know all the details and you are planning to install a sensor in a specific area or even on a specific spot. And since we are dealing with radio signals, a lot different factors can influence your signal quality.

Therefore a – as we call it – device connectivity test is recommended, meaning to test a defined spot over a longer period of time with as many test-signals as possible to test if this spot has a stable connection over time.

The available field testing devices for LoRaWAN are appropriate for “user range tests” and/or for “connectivity maps”.

See for example Adeunis Field Tester for LoRaWAN or Sigfox here:

Or the Mote 2

But if you want to test a defined spot for several days or weeks, leaving it maybe outdoor and be able to configure sending a payload each minute, there is no excellent stock product available in the market. Wether the battery doesn’t last that long, you don’t have an outdoor device or it is not configurable as you like to send frequently signals – or you don’t want to spend as much money and you want the real LoRa-Experience.

So why not build you own?

With our DIY-Connectivity-Tester-Guide, the source code and a bill of material absolutely no problem. See yourself:

Outdoor version and indoor version of the DIY connectivity tester

Bill of Material

Nr. Item Picture Price Link*
2 Pycom LoRa & Sigfox Antenna Kit   10,80€ Exp-tech
3 U.FL Antenna Connector   0,85€ Digikey
4 Switch   0,45€ Digikey
5 Backplate Foam core/board   10€ Amazon



Battery powered for autonomous purpose

6 LiPo Battery 13,40€ Eckstein Shop

For outdoor connectivity tests or in rough environment

7 Bopla IP67 Box 15€ Digikey

* No affiliate links

So with approx. 40-50€ you can build your own indoor LoRa-Field tester, if you add a battery and a case you can even transform it in an autonomous field-tester with IP65 outdoor capability.

We tested with an approx. 1min sending ping-intervall, the field tester lasts with a 4400 lipo battery at least 7 days. According to your intervall and settings you can even increase the lifespan of your field tester.

Assembling the device

Using the Adafruit Feather is quite straightforward: you can see all the details about it in the Adafruit’s documentation. In short, just connect the battery and the antenna to it, fix it to a piece of plastic so that it is tidy, then put it all in a box with a hole for the antenna.

However, there are a few things you should be careful about:

  • Soldering the U.FL connector: The Feather has room for an antenna connector (U.FL) but it is not soldered on out of the box. Soldering this small surface-mount component can be tricky, so here is a video which explains the process. If you don’t feel like soldering this connector, you can alternatively solder a basic wire antenna, as explained in the documentation (8.2cm for the 868MHz band), but you should expect worse performance.

Warning: The antenna coaxial connector is very fragile. Be careful to not bend or twist it too much or squeeze it when closing the lid of the box. Even if you do not see any damage, it can be broken on the inside.

  • Soldering the jumper: One of the pin of the radio module (the green square on top of the Feather) is required by the library we use for LoRaWAN communication (LMiC), but is not connected to the Feather’s M0 processor. You will need to solder a jumper between the pins io1 and 5 as shown on the image below. See here for the full picture of the Feather’s pins.
  • Soldering the switch (optional): By default, in our implementation, when the device is powered it transmits data non-stop at a preconfigured frequency.  As it can be a bit cumbersome to unplug the battery each time you want the device to stop transmitting, you can solder a switch between the pins A0 and GND. When those two pins are connected, the device stops transmitting (it is still on, just not doing anything).

Note: In our case we used standard SPDT switches (with 3 pins) that we had available, between the pins GND, A0 and A1. The A1 pin is not used, so it does not matter (but a SPST switch would be better suited).

Programming the device

We provide two example implementations for the LoRa Feather. You will need to install PlatformIO in order to build and upload those to your device. If you have trouble uploading to your device, common issues are explained in the Adafruit’s documentation.

  • periodic-confirmed transmits LoRaWAN confirmed frames at a preconfigured period, and the Feather red led will blink in a different pattern depending on whether or not it receives acknowledges from the server. This is particularly useful if you want to know in the field, without having access to the LoRaWAN server, if the device has network connectivity.
  • periodic-unconfirmed transmits LoRaWAN unconfirmed frames at a preconfigured period. This implementation is more suited for tests on a longer period of time, where you just drop the device somewhere and wait for the transmissions to reach the LoRaWAN server.


Leave a Reply

Close Menu