Add Wifi control to an ordinary residential sprinkler system using a Raspberry Pi Pico W. This gives you remote control of your sprinkler system. Optionally read weather information from an Ecowitt weather station (rain, wind, temperature) to control scheduling. It can also use a Govee Table Lamp or LED strip(s) to indicate operational status.
You can either add a web inteface to an existing "dumb" sprinkler controller or entirely implement the controller. If you keep the existing controller in place, then you only need one relay. If you choose to implement the entire controller then you will need one relay for each irrigation zone plus a 24VAC power supply.
A relay controlled by the Pico W is inserted into the common line that runs from the existing controller to the sprinkler valves. An easy 2 minute job. The existing irrigation controller is then configured to run the sprinklers every day, or even multiple times every day. The Pico connects / disconnects the common line to control when the sprinklers actually run.
Relays controlled by the Pico W are used to switch 24VAC to each irrigation zone. A device like "Waveshare Industrial 8-Channel Relay Module for Raspberry Pi Pico" can be used to control up to 8 irrigation zones.
sudo apt install git build-essential cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
git clone --recurse-submodules https://github.com/NewmanIsTheStar/usurper.git
cd usurper
mkdir build
cd build
cmake ..
make
Upon completion of a successful build the file usurper.uf2 should be created. This may be loaded onto the Pico W in the usual manner.
- The Pico W will initially create a WiFi network called pluto. Connect to this WiFi network and then point your web browser to http://192.168.4.1
- Note that many web browsers automatically change the URL from http:// to https:// so if it is not connecting you might need to reenter the URL.
- Set the WiFi country, network and password then hit save and reboot. The Pico will attempt to connect to the WiFi network. If it fails then it will fall back to AP mode and you can once again connect to the pluto network and correct your mistakes.
- Set the personality by navigating to Settings/Foibles/☺
- Sprinkler Usurper for single relay
- Sprinkler Controller for multiple relays
- LED Controller for remote LED strip
- Refer to the Wiki for more detailed configuration
I bought this stuff on Amazon and it is available elsewhere. The relay module is especially convenient for this project.
- Signal Relay Module for Raspberry Pi Pico, SPDT 2Amp / AC120V DC24V
- ECOWITT Wittboy Weather Station GW2001
- ECOWITT WH51 Soil Moisture Sensor Soil Humidity Tester
- Govee Table Lamp H60511D1
- Addressable RGB LED strips
- Additional Pico W boards to control remote LED strips
- Waveshare Industrial 8-Channel Relay Module for Raspberry Pi Pico
- SPDX-License-Identifier: BSD-3-Clause
- SPDX-License-Identifier: MIT