Dragino SW3L LoRaWAN Water Flow Sensor

Dragino water flow sensor and LoRaWAN Sensor Node

I have been working on the Dragino SW3L LoRaWAN IoT device as part of my the Remote Water Trough Monitor Project where I am attempting to produce an affordable remote water monitoring system so animal drinking water can be monitored remotely by farmers.

In this post I am going to introduce Dragino, the SW3L product and step through some of the technical details of setting up the device. There are a few tricks to getting it working because the online Dragino documentation is vague in parts and bit of technical know-how is required. Hopefully, this post can help out others who are working with the Dragino IoT devices.

Who is Dragino?

Dragino is a company that specialises in the design and manufacture of IoT (Internet of Things) devices and solutions. The company was founded in 2010 and is headquartered in Shenzhen, China, with branch offices in Hong Kong and Taiwan.

Dragino's mainly produces cost-effective and IoT devices that are deployment ready. They can be integrated into existing systems using existing wireless infrastructure like bluetooth, wifi, LoRaWAN and NB-IoT. The company's product portfolio includes a large range of IoT sensors that are often the same mainboard with different input configurations.

What is the Dragino SW3L?

The Dragino SW3L is one combination of the multi-use mainboard (known as LSN50V2), a LoRaWAN communications board and a budget water flow sensor as input. It is battery operated and designed to withstand outdoor weather conditions. The water flow meter itself is similar to the commonly found yf-s201 that can be found on many online stores.

Matching the water flow sensor with the LoRaWAN module effectively changes it from being a basic mechanical water meter, to a digital water flow meter that can record data in the cloud that can be viewed from anywhere.

It should be noted that this is a budget device. Meaning, the device features are basic, the documentation is not mature and (in my experience) support is non-existent. The device does it's job well and is very affordable, but users will likely need an intermediate level of technical knowledge to get it up and running.

Starting the device

The SW3L is not delivered with any instructions and requires you to go online to figure out how to turn the device on. The online User Manual is easy to access.

Here is a PDF version of the Dragino SW3L User Manual.

To start the device, you need to take off the cover and reposition a PCB header to connect two pins. Once complete the internal PCB LED will flash to indicate it is on.

In Australia, we operate on LoRaWAN bands AU915 mhz and AS923 mhz. The device I ordered had AU915 firmware installed by default but can be AS923 compatible via a firmware update. I contacted Dragino support to find details on installing the AS923 firmware over the serial interface but never got a reply. I have successfully completed this but note that a separate USB to TTL Serial Converter Adapter Module is required to complete the task.

Setting up the device

To configure the parameters on the device, there are 2 options: serial interface or LoRaWAN downlink messages.

Configuring the device using the dreaded serial interface requires a separately purchased USB to TTL Serial Converter Adapter Module. I already needed to set this up for the AS923 firmware update, so I decided to use the serial interface for configuration.

The following parameters can be set on the device:

  • Set Transmit Interval Time
  • Set Password
  • Quit AT Command
  • Alarm for continuously water flow
  • Clear Flash Record
  • Set the calculate flag
  • Set count number
  • Set work mode

This is where the documentation gets annoying because the parameter descriptions and detail is incomplete. Also, the examples could be more thorough.

A few quick tips:

  • To connect to the device you need to set the serial baud rate to 9600
  • You need a serial client. I recommend the free Rak Serial Support Tool
  • You need to enter the set password command AT+PWORD=123456 before other commands will work.

The Set the calculate flag is used to configure the number of pulses your meter sends per litre of water. The flag needs to be set depending on the size flow meter purchased:

  • calculate flag=0: for SW3L-004 Flow Sensor: 450 pulse = 1 L
  • calculate flag=1: for SW3L-006 Flow Sensor: 390 pulse = 1 L
  • calculate flag=2: for SW3L-010 Flow Sensor: 64 pulse = 1 L

Default value: 0.

However, if you are using a different flow meter or water meter like I am, you need to set the calculate flag to 3 using the serial command AT+CALCFLAG =3 and then calculate the volume of water on server you are sending the data to.
eg meter registers 1 pulse per 500ml, the calculation would be 0.5 * pulse count

Another important parameter is the Set Transmit Interval Time. By default this is set to send an uplink transmission every 20 minutes. I needed to change it to every 15 minutes which can be done with the AT+TDC=900000 (milliseconds) command.

A more complete list of all AT commands can be found on the Dragino Wiki


The Dragino SW3L LoRaWAN IoT device is budget friendly battery powered data logger that can uses long range LoRaWAN communications. The product is not a plug-and-play device and requires a bit of technical knowledge to get started. Once running the device is a reliable way to remotely monitor water meters with pulse outputs.

If you have been using any of the Dragino IoT devices or would like to, please share your thoughts in the comments section below.