Arduino aquarium controller

The Arduino aquarium controller is an Arduino-compatible board designed to automate an aquarium. It can:

  • Switch lightning on and off using a relay
  • Control the temperature: it reads water temperature with a digital thermometer and uses a relay to switch a heater on and off
  • Remember the user when it is time to feed

Specifications:

  • DS3231M real time clock (with backup lithium battery).
  • DOGM128 LCD screen.
  • 2 12V relay drivers (to drive a lightning relay and a heater relay). Relays not included.
  • 1-wire interface for a DS18S20 digital thermometer (not included). The default software supports 2 thermometers, one for water temperature and the other for air temperature.
  • Interface for a 4x4 matrix keyboard (not included).
  • 12VDC input voltage (standard 2.1mm barrel jack). Power supply not included.
  • Arduino-compatible ATmega328PB, programmable by ISP (no USB). Arduino software included.

Related blog posts
Github project

Aquarium controller board (front)
Aquarium controller board (front)
Aquarium controller and keypad (keypad not included)
Aquarium controller and keypad (keypad not included)
Aquarium controller board (back)
Aquarium controller board (back)

Kits (postage not included):
A note on kits.

  • PCB only: 3€
  • DIY kit (no LCD): 25€ (PCB and all components except the LCD module. Nothing soldered.)
  • Built and tested: 40€ (if you send me the LCD module.)
  • Built and tested: 80€ (if I have to buy the LCD module.)

I offer built and tested kits because I understand that this project can be useful to aquarium hobbyists without equipment or experience to build it. The LCD module is expensive, so I don't have any in stock. Therefore, you can get it from your own provider and send it to me, or I will get it from Digikey or Farnell just to build your kit.

Note there is a small error in the current version of the PCBs. The enable pin of the 3.3V regulator is left floating. It should be connected to +5V. It is easy to fix this by scraping the coating of a nearby trace and making a solder bridge. The built and tested kits include this fix. The others don't, as it is easier to do after the 3.3V regulator has being soldered.

To build a complete aquarium controller, you will also need:

  • One DS18S20 thermometer (two if you want to measure air temperature as well). You also need wire to connect the DS18S20 to the board. The board uses a female JST connector (another connector can be installed easily). Both DS18S20 can be connected to the same wire (in a bus manner). The DS18S20 that measures water temperature needs to be potted in a way that is impermeable and safe for the aquarium. I have mine inside a small plastic tube that is closed with hot glue and superglue (superglue is very impermeable and safe and prevents the hot glue from degrading inside the water).
  • A 4x4 matrix keypad and a bus to connect it. The board has an 8x1 pin male header. My bus is scavenged from and old floppy or IDE bus.
  • Two 12V relays and wire to connect them. You need one relay to control the lightning and another to control the heater. The board has 2x1 female headers, so you can just plug in the ends of the wire if you use solid core wire. The relays must be installed in a safe manner. One way to do this is to install them in the socket end of an AC extension chord and then close everything carefully with insulating tape.
  • A 12V power supply. A 0.5A supply is enough. A lower current supply may be used, depending on the needs of the relays.