MrAqua icon indicating copy to clipboard operation
MrAqua copied to clipboard

Code for the MrAqua aquarium controller

MrAqua Aquarium Controller

This project was based off the iAqua controller written by Dan Cunningham with new features and updates here.

Controller home screen

Features

  • Water temperature monitoring
    • Allows calibration
    • Automatic shutoff of heater if water exceeds setpoint
  • Automatic water top-off
    • Float switch inputs for tank and reservoir
    • Set maximum run-time with alarm flagged if exceeded
  • Feeding mode
    • Monitor time since last fed
    • Control outlets during feeding (ie turn off pumps)
  • Light control
    • 6-channel PWM or IR control of e-series LED
    • 4 lighting levels (moonlight, sunrise, mid-morning and full daylight)
  • Dosing
    • 3 channels
    • Individual settings for each channel
  • 8 power outlet control
    • Manual control or set on/off times
    • Aux outlets can be set to cycle times (ie on 10 minutes every 2 hours)

Hardware

  • Arduino Mega
  • 320 x 240 LCD
  • Arduino Mega TFT Shield (or custom shield below)
  • 12V power supply
  • 8 channel relay board
  • DS18B20 temperature sensor
  • Peristaltic pumps
  • Float switch
  • Submersible 12V pump
  • (Optional)PCA9685 breakout board

Libraries

Setup

If you are using an ecoxotic e-series LED set "lightCSP" to true, otherwise set it to false. If you are using a PCA9685 chip for PWM set boolean "PCA9685Installed" to true.