Building a smart irrigation controller with Modulo

The brainchild of Erin Tomson, Poseidon is an irrigation controller based on Modulo, Raspberry Pi and Flutter boards.

Like many of us, Erin Tomson has vegetable garden in her backyard. While having fresh, organic crops right outside your door seems like a great idea, often times it can become a daunting task having to constantly water the plants. And though there are a number of commercial sprinkler systems available to automate and monitor the process, the Maker decided to take it upon herself to devise her own irrigation controller with the help of Modulo boards, Raspberry Pi and Flutter Wireless.

Modulo Kickstarter photographs

For those unfamiliar with Modulo, the tiny set of modular circuit boards — which is wrapping up an extremely successful campaign on Kickstarter — provide DIYers with an easy-to-use, hassle-free way to devise electronic projects. Each board is equipped with its own little processor (ATtiny841) that communicates with an ATmega32U4 driven Controller. Makers then can slide their modules right into the so-called Modulo Base which securely holds them in place.

Dubbed Poseidonthis recent project is comprised of three parts: the Modulo hardware that controls the system and provides a visual display of its status, a Raspberry Pi running the Open Sprinkler Pi software and Flutter Wireless modules to command the remote sprinkler valves.

As Tomson notes, piecing together the hardware was pretty straightforward. The Pi connects to a Modulo Controller via USB. Each valve is then linked to a pair of outputs on a Modulo Motor Driver, which in turn, provides power to the valve with positive and negative polarity to turn it on/off.

“I used Galcon 3652 valves, but any DC latching solenoid valve should work. For AC valves, you’d need to connect relays between the motor driver and valves,” she adds.


As for its web interface, the Maker ran Open Sprinkler Pi software that enabled her to display the various zones, set schedules, delay water based on weather forecasts, as well as manually operate the sprinklers. In order for the program to control the Modulo hardware, Tomson wrote a plug-in using the Modulo Python API to handle the outputs.

What’s more, should a garden be too far away from a home’s Wi-Fi network, she was able to add wireless connectivity to Poseidon through Flutter’s boards. Those units are equipped with an Atmel | SMART SAM3S Cortex-M3 MCU, while an ATSHA204 crypto engine keeps it protected from digital intruders. This allows Makers to easily (and securely) develop projects that communicate over a half-mile across a house, a neighborhood, or in this case, a backyard.

Tomson connected the Flutter controller over USB to the Raspberry Pi, which relays commands to the Flutter board and transmits them wirelessly to the remote station. Out in the garden, a second Flutter module is connected to a Modulo Base with another motor driver and color display.


“This secondary flutter setup controls the vegetable garden’s sprinkler valve and also show’s the system’s status. It’s a simple setup that works great,” the Maker reveals. “DC sprinkler valves like these don’t require very much power so you can even run the remote station off a solar panel and battery!”

With spring in full swing and summer just about here, make sure your garden and lawn are cared for with this DIY irrigation controller. Want one of your own? Head over to Modulo’s official project page here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s