Calendar Clock 50 Years Battery Life 1 AA Alkaline

The idea for this project is to repurpose an analog wall clock to display the date instead of the time.

Similar projects worth following
The idea for this project is to repurpose an analog wall clock to display the date instead of the time. The hour hand will display the month (1 to 12) and the minute hand will correspond to the day.

This hack involves slowing down the clock mechanism so that the minute hand only moves once a day and it takes the hour hand a whole month to move by an hour.

Thus the clock only ticks for a few minutes each day, this reduces the current draw significantly to around 6uA, leading to a theoretical battery life of around 50 years.

The Calendar Clock visually indicates how much of the year has passed by and can potentially incentivize people to plan their days and use time more effectively.

Image Gallery:

Battery Life and Current Estimation

The current consumed when the Clock is ticking and the minute hand moves:

Around 55 microAmpere.

The current consumed when the Arduino and RTC are in low-power mode:

Around 6 microAmpere.

Average Current

The clock ticks approximately 6 minutes each day*, averaging current for a whole day :

                      = [55 uA X 6 min   +   6 uA X 1434 min ] / 1440 min   {1440 min in a Day }

                      = 6.2 microAmpere

AA Alkaline batteries have capacities of around  2700 mah to 3200mah for a current draw of around 0.5milliAmpere upto 1.2V. 

Considering the battery capacity as:

1) 2500 mAh

             2500 mAh /  0.0062mA = 403,225.806 hours =  46.03 years

2) 3000 mAh

              3000 mAh / 0.0062 mA = 483,870.96 hours = 55.23 years

Although the current draw is significantly low, Alkaline batteries have a shelf life of 10 - 15 years. It would be interesting to see the real-world battery life but would have to wait for a long time though.

  • 1 × Arduino Pro Mini
  • 1 × Another Arduino to be used as a programmer
  • 1 × DS1307 RTC module (Newer models like the DS3231 are more efficient and can improve battery life)
  • 1 × AA Battery.
  • 1 × Quartz wall clock

View all 9 components

  • 1
    Step 1: Slow Down the Arduino to 1Mhz

    The quartz clock mechanism runs on a single AA battery (around 1.5V), thus to control the clock mechanism we need to send a 1.5V signal from the Arduino Pro mini. The digital pins can send a 1.5V signal only when the Arduino pro mini supply voltage (VCC) is close to 1.5V. But by default the Atmega 328p microcontroller in the Arduino pro mini needs around 5V as its clock frequency is 16Mhz, we can make the Arduino pro mini work at 1.5V by reducing the clock frequency to 1Mhz. This also drastically reduces power consumption.

    For this, we need to flash the Arduino Pro mini with a 1Mhz bootloader. This can be done by using a USB ASP programmer or by turning another Arduino into a programmer by uploading the ArduinoISP sketch.

    Wire the Programmer Arduino to the Arduino Pro mini as per the image at the top.

    Excerpt of 1Mhz bootloader tutorial from:

    • I use this precompiled bootloader from here. It's an Optiboot with 1MHz internal clock and 9600 baud serial communication. Fuse changed to BOD disable.
    • Rename your .hex to atmega328_1a.hex
    • Move it to "ARDUINO_PATH" > hardware > arduino > avr > bootloaders
    • We need to add the new board to the boards.txt file located at "ARDUINO_PATH" > hardware > arduino > avr
    • Open boards.txt
    • Go to this link.
    • Copy the content of the link and paste it at the end of boards.txt
    • Restart you Arduino IDE.
    • You should see "APM Optiboot internal 1Mhz noBOD 9600baud" in the Tools > Board menu.
    • Set the programmer to ArduinoISP.
    • Once you've done this, you can burn the bootloader and upload programs onto your ATmega328p. To burn the bootloader go to Tools > Burn bootloader

    For any errors while updating the bootloader:

  • 2
    Saving Power

    Saving PowerSince we are running the Arduino pro mini off a single 1.5V AA battery, we need to reduce power consumption by removing components such as the voltage regulator and SMD LEDs. These can be desoldered using a soldering iron or a screwdriver can be used to break these from the board.

  • 3
    Wiring Things Up

    Wiring Things UpWire the Arduino Pro Mini & DS1307 RTC with the clock mechanism as per the above diagram. Note that if you still want to use the battery holder on the clock mechanism you would have to open up the mechanism and disconnect the wires from the battery holder to the PCB.

View all 5 instructions

Enjoy this project?



Dan Maloney wrote 03/23/2023 at 22:14 point

Hi Josh -- cool build, I like the bootloader mods for running the Arduino off 1.5 volts. Wrote this up for the blog, should publish soon. Thanks for tipping us off, and good luck in the contest!

  Are you sure? yes | no

Josh Joy wrote 03/24/2023 at 06:56 point

Thanks, Dan :) . Just so you know I am using the DS1307 RTC module which is kinda old, newer RTC's such as the DS3231 has a much lower standby current draw of around 2uA, compared to 6uA of the DS1307 RTC. Thus an upgrade to the DS3231 could increase the theoretical battery life to >100 years.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates