Skip to main content

SVC01-LS2

1781232875357-451.png

1. Introduction

1.1 What is SVC01-LS2 LoRaWAN Solenoid Valve Controller

The Dragino SVC01-LS2 is a LoRaWAN Solenoid Valve Controller designed for smart irrigation. SVC01-LS2 has the capability to control 2 of Solenoid Valve and able to get pulse count from water flow sensor. With these two features, SVC01-LS2 is suitable to be used in the remote water monitoring and controlling.

SVC01-LS2 supports BLE configure and wireless OTA update which make user easy to use.

SVC01-LS2 is powered by 19000mAh Li-SOCI2 battery or solar powered + Li-ion battery or 12 VDC power supply.

Each SVC01-LS2 is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.

1.2 Features

  • LoRaWAN: Version 1.0.3
  • Valve Control: 2-channel solenoid valve control
  • Valve Drive Capability: Supports DC 9V-12V latching pulse solenoid valves
  • Maximum Drive Current: 1.5A
  • Compatibility: TORO P150, PGV101 (9V DC), and other irrigation pulse valves
  • Water Measurement: 2-channel pulse counting for water volume measurement
  • Irrigation Scheduling: Configurable timed irrigation
  • Battery: 10000 mAh Li-ion rechargeable battery
  • Solar Panel: 1.2 W
  • Ingress Protection: IP67 rated
  • Durability Feature: Air pressure balance to sustain operation in tough environments

1.3 Specification

Common DC Characteristics:

  • Supply Voltage: Built-in Battery, 2.8v ~ 3.6v
  • Operating Temperature: -40 ~ 85°C

LoRa Spec:

  • Frequency Range, Band 1 (HF): 862 ~ 1020 Mhz
  • Max +22 dBm constant RF output vs.
  • RX sensitivity: down to -139 dBm.
  • Excellent blocking immunity

Battery:

  • Li/SOCI2 un-chargeable battery
  • Capacity: 19000mAh
  • Self-Discharge: <1% / Year @ 25°C
  • Max continuously current: 130mA
  • Max boost current: 2A, 1 second
  • Li-ion rechargeable battery
  • Capacity: 10000mAh
  • Self-Discharge: <1% / Year @ 25°C
  • Max continuously current: 130mA
  • Max boost current: 2A, 1 second

Power Consumption

  • Sleep Mode: 5uA @ 3.3v
  • LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm

1.4 Sleep mode and working mode

Deep Sleep Mode: Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.

Working Mode: In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.

1.5 Button & LEDs

1781236681920-836.png

Behavior on ACTFunctionAction
1749523489553-702.png 1~3sSend an uplinkIf sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, blue led will blink once.
Meanwhile, BLE module will be active and user can connect via BLE to configure device.
1749523491487-577.png >3sActive DeviceGreen led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network.
Green led will solidly turn on for 5 seconds after joined in network.
Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
1749523524280-815.png x5Deactivate DeviceRed led will solid on for 5 seconds. Means device is in Deep Sleep Mode.

1.6 BLE connection

SVC01-LS2 support BLE remote configure.

BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:

  • Press button to send an uplink
  • Press button to active device.
  • Device Power on or reset.

If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.

1.7 Pin Definitions

1.7.1 Pin Definitions

1781665683701-583.png

1.7.2 Connector Pin Definitions

1781745422211-631.png

1.8 Mechanical

1781244766594-897.png

2. Configure SVC01-LS2 to connect to LoRaWAN network

2.1 How it works

The SVC01-LS2 is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the SVC01-LS2. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.

2.2 Quick guide to connect to LoRaWAN server (OTAA)

Following is an example for how to join the TTN v3 LoRaWAN Network. Below is the network structure; we use the LPS8v2 as a LoRaWAN gateway in this example.

The LPS8V2 is already set to connected to TTN network, so what we need to now is configure the TTN server.

1781232972845-199.png

Step 1: Create a device in TTN with the OTAA keys from SVC01-LS2.

Each SVC01-LS2 is shipped with a sticker with the default device EUI as below:

image-20230426084152-1.png

You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:

Create the application.

1760349290930-189.png

1760349283819-573.png

Add devices to the created Application.

1760349274823-597.png

1760349266126-339.png

Enter end device specifics manually.

1760349259585-345.png

Add DevEUI and AppKey. Customize a platform ID for the device.

1760349251905-262.png

Step 2: Add decoder.

In TTN, user can add a custom payload so it shows friendly reading.

