ATtiny814 AquaTimer

3 months ago

Profile:Programmable Timer for Aquariums

Open source license: CC-BY-SA 3.0

  • 90
  • 0
  • 0


AquaTimer - Programmable Timer for Aquariums based on ATtiny414/814/1614

AquaTimer is a programmable timer for 12V devices such as lighting, solenoid valves or pumps not only for aquariums. It has three switchable channels for currents up to 2A each and up to 5A in total. Connected lighting can be dimmed if desired and slowly faded in and out to simulate sunrises and sunsets. The internal RTC of the ATtiny is used as a clockwork in conjunction with a 32.768kHz crystal. A backup battery keeps the clock running even if the external power supply is interrupted. Settings are made using three buttons and the OLED display.


Compiling and Uploading the Firmware

If using the Arduino IDE

  • Open your Arduino IDE.
  • Make sure you have installed megaTinyCore.
  • Go to Tools -> Board -> megaTinyCore and select ATtiny1614/1604/814/804/414/404/214/204.
  • Go to Tools and choose the following board options:
    • Chip: ATtiny1614 or ATtiny814 or ATtiny414
    • Clock: 5 MHz internal
    • Leave the rest at the default settings.
  • Connect your programmer to your PC and to the UPDI header on the board.
  • Go to Tools -> Programmer and select your UPDI programmer.
  • Go to Tools -> Burn Bootloader to burn the fuses.
  • Open the sketch and click Upload.

If using the makefile (Linux/Mac)

  • Connect your programmer (jtag2updi or SerialUPDI) to your PC and to the UPDI header on the board.
  • Download AVR 8-bit Toolchain and extract the sub-folders (avr, bin, include, ...) to /software/tools/avr-gcc. To do this, you have to register for free with Microchip on the download site.
  • Open the makefile and set the programmer and port (default is serialupdi on /dev/ttyUSB0).
  • Open a terminal.
  • Navigate to the folder with the makefile and the sketch.
  • Run "make install" to compile, burn the fuses and upload the firmware.

The device time is automatically set to the current time (compilation time) when the firmware is uploaded. Install the CR1220, CR1225 or LIR1220 (recommended) buffer battery before disconnecting the device.

Operating Instructions

  1. Connect the devices to be controlled to the AquaTimer using the screw terminals. Pay attention to the correct polarity!
  2. Connect the AquaTimer to a 12V power supply via the DC barrel connector.
  3. Press the "SET" button to get to the main menu. Adjust the values according to your wishes.

References, Links and Notes

  1. ATtiny814 Datasheet




This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License. (



Open in editor


ID Name Designator Footprint Quantity
1 CR1220 B1 CR1220-SMD 1
2 100n C1,C5 C_0603 2
3 10u C2 C_0603 1
4 18p C3,C4 C_0603 2
5 1u C6 C_0603 1
6 470uF C7,C8,C9 CAP_SMD_10MM 3
7 5817 D1 SCHOTTKY_SOD_323 1
8 INPUT DC1 CONN-TH_DC-005-2.5A-2.0 1
9 5A F1 F_1206 1
10 OUT1 H1 KF301-2P 1
11 OUT2 H2 KF301-2P 1
12 OUT3 H3 KF301-2P 1
13 UPDI H4 210S-3X1/2.54 1
14 OLED H5 I2C OLED 0.96 NEW 1
15 UP KEY1 KEY-6.0*6.0 1
16 DOWN KEY2 KEY-6.0*6.0 1
17 SET KEY3 KEY-6.0*6.0 1
18 OUT1 LED1 LED_0603 1
19 OUT2 LED2 LED_0603 1
20 OUT3 LED3 LED_0603 1
21 AO3401A Q1,Q3,Q5 SOT-23-3_W 3
22 3904 Q2,Q4,Q6 SOT-23-3_W 3
23 DMP1045U-7 Q7 SOT-23-3_W 1
24 10k R1,R4,R7,R10 0603 4
25 1k R2,R5,R8 0603 3
26 4k7 R3,R6,R9 0603 3
27 ATTINY814-SSN U1 SOIC-14_150MIL 1
28 78L05 U2 SOT-89-3 1
29 32.768KHz X1 OSC-SMD_3215 1


Project Members

Project Attachments


周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675


周一至周五 9:00~18:00
  • 立创EDA微信号


  • QQ交流群


  • 立创EDA公众号