Home > Projects > Reef Controller

Reef Controller

Summary of Reef Controller


This article details a remote-controlled Reef/Saltwater Aquarium controller using an Arduino MKR1000. The system automates lighting schedules via an RTC, monitors tank temperature to trigger cooling fans, and controls pumps for feeding safety. It features an LCD display for real-time status and is managed through a custom Universal Windows Platform (UWP) app that sends HTTP requests for configuration and retrieves JSON status updates.

Parts used in theReef Controller:

  • Arduino MKR1000
  • Adafruit Perma-proto board full size
  • Adafruit I2C logic level converter
  • Adafruit RGB LCD Shield Kit I2C 16x2
  • SainSmart 2-Channel Relay Module
  • Holdding DS3231 AT24C32 IIC
  • SparkFun Waterproof Temp Probe d218b20
  • Adafruit N Channel Power MosFT
  • Adafruit RGB LED Strip

A Reef / Saltwater Aquarium controller based on an Arduino Mrk1000 and controlled remotely by an Universal Windows Platform app.

Reef Controller

Things used in this project

Hardware components

Arduino MKR1000
Arduino MKR1000
× 1
Adafruit Perma-proto board full size
× 1
Adafruit I2C logic level converter
× 1
Adafruit RGB LCD Shield Kit I2C 16×2
× 1
SainSmart 2-Channel Relay Module
× 1
Holdding DS3231 AT24C32 IIC
Any ds3231 will work.
× 1
SparkFun Waterproof Temp Probe d218b20
× 1
Adafruit N Channel Power MosFT
× 3
Adafruit RGB LED Strip
Use as much as you need to provide the light you want.
× 1

Software apps and online services

Arduino IDE
Arduino IDE
Used for writing the code running on the Mkr1000.
Visual Studio 2015
Microsoft Visual Studio 2015
Used to write the UWP app.

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Reef ControllerUWP aop

Schematics

Schematic

My poor replacement for a nice fritzing diagram.
Reef Controller schematics

Code

git hub repository

Source code for UWP app and Arduino code. Contains Mega2560 and Mkr1000 options.

UWP app for MKR1000 reef controller — Read More

Quick Solutions to Questions related toReef Controller:

  • How does the system manage lighting?
    The system runs three LED channels that fade in and out according to the time of day set by the real-time clock.
  • Can the user control the pumps remotely?
    Yes, the UWP app allows users to shut off pumps to prevent food from being sucked into the overflow during feeding.
  • What happens if the tank temperature gets too high?
    The display changes color from green to red, LEDs are dimmed, and a cooling fan turns on.
  • Does the controller send data to Azure IoT Hub?
    The author intended to push data to an Azure IoT hub but ran out of time to complete this feature.
  • What programming language is used for the UWP app?
    The UWP application code is written in VB.net using Microsoft Visual Studio 2015.
  • Which library handles the temperature probe?
    The Dallas one-wire library is used for the SparkFun Waterproof Temp Probe.
  • How does the app communicate with the Arduino?
    The app sends simple GET commands as HTTP requests and receives a JSON string with the tank status.
  • What version of the Arduino IDE was used?
    The Arduino code was written using version 1.6.7 of the IDE.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top