:)I'm really getting delighted of Arduino, thanks for the information Peter.
Power delay is becoming popular for most of the electronic appliance we have at home, I might look forward to it once I've got the whole system running with satisfaction on the results. Since Peter you confirming the backup will do for a year, seems I still have time to consider a power delay.
The two most obvious solutions to me are:
1. Use a capacitor to power the Arduino for a fraction of a second when power is lost, and add a mechanism to detect loss of incoming power. If you power a Uno from 12V via the barrel jack and you don't connect anything that takes much current to the +5V pin or the output pins, then a 2200uF capacitor connected between Vin and ground will power the Uno for about a quarter of a second, which is way more than you need to save important data to EEPROM. You can detect impending loss of power using an Arduino input pin.
Seems this point would work for me, I'm still not decide which power supply level do I have to use either 12V or 5V, one thing on my mind is to use the Arduino power as shown on the link below:http://www.ebay.co.uk/itm/5V-4-channel-Relay-Interface-Board-for-Microcontrollers-Arduino-PIC-AVR-MCU-DSP-/130937144756?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item1e7c7645b4
Certainly, I will include this on the system provided that system operation is responding very well.
2. Save data to EEPROM just occasionally, and use wear-levelling to lengthen the life of the EEPROM. For example, if your data along with a 1-bit flag fits in 8 bytes, and you have 1K of EEPROM available, then you can write a different 8 cells each time. When you reach the end of the 1K, you flip the flag and start from the beginning again. When reading the data back, you use the flag to find the most recent data. This increases the number of times you can save the data in this example from 100k to (1K/8) * 100K which is more than 12 million. If you save data to EEPROM once a minute, that gives you 22 years before you reach the 100K rated life.
Saving data is one of my major concern at this point where I don't need historical information but instead shall always be the incremented final value. Because I have to reset the value once reaches to certain preset by pressing the designated button probably every 6 months depending on the average life or usage of the filter under monitor.
Just for any information, let me say this:
1st stage filter should be metered for 6 months
2nd stage carbon filter shall be 10 months
3rd stage sediment filter would be 10 months
4th stage RO membrane would be 12 months
5th stage carbon filter would be 14 months
6th stage taste & odor filer is 14 months
7th UV light for performance monitoring only, let me say 2 years
I want to meter the life of each item above through the coffee flow sensor output signal to the controller, and once the count reached the value, it should notify me through simple audio alarm until it got acknowledge or reset. I'm still not sure how to apply a wear-levelling, start and end flag on the data. I hope I can get to it to have more options for configuration.
Let me switch to other areas of clarification. Now, I have this coffee flow sensor that it has pulsating output but input to the Arduino I/O terminal, the flow sensor has a magnetic contact inside to open and close the circuit and gives 5VDC at stationary position and 0V at the other way, but when it is rotating at a different speed everyday due to the pressure that pushes the water out, the voltage output or input to Arduino may read 2.5 or 3.3VDC, is the UNO or other controller can set to threshold voltage of 1 (ON) and below 1V is 0 (OFF) depending on the voltage or current input?