Click this link to get the decoder: https://github.com/dragino/dragino-end-node-decoder/tree/main/

Below is TTN screen shot:

image-20241009140556-1.png

1781233291913-896.png

Step 3: Activate on SVC01-LS2

Press the button for 5 seconds to activate the SVC01-LS2.

Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. Green led will solidly turn on for 5 seconds after joined in network.

After join success, it will start to upload messages to TTN and you can see the messages in the panel.

2.3.1 Device Status, FPORT=5

Users can use the downlink command(0x26 01) to ask SVC01-LS2 to send device configure detail, include device configure status. SVC01-LS2 will uplink a payload via FPort=5 to server.

The Payload format is as below.

Device Status (FPORT=5)
Size (bytes)12112
ValueSensor ModelFirmware VersionFrequency BandSub-bandBAT

Example parse in TTNv3

1781233475754-668.png

Sensor Model: For SVC01-LS2, this value is 0x4A

Firmware Version: 0x0100, Means: v1.0.0 version

Frequency Band:

0x01: EU868

0x02: US915

0x03: IN865

0x04: AU915

0x05: KZ865

0x06: RU864

0x07: AS923

0x08: AS923-1

0x09: AS923-2

0x0a: AS923-3

0x0b: CN470

0x0c: EU433

0x0d: KR920

0x0e: MA869

Sub-Band:

AU915 and US915:value 0x00 ~ 0x08

CN470: value 0x0B ~ 0x0C

Other Bands: Always 0x00

Battery Info:

Check the battery voltage.

Ex1: 0x0A3E = 2622mV

Ex2: 0x0B49 = 2889mV

2.3.2.1 MOD=1(Default Mode)

In this mode, uplink payload includes in total 19 bytes. Uplink packets use FPORT=2.

Size(bytes)2116144
ValueBatteryMODRelayPA9 & Motor_out1 & Motor_out2TimeDigital_InputPulse_Count1Pulse_Count2

1782264247530-152.png

Battery

Sensor Battery Level.

Ex1: 0x0A62 = 2658mV

Ex2: 0x0B49 = 2889mV

MOD

Example:

If payload is 0x01 = 0x01 --> The MOD is 1.

RelayPA9 & Motor_out1 & Motor_out2

Example:

RelayPA9: If payload is (0x40 >>1) & 0x01 = 0x00 --> The PA9 is Low level.

Motor_out1: If payload is (0x40 >>4) & 0x01 = 0x00 --> Indicates that Valve 1 is close.

Motor_out2: If payload is (0x40 >>5) & 0x01 = 0x00 --> Indicates that Valve 2 is close.

Time

Example:

If payload is 0x1A 06 0C 03 05 2D = 26/6/12,3:5:45

Digital_Input

If payload is 0x00 = 0 --> Digital_Input is Low level.

Pulse_Count1

If payload is 0x000001A2 = 418 --> Indicates that the Pulse1 count is 418.

Pulse_Count2

If payload is 0x000001A2 = 418 --> Indicates that the Pulse2 count is 418.

2.3.2.2 MOD=2(Relay Mode)

In this mode, uplink payload includes in total 10 bytes. Uplink packets use FPORT=2.

Size(bytes)2116
ValueBatteryMODRelayPB10 & RelayPB15 & RelayPB7 & RelayPA9 & Motor_out1 & Motor_out2Time

1782264058747-533.png

Battery

Sensor Battery Level.

Ex1: 0x0A62 = 2658mV

Ex2: 0x0B49 = 2889mV

MOD

If payload is 0x02 = 0x02 --> The MOD is 2.

RelayPB10 & RelayPB15 & RelayPB7 & RelayPA9 & Motor_out1 & Motor_out2

Example:

RelayPB10: If payload is (0x1A >>2) & 0x01 = 0x01 --> The RelayPB10 is high level.

RelayPB15: If payload is (0x1A >>3) & 0x01 = 0x01 --> The RelayPB15 is high level.

RelayPB7: If payload is 0x1A & 0x01 = 0x01 --> The RelayPB7 is high level.

RelayPA9: If payload is (0x1A >>1) & 0x01 = 0x01 --> The RelayPA9 is high level.

Motor_out1: If payload is (0x1A >>4) & 0x01 = 0x00 --> Indicates that Valve 1 is close.

Motor_out2: If payload is (0x1A >>5) & 0x01 = 0x00 --> Indicates that Valve 2 is close.

Time

Example:

If payload is 0x1A 06 17 0A 13 27 = 26/6/24,10:19:39

