Spruce Irrigation Controller




Introducing the Spruce Smart Irrigation Controller! Spruce is a 16 zone irrigation controller that connects wirelessly to your SmartThings hub using the ZigBee protocol. It seamlessly integrates with any smart home that uses the SmartThings platform, allowing for remote control and monitoring of your home irrigation system- and when coupled with the wireless moisture sensors, the monitoring of your yard as well!

Have you ever seen how ridiculous it looks for a commercial or residential irrigation system to be watering during the heaviest downpour of the year? Spruce can help, and it doesn’t come in the form of a wireless sensor that always seems to be dead when you need it. Spruce will get the day’s weather forecast and use that to determine whether or not to water. You can even adjust the setpoint for the amount of rainfall in the Smart App. Or if you want, you can tie your existing rain sensor into the Spruce system (why not, you already paid for it, right?).

The Spruce’s ability to connect to the internet isn’t the only selling point here. Spruce outperforms my Rain Bird in terms of customizations too. Whereas I could only set my Rain Bird to water each zone for a set amount of time, Spruce gives me some options. For instance, if I need to water Zone 1 for 16 minutes, well, that’s that with the Rain Bird. Spruce gives me the option to minimize runoff by cycling my sprinklers for 16 minutes. What that does is cut each zone’s time in half, but it cycles the sprinklers twice (so Zone 1 will get watered twice for 8 minutes in this example). During the configuration process, you will select your type of lawn and sprinkler heads. They even give you options such as slope, sand, and clay to make sure your lawn is getting the most out of your irrigation system. Have a pump? No worries, they took that into account too.

The real difference maker with the Spruce system doesn’t even necessarily come from the controller. You have the option to buy moisture sensors that you place in the ground around your yard. You can then tell Spruce how moist or dry you want the ground before the system will water that section again. You can tie-in multiple zones to a single moisture sensor. This has the potential to save you a lot of money on water, as well as prevent the proliferation of weeds from overwatering.

My wife purchased the Spruce kit (the controller and 2 moisture sensors) for me for Christmas in 2015. So I’ve put it to use on a residential lawn for the entire 2016 year and feel like I’ve had enough experiences with it to write a thoughtful review and how-to that may be helpful to others.


  • Features
  • Reliability
  • Ease-of-use
  • Price
  • Documentation
  • Developer support


The Spruce Irrigation system is a reliable, yet affordable, smart sprinkler system that runs on the SmartThings platform. The controller is loaded with features that you would find in high-end sprinkler systems, but it also has something that really sets it apart from the competition- optional wireless sensors. The Spruce sensor measures the soil's moisture and temperature and helps determine when to water using real-time, in-ground soil conditions, helping you save money by watering smarter. The Spruce website has excellent documentation and the developer provides great technical support.




Connecting to SmartThings


As with all SmartThings products, let’s start by connecting the device to the SmartThings hub. Make sure you are close to your hub when joining the Spruce to the network. Since this was my first time using SmartThings, there were a lot in the instructions that didn’t make sense to me. You can follow the below screenshots as a guide to getting your Spruce on the network.

Slideshow- Tap or click to view

Step 2-
Give your room a name then tap “Done”.

Step 3-
Tap on “Marketplace”.

Step 4-
Swipe down until you see “Irrigation”, then tap on it.

Step 5-
Tap on “Spruce Irrigation Controller”.

Step 6-
Tap on “Connect Now”. SmartThings will now start searching for your controller.

Ensure that your Spruce controller is plugged in and you are near your SmartThings hub. When it starts up, the Spruce logo should show a flashing purple & green LED. Once it boots up, it will start flashing red. Touch the function button, then the zone 9 button to join the network. If successful, the Spruce logo will turn blue and you will get confirmation in the SmartThings app. If unsuccessful, you will need to unpair the controller by touching the function button, then the zone 16 button and try again.

Step 8-
Go back to the room you created earlier. Tap on “Add a Device” then choose your Spruce.

Step 9-
Your Spruce should now show up in your room. Tap it for configuration options.

