Keeping the time in an Arduino Wristwatch

Hello! I am trying to make my own circuit board for an arduino wrist watch that I a want to make. Up until now I have been thinking that the only way to accurately get the time is to use a DS3231 in my PCB, which means I would need to include a small battery (increasing size).

I wanted to know if you know of a way to use a smaller component than a DS3231 and a coin battery. Are there any microcontrollers that have an integrated RTC which even if the main MC looses power, the time will not be lost? Or maybe a different chip than the DS3231 that has the battery already integrated in it? As you can see I just want to avoid the big coin battery!

Make a pocket watch, then it can be bigger.

.

You don't HAVE to use a large coin-shaped battery; you can use a small one but you need to connect it differently. How about a hearing aid battery?

The TI MSP430's have built in RTC's and use 32 KHz crystals. They even have onboard PLL's so that you can run the core at a faster speed than 32 KHz.

Launchpads (Ti's Arduino's) can be programmed with the arduino-like Energia.

terryking228: You don't HAVE to use a large coin-shaped battery; you can use a small one but you need to connect it differently. How about a hearing aid battery?

Thanks for your help! I just googled the hearing aid battery, it is indeed smaller but the DS3231 documentation says that the min voltage is 2.3v and the hearing aid batteries are normally 1.5 :(. I guess I will have to content myself with a CR1220 or something similar. They are easy to solder on to a pcb right?

KeithRB: The TI MSP430's have built in RTC's and use 32 KHz crystals. They even have onboard PLL's so that you can run the core at a faster speed than 32 KHz.

Launchpads (Ti's Arduino's) can be programmed with the arduino-like Energia.

That sounds like a good idea, but I have already developed everything on the Arduino IDE using libraries that I downloaded and dont fully understand. You seem to have a good understanding of how it all works. I recently saw this fitbit charge teardown

http://www.techinsights.com/about-techinsights/overview/blog/fitbit-charge-2-teardown/

and in the list of components it didnt include a RTC. How would a device like this work and track time effectively without a RTC?

They designed everything in a single package, and yes they will have a similar element like a RTC incorporated in their design.

.

Thanks! One final question: is there a way to make the arduino cut off power to all components but the DS3231 when there is, say, 20% battery left in the LIPO battery pack? I am just thinking that if I do that, the arduino will tell me it is 'dead' but the RTC will keep on going until next recharge (as long as the next recharge is before those last 20% run out.

Like I said, some MCU's have built in RTC's.

"That sounds like a good idea, but I have already developed everything on the Arduino IDE using libraries that I downloaded and don't fully understand."

Which is why I suggested the Energia. It is an arduino IDE for ti launchpads.

KeithRB: Which is why I suggested the Energia. It is an arduino IDE for ti launchpads.

Never played with a Launchpad before personally...

so you use THE Arduino IDE? or an Arduino LIKE IDE?

If the later.. does it support the same Arduino libraries? (I'm not clear from your statement)

thanks!

-xl

You could run the RTC from a second coin cell, so there is no problem if your main battery dies. The ATmega can be put into power down mode only consuming less than 1 microamp.

I would say a coin cell shouldnt be that big of an issue? (although with the cell 'holder' I'm not clear how much space that is taking up)..but you could get a 3.7v li-po battery that wouldnt be much bigger (and you woudnlt have to worry about the cell holder aspect anymore)

xl97: Never played with a Launchpad before personally...

so you use THE Arduino IDE? or an Arduino LIKE IDE?

If the later.. does it support the same Arduino libraries? (I'm not clear from your statement)

thanks!

-xl

It uses a fork of the arduino IDE, it looks identical. Libraries that use straight C++ or non-library arduino calls (analogRead() analogWrite...) can be used as-is. Libraries that get chummy with the hardware might need some porting.

Not only that, but it uses TI_RTOS, so you simply have to create a new tab with a separate loop() and setup() and both threads run at the same time. Launchpad multitasking

I am currently using the MSP432 Launchpad: a 48 MHz, 32 bit processor with 14 bit A/D, FPU(!) 256K flash and 64KB RAM.

Launchpads

http://www.ti.com/lsds/ti/tools-software/launchpads/launchpads.page#connected_mcu

Energia http://energia.nu/

I forgot the best part. You can import Energia sketches into TI's CCS IDE and get real debugging!