2.4 Payload Decoder file

In TTN, use can add a custom payload so it shows friendly reading

In the page Applications --> Payload Formats --> Custom --> decoder to add the decoder from:

https://github.com/dragino/dragino-end-node-decoder/tree/main/SVC01-L

2.5 Frequency Plans

The SVC01-LS2 uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.

2.6 Firmware Change Log

Firmware download link: To be updated

3. Configure SVC01-LS2

3.1 Configure Methods

SVC01-LS2 supports below configure method:

3.2 General Commands

These commands are to configure:

  • General system settings like: uplink interval.
  • LoRaWAN protocol & radio related command.

They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:

/docs/Configuration/end-node/at-commands-downlink/

3.3 Commands special design for SVC01-LS2

These commands only valid for SVC01-LS2, as below:

3.3.1 Set Transmit Interval Time

Feature: Change LoRaWAN End Node Transmit Interval.

AT Command: AT+TDC

Command ExampleFunctionResponse
AT+TDC=?Show current transmit Interval30000
OK
the interval is 30000ms = 30s
AT+TDC=60000Set Transmit IntervalOK
Set transmit interval to 60000ms = 60 seconds

Downlink Command: 0x01

Format: Command Code (0x01) followed by 3 bytes time value.

If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.

  • Example 1: Downlink Payload: 0100001E // Set Transmit Interval (TDC) = 30 seconds
  • Example 2: Downlink Payload: 0100003C // Set Transmit Interval (TDC) = 60 seconds

3.3.2 Get Device Status

Send a LoRaWAN downlink to ask device send Alarm settings.

Downlink Payload: 0x26 01

Sensor will upload Device Status via FPORT=5. See payload section for detail.

3.3.3 Set the pulse time

Feature: Get or set the pulse time of the valve(ms)

Note: For this feature, it is recommended that the pulse duration for valves 1 and 2 be set to 20 ms (default). Increasing the pulse duration will increase power consumption.

AT Command: AT+MVT

Command ExampleFunctionResponse
AT+MVT=?Show current parameters20,20
OK
AT+MVT=Motor_out1,Motor_out2

Ex1: AT+MVT=20,20
Configure the pulse duration for Valve 1 and Valve 2OK

Downlink Command: 0xA1

Format: Command Code (0xA1) followed by 4 bytes.

This means that the pulse times for Valves 1 and 2 on the terminal node are set to 0x00140014 = 20,20, with a type code of A1.

  • Example 1: Downlink Payload: A100140014 // Same as AT+MVT=20,20
  • Example 2: Downlink Payload: A100280028 // Same as AT+MVT=40,40

3.3.4 Set sd3178 time

Feature: Get or Set sd3178 time in second

Note: We recommend using the automatic time synchronization feature, as manually set times may differ slightly from the actual time.

AT Command: AT+SDTIME

Command ExampleFunctionResponse
AT+SDTIME=?Get the current time26/06/12 09:20:37 - w5
OK
AT+SDTIME=1Set to automatic time synchronizationOK

Downlink Command: 0xA3

Format: Command Code (0xA3) followed by 1 or 7 bytes.

This means that the endpoints are configured manually or set to automatic synchronization, with a type code of A3.

  • Example 1: Downlink Payload: A3 01 // Same as AT+SDTIME=1, Set to automatic time synchronization
  • Example 2: Downlink Payload: A3 1A 06 0C 09 14 25 05 // Same as AT+SDTIME=26,06,12,09,20,36,5, Configured on: 06/26/12 09:20:36 - w5

3.3.5 Set Workmode

Feature: Switch working mode.

AT Command: AT+MOD

Command ExampleFunctionResponse
AT+MOD=?Get the current working mode1(Default)

OK
AT+MOD=21. Counting + Relay Mode
2. 4-Channel Relay Mode
OK
Attention:Take effect after ATZ

Downlink Command: 0x0A

Format: Command Code (0x0A) followed by 1 bytes.

  • Example 1: Downlink Payload: 0A01 ---> AT+MOD=1
  • Example 2: Downlink Payload: 0A02 ---> AT+MOD=2

Note:

  1. In Mode 1, the count pins are: Pulse1 and Pulse2; The relay pins are: dry contact outputs

  2. In Mode 2, the relay pins are: Pulse1, DI, Pulse2, Dry Contact Out.

  3. For pin assignments, please refer to 1.7 Pin Definitions

  4. After configuring the device, you'll need to reset it; otherwise, the configuration will not take effect.

3.3.6 Set Relay Status(Pulse1, DI, Pulse2, Dry Contact Out.)

Function: Configure relay mode.

AT Command: AT+RELAY

Format:

AT+RELAY=Parameter 1,Parameter 2,Parameter 3,Parameter 4

Parameter Description:

  • Parameter 1: Control the relay status on the Pulse1 port. (1.Enabled; 0.Disabled)
  • Parameter 2: Control the status of the DI port relay. (1.Enabled; 0.Disabled)
  • Parameter 3: Control the relay status on the Pulse2 port. (1.Enabled; 0.Disabled)
  • Parameter 4: Control the status of the Dry Contact Out port relay. (1.Enabled; 0.Disabled)

Note:

  1. When AT+MOD=1, this command can only control the relay status of the Dry Contact Out port.

  2. When AT+MOD=2, this command can control the relay status of all four ports either simultaneously or individually.

  3. Whenever the relay status changes, a data packet indicating the change is sent to the platform.

  4. For pin assignments, please refer to 1.7 Pin Definitions

Downlink Command:

Format: Command Code followed by 1 bytes.

  • Example 1: Downlink Payload: 0601 ---> Enable the Pulse1 Relay.
  • Example 2: Downlink Payload: 0600 ---> Disable the Pulse1 Relay.
  • Example 3: Downlink Payload: 0701 ---> Enable the DI Relay.
  • Example 4: Downlink Payload: 0700 ---> Disable the DI Relay.
  • Example 5: Downlink Payload: 0801 ---> Enable the Pulse2 Relay.
  • Example 6: Downlink Payload: 0800 ---> Disable the Pulse2 Relay.
  • Example 7: Downlink Payload: 0901 ---> Enable the Dry Contact Out Relay.
  • Example 8: Downlink Payload: 0900 ---> Disable the Dry Contact Out Relay.

3.3.7 Valve Control

Feature: Instant control valve.

  • AT Command:

AT+VALVE=<port>,<action>,<duration>

Parameter Description:

  • port: Valve number
  • action: 0=Close, 1=Open, 2=Open and start timer
  • duration: Duration (minutes)

Downlink Payload:

Format: A2 <port>,<action>,<duration>

Example:

0xA2 01 01 00 ---> Same as AT+VALVE=1,1,0 // This means that Valve 1 opens immediately

0xA2 02 01 00 ---> Same as AT+VALVE=2,1,0 // This means that Valve 2 opens immediately

0xA2 02 02 02 ---> Same as AT+VALVE=2,2,2 // This means that Valve 2 opens immediately and remains open for two minutes before closing automatically.

0xA2 01 02 02 ---> Same as AT+VALVE=1,2,2 // This means that Valve 1 opens immediately and remains open for two minutes before closing automatically.

3.3.8 Add or delete scheduled tasks for timed valves

Feature: Get or set the irrigation plan

Note: This feature relies on the device's internal clock for timing, so you must first synchronize the time or manually set the time before using it.

3.3.8.1 Configure scheduled tasks for valves

This command allows you to configure up to 16 scheduled tasks.

AT Command:

  • AT+PLANADD=<id>,<valve>,<weekday>,<start_h>,<start_m>,<duration>,<enable>

Parameter Description:

  • <id>: Plan ID (1-16)
  • <valve>: Target valve number. (1: Valve 1; 2: Valve 2; 3: Control two valves simultaneously)
  • <weekday>: Day of the week (1=Sunday, 2=Monday, 4=Tuesday, 8=Wednesday, 16=Thursday, 32=Friday, 64=Saturday, 127=All day)
  • <start_h>: During operating hours (00:00 AM-11:00 PM). Note: This parameter must be based on SDTIME time.
  • <start_m>: Start-up minutes (0-59 minutes)
  • <duration>: Duration (minutes)
  • <enable>: Enable or Disable this task (0=Disable, 1=Enable)

Downlink Payload:

Format: A4 <id>,<valve>,<weekday>,<start_h>,<start_m>,<duration>,<enable>

Example:

To configure the following: "Schedule 0: Monday 8:30 AM, open Valve 1, duration 15 minutes, enabled," Downlink the following command

0xA4 01 01 01 08 1E 0F 01 ---> Same as AT+PLANADD=1,1,1,8,30,15,1

3.3.8.2 Get all current scheduled tasks

Command ExampleFunctionResponse
AT+PLANADDGet all current scheduled tasksPlan1:1,1,8,30,15,1

Plan2:0,0,0,0,0,0

Plan3:0,0,0,0,0,0

Plan4:0,0,0,0,0,0

Plan5:0,0,0,0,0,0

Plan6:0,0,0,0,0,0

Plan7:0,0,0,0,0,0

Plan8:0,0,0,0,0,0

Plan9:0,0,0,0,0,0

Plan10:0,0,0,0,0,0

Plan11:0,0,0,0,0,0

Plan12:0,0,0,0,0,0

Plan13:0,0,0,0,0,0

Plan14:0,0,0,0,0,0

Plan15:0,0,0,0,0,0

Plan16:0,0,0,0,0,0

OK

3.3.8.3 Delete scheduled task

Note: When set to 0, clear all scheduled tasks; when set to 1-16, clear specific scheduled tasks.

Command ExampleFunctionResponse
AT+PLANDEL=<id>

Parameter:

<id>: Plan ID (0-16)
Delete scheduled taskOK

Downlink Payload:

  • 0xA5 00 ---> Same as AT+PLANDEL=0 // This means clearing all scheduled tasks
  • 0xA5 01 ---> Same as AT+PLANDEL=1 // This means deleting the first scheduled task

3.3.9 Set Interrupt Mode

Feature, Set Interrupt mode for Pulse1 and Pulse2 of pin.

When AT+INTMOD=0,0 is set, Pulse1 and Pulse2 is used as a digital input port.

AT Command: AT+INTMOD

Command ExampleFunctionResponse
AT+INTMOD=?Show current interrupt mode0,0
OK
the mode is 0 =Disable Interrupt
AT+INTMOD=2,20: Disable Interrupt
1: Trigger by rising and falling edge
2: Trigger by falling edge
3: Trigger by rising edge
OK

Downlink Command: 0x03

Format: Command Code (0x03) followed by 2 bytes.

This means that the interrupt mode of the end node is set to 0x0303=3,3 (rising edge trigger), and the type code is 03.

  • Example 1: Downlink Payload: 030000 // Turn off interrupt mode
  • Example 2: Downlink Payload: 030303 // Set the interrupt mode to rising edge trigger

3.3.10 Set Digital pulse count value

Feature: Set the pulse count value.

AT Command: AT+SETCNT

Command ExampleFunctionResponse
AT+SETCNT=Parameter 1, Parameter 2Parameter 1: Count value for Pulse1
Parameter 2: Count value for Pulse2
AT+SETCNT=200,100Initialize the count value of Pulse1 to 200;

initialize the count value of Pulse2 to 100.
OK

Downlink Command: 0x10

Format: Command Code (0x10) followed by 8 bytes.

The first four bytes are the initial count value for Pulse1, and the last four bytes are the initial count value for Pulse2.

  • Example 1: Downlink Payload: 10000000010000000A ---> AT+SETCNT=1,10
  • Example 2: Downlink Payload: 1000000002000003E8 ---> AT+SETCNT=2,1000

4. Battery & Power Consumption

SVC01-LS2 use 3 x ER26500 + SPC1520 battery pack and SVC01-LS2 use 10000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.

To be updated

5. OTA Firmware update

User can change firmware SVC01-LS2 to:

  • Change Frequency band/ region.
  • Update with new features.
  • Fix bugs.

Firmware and changelog can be downloaded from: Firmware download link

Methods to Update Firmware:

6. FAQ

6.1 Why is there no LED response when I press the button on the solar panel model?

If the LED does not light up when you press the button, it may be because the battery has entered protection mode.

Solution: To reactivate the battery, simply expose the solar panel to direct sunlight. For more details, please refer to: Battery Protection State (Apply to Solar Panel + Li-ion battery)

7. Order Info

Part Number: SVC01-LS2-XX

XX: The default frequency band

  • AS923: LoRaWAN AS923 band

  • AU915: LoRaWAN AU915 band

  • EU433: LoRaWAN EU433 band

  • EU868: LoRaWAN EU868 band

  • KR920: LoRaWAN KR920 band

  • US915: LoRaWAN US915 band

  • IN865: LoRaWAN IN865 band

  • CN470: LoRaWAN CN470 band

8. Packing Info

Package Includes:

  • SVC01-LS2 LoRaWAN Solenoid Valve Controller

Dimension and weight:

  • Device Size: cm

  • Device Weight: g

  • Package Size / pcs : cm

  • Weight / pcs : g

9. Support

  • Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.

  • Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to Support@dragino.cc.