I built an irrigation controller for the dripline system we have for the garden, using the Spider platform. It has been a good way to test the platform and see how it stands up to real usage requirements.
The controller consists of a Raspberry Pi Zero W, a solenoid to control the flow of water, two buttons to toggle power and increment the internal timer, and a sensor probe to measure the soil temperature and moisture. The RPi runs software that acts as a peripheral to the Spider system, and connects to the paired base and allows for control through the UI page registered there.

The operation is pretty simple. There is an internal timer that tracks the remaining time the water should be on, and while the timer is running the solenoid is opened. The timer can be increased through the button as well as the UI page in the Spider GUI.
The schedule is defined by three inputs. A start time, a duration, and an optional moisture limit. If the current time equals the start time, the duration is added to the timer. However, if the moisture level is set and the current moisture exceeds the threshold, the schedule is skipped for the day.
The control board is a bit of perfboard with a header that attaches the RPi to it. The sensors and buttons are soldered into their respective GPIO pins. The solenoid requires 12V, so the main power supplied to the board is also 12V. There is a regulator to supply the RPi, and a MOSFET to control power to the solenoid. The soil probe connects via I2C.
The case is 3D printed with braces that hold the perfboard in place when the two halves are fastened together. The two halves are held together with screws. There is a small channel around the lip of the case that I filled with some HVAC putty. When the two halves are screwed together, the case compresses around the putty to create a seal.
The solenoid has its own case since it is installed inline with the hose itself, and therefore needs the flexibility. Its 3D case is designed similarly to the case of the main body. It is two halves that are screwed together, with putty at the join.
Both the controller box as well as the solenoid housing are installed next to the spigot that supplies the drip hoses. There was already a board and power outlet at the location, which made installation much easier.
The system works very well, I am very pleased by how it turned out. However, it is still newly installed. Problems could arise with time or changes in weather. I also think that I should have used different wires to connect the probe and the solenoid. The wires are very thin and don’t feel sturdy next to the heavy cases. If I were to build this again, I would try to make the cases themselves smaller, especially the control housing. Pairing the system to the base is difficult. It requires uploading a code through SSH. Instead it could use bluetooth to connect to the GUI app and transfer credentials in this way.