Raspberry Pi plant controller

A final project built with a classmate at Värmdö Gymnasium in 2014. The goal was a Raspberry Pi system that could keep a plant alive and monitored while nobody was home — watering, lighting, ventilation, and a camera, all controllable remotely.

System overview: the Raspberry Pi bridges SSH commands, GPIO-driven relays, and webcam monitoring

How it worked

A Raspberry Pi running Raspbian acted as the controller. Python scripts drove GPIO pins connected to a relay board, which switched the pump, the grow light, and a fan. Everything was reachable over SSH on the local network, so a computer or phone could start a script without being near the plant.

A day-cycle script looped over a configurable number of days, turning devices on and off at set intervals, with the on and off durations adding up to exactly 86,400 seconds per cycle. Different scripts covered different growth phases and could be swapped remotely.

Rather than guessing how long to run the pump, we measured the relationship between runtime and output: the pump delivered roughly two millilitres per second. A ten-second run therefore gave twenty millilitres — predictable enough to control by time.

A USB webcam captured stills on demand and pushed them to an image host, so the plant could be checked from anywhere without exposing the Pi’s camera stream to the internet.

Outcome

The prototype worked: watering, lighting, ventilation, and monitoring were integrated and controllable remotely. The unfinished part was the enclosure — the electronics were still loose on a bench when the project was submitted.

It was an early encounter with Linux on embedded hardware, GPIO, Python, and remote administration, and those turned out to be durable interests.

Built with

  • Raspberry Pi
  • Python
  • RPi.GPIO
  • Raspbian
  • SSH
  • Relay board
← All projects