Step 10-
Once you have your Spruce wired up, you’ll want to come back here to “Smart Apps” to configure your controller.

Installing the Spruce controller


Now to the installation. If you’re starting from scratch, you’ll need to mount an enclosure box large enough to house the Spruce controller. The controller is NOT waterproof. Most people will be in my situation- they already have an existing irrigation system with an installed controller. In this case, it’s possible to modify the existing controller box to house your Spruce. In fact, that’s exactly what I did. I had a Rain Bird controller that I gutted and used as an enclosure, as explained here.

Next, unwire the Rain Bird modules, paying close attention to which wires are for each valve. On my Rain Bird, the valve numbers are stamped into the housing, just below the modules (1-12 + Aux). Also note the common wire. Then click the Rain Bird modules to the unlock position and remove them. Finally, remove the 2 screws from the transformer and take it out too (again, the second screw is hidden in the picture below).

Although you can just wire up your Spruce and leave it floating in the box, I decided that I would rather mount mine using the existing Rain Bird standoffs. I doubled up 2 pieces of particle board for the backplate, and used the 4 standoffs shown below. First, I mounted the Spruce to the backplate using some extra machine screws and nuts I had around the house. Then I screwed the backplate in using the existing Rain Bird screws. Notice there are no standoffs in the lower right hand corner. To give your controller some support on the backside of this corner, just fold a scrap piece of the particle board over on itself several times then wedge it behind the controller.

Next, you will need to remove the front cover. You do this by releasing the two tabs at the bottom and lifting the top of the faceplate off first. This is to prevent bending or breaking the pins that connect the faceplate to the field wires. Now it’s time to wire this guy up. Hopefully you either labeled your wires, wrote down which color went to what valve, or simply took a picture. The Spruce controller uses spring terminals, so just press down on the terminal tab, insert the stripped wire, and release. Give the wire a slight tug to make sure you landed it correctly.

Now all that’s left to do for the installation portion is reinstall the cover and run the included power adapter to the nearest outlet. Once you power up your Spruce, it’s time to head back to the SmartThings app.

Configuring Spruce


After you get your Spruce installed, you’ll need to configure it in the SmartThings app. There’s nothing really hard about configuring the Spruce controller, but there are a lot of options! One thing to note is that once you set up your zones, you must go back into each zone and configure them all. There are many water-saving features, and it may take some trial-and-error to determine which settings are best for you and your lawn.

Slideshow- Tap or click to view

Select the “Smart Apps” tab at the top then tap your controller program, or “Lawn Irrigation” in this example.

Tap on “Schedule settings”.

Here you can rename your schedule, select your controller, enable/disable watering, and set up your watering schedule.

Schedule settings continued.
You can also select your push notifications from the SmartThings app. Don’t forget to tap “Done” when you complete each section or your settings won’t stick!

On the previous screen tap “Weather Settings”.

Enter your zip code to set your weather location. Set your rain delay then decide if you want to use seasonal adjustments. Tap “Done”.

On the previous screen, tap “Zone summary and setup”.

Tap on “Zone configuration”.

Enter the number of zones you have. You can enable moisture learning to automatically adjust your watering times.

Zone configuration continued. Tap “Done” when you’re finished.

You should now have however many zones you selected during zone configuration. You will need to setup each zone.

Start with your type of sprinkler heads.

Select the type of sprinkler that best matches the kind you have.

Sprinkler type continued. You also have individual settings for master valves and pumps. Tap “Done” when you’re finished.

On the previous screen, tap “Landscape Select”.

Choose the type of landscape that best matches your application.

Landscape types continued. Tap “Done”.

On the previous screen, select “Options”.

Again you have many choices. Select the type that best describes your landscape.

Options continued. You can let Spruce automatically set the Cycle by selecting the type of soil, or you can set it yourself. Tap “Done” when complete.

On the previous screen, if you have moistures sensors you can assign them here.

Tap the moisture sensor you want. You can assign moisture sensors to more than one zone. Tap “Done” when complete.

