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
- 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 4×4 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.
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 4×4 matrix keypad and a bus to connect it. The board has an 8×1 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 2×1 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.