Back on the previous screen, if you’re not using any moisture sensors, you can opt to use a time-based schedule.

If you have a master valve or use a pump, you can configure those settings here.

Go back to your room where your Spruce is and tap the “Recently” tab.

Once your irrigation system has been in operation for a little while, you can always come back here to find a wealth of information and see exactly what your irrigation system is doing!

The Spruce in action


The controller, although wireless and intended to normally be operated automatically or through the SmartThings app on your phone, can also be operated locally. There are no buttons as the front cover is touch-operated. So, to start a zone from the controller, you simply touch the number of the zone you want to start. Touch it again to stop the zone.

Setup, however, is done strictly through the app. There are no other operational functions that can be performed from the controller other than starting and stopping a zone. Like any other irrigation controller, you must give it instructions on when to water. You can also disable the controller at any time in the “Schedule settings” menu in the app. Once you winterize your system, you should disable the controller.

Spruce schedule settings in the SmartThings app.

If you followed the “Configuring Spruce” slideshow above, you will have already made the necessary changes to automatically operate the Spruce. But what if you threw some grass seed down and wanted to manually water in between scheduled waterings? This is possible by manually operating the controller through the app. Referencing the images below, go to the room that has your Spruce and tap on your controller. If your Spruce is enabled it will say “Schedule” instead of “Disabled”. You have 2 options to manually water. If you tap “Start”, the entire program will be started manually. All zones will be watered. If you tap on any of the individual zones, you will water that zone only. It’s that easy.

Go to your room with the Spruce and tap on it. Your Spruce should say “Schedule” instead of “Disable”.

If you want to run all zones manually, simply tap on the “Start” button.

If you only want to water one zone, tap on the number corresponding to the zone.

If you don’t need or don’t want to buy the moisture sensors, you don’t have to. The Spruce will still function as well or better than your old irrigation controller. Instead of setting your irrigation system to water based on moisture, it will water based on time. Spruce does this by getting the amount of time you want to water per week, and then dividing this by a number you select. So if you want to water for 120 minutes a week and select the default of 20, it will be 120 ÷ 20 = 6. You will water six days a week. If you wanted to water for 7 days, you would change the default value from 20 to 17. The lower the number you are dividing by, the more days you will water per week but for less time each day. The higher the number, the more you will water each day but you will water fewer days per week.

Update: 6/22/17. Another benefit of having a connected irrigation controller is being alerted to problems with your sprinkler system.

Spruce helped me diagnose a failed solenoid valve . I have no doubt this saved me quite a bit of time and effort repairing Zone 5 of my lawn! The notification on my phone allowed me to start troubleshooting before the summer heat started killing the grass!

Spruce moisture sensors


The Spruce sensor- referred to in the SmartThings app as a moisture sensor- also measures soil temperature and reports that along with the moisture data to SmartThings. The sensor is basically a probe that you stick in the ground to get your readings. The electronics are housed beneath a cover which attaches to the probe. The cover is held in place by two screws, and has an O-ring seal to keep moisture out.


The Spruce moisture sensor.

The frequency of the measurement interval can be set in the app (the default is every 10 minutes), but the sensor will only report new data if something has changed. This helps to conserve power. Each sensor is powered by a single CR123A battery, which should last an entire season. I’ve had to replace one battery in a sensor. I have 4 sensors total, but 2 I bought halfway through the year and another I had to get a replacement shipped out (free of charge!).

The sensor, like the controller, communicates via ZigBee, with the controller acting as a repeater. However, the Spruce sensors do not act as repeaters, and if you can’t get a signal where you want to place a sensor, you’ll need to buy one. Note that the communication protocol is ZigBee, not Z-wave. You’ll definitely want to get the right kind of repeater. If you want to minimize the extra expense, you should strategically locate your sensors. They do well in line-of-sight, but once you start placing sensors around brick corners then the signal degrades rapidly. Two of my sensors run off a repeater- I just couldn’t get the signal strength I needed without it.


Spruce sensor in the yard.

The sensors do a good job of blending in with the yard. They definitely won’t be noticeable from a sidewalk. In fact, I highly recommend you take a photo of the placement with a point of reference in the background, then upload that photo to the SmartThings app. When the grass grows a little, these guys are hard to find, even with the photo. But the picture does help narrow down the general area.

Although Spruce says the sensors aren’t designed to withstand the weight of a riding lawnmower, I don’t pick mine up when I mow and haven’t had any issues that I can trace back to mowing. The sensor head sits low to the ground, giving the mower blades plenty of room to pass over.

Adding the Spruce sensor


The sensor is easy to add to the network. You follow similar instructions as you did for the controller. Open your SmartThings app, tap on the “Things” tab, and then tap on “Add a device”. SmartThings will begin searching for a new device to add. If you have a new sensor, you’ll just pull out the battery tab and wait for the sensor to be found. Add your sensor to the same room as your controller.

When you tap on the sensor you added you see other useful information, including the soil temperature. I use the temperature as a guideline on when to overseed.

Spruce sensor app data.

Removing the Spruce sensor


If you’re having trouble with your sensor, Spruce recommends removing the sensor from the network and rejoining it to SmartThings. First you’ll need to remove it from SmartThings. Go to the sensor that you want to remove. Tap the gear icon in the top right. Scroll down and tap the “Remove” button.

Find the sensor you want to remove.

Tap on the sensor you want to remove.

Tap the gear icon in the top right.

Scroll down and tap the “Remove” button.

Now you need to disassociate the sensor from the network. To do this, you need to remove the two screws and take the cover off the sensor head. You’ll see a button labeled “SW1” on the PCB. Hold this down until the blue LED flashes. Remove the battery and wait 1 minute before attempting to rejoin the sensor to the network. Ensure you don’t lose the O-ring.

Spruce sensor with cover removed.

My thoughts on the Spruce


At first, I was kind of skeptical how I would use a smart irrigation system. As it turns out, when I finished wiring up the Spruce, I realized I had a leak (which I later found was from the developer placing a sidewalk over one of my sprinkler heads!). Having the ability to start and stop each zone from my phone actually saved me a lot of time by not having to walk over to the controller each time.

But most people won’t want to buy a Spruce for that reason alone. Most importantly, I can monitor my lawn’s water usage. I get daily alerts on the behavior of my irrigation system. Additionally, I am no longer tied down to my home if I need to manually water my grass seed in the spring and fall. I can do the things I want to do (think a kid’s tee ball game!) without sacrificing my lawn. I can water in the afternoon and not have to worry about leaving the grass blades damp and prone to fungal attack. I can water my lawn from the ship I work on in the Gulf of Mexico if need be (and I have had to do this). The moisture sensors also give me a general idea of whether or not my sprinklers are working when I’m not around. This helped me identify a sprinkler head with a clogged filter this summer.

With all the benefits of the Spruce, you still need to be aware of a few things. It is tied to the SmartThings platform. If SmartThings isn’t functioning, then your irrigation controller may not water. We have had this happen once. I didn’t receive the daily alert, so I checked the SmartThings app and sure enough the Spruce didn’t water. SmartThings periodically does updates which I believe to be the culprit in this particular situation. The slew of SmartThings updates this year has improved the platform greatly, although the updates have mostly had a minimal impact on the Spruce controller.

I also had one other situation where my GFCI outlet that powers the Spruce tripped, but I wasn’t given a SmartThings notification. I actually had to dig into the app and find in the “Recently” tab that the Spruce hadn’t communicated in more than 24 hours.

All-in-all, I think this is a fantastic product. I’ve received great support from the developers of Spruce to quickly solve any and all issues that I’ve had. I’ve had to minimally troubleshoot the controller and sensors, making this close to a “set it and forget it” system. As with all automation products, there will be a small amount of upkeep to ensure the system is fully functional at all times. For these reasons, I would recommend this product.

Check out Spruce’s website !

Related topics: