Low Power LCD Clock based on an AVR128DA48
The Liquid Crystal Displays (LCDs) are a type of flat panel display that uses liquid crystals for operation. They are relatively old technology but can be seen in clocks, laptops, computers, calculators, dashboards, and other electronic projects and devices because of their advantages over newer types of displays, including low power, low cost, and readability. Digital LCD watches are quite popular and generally preferred due to their long battery life. David Johnson-Davies recently posted his Low Power LCD Clock in his blog post where he made a very low-power LCD clock, based on an AVR128DA48, capable of running for over three years from a CR2032 button cell or forever from a solar cell.
David used Densitron DG-201208-RP standard LCD for this project. He says,
“I recently bought some Densitron LCD displays on eBay for a few pounds/dollars, and I’d been wanting to try building a low-power clock around them, to see just how low I could get the power consumption.”
The ones used are static displays that can be implemented with independent electrodes for each segment. On the other hand, multiplexed displays are usually implemented with pixels arranged as a matrix consisting of electrically connected rows on one side of the liquid crystal layer and columns on the other side. Each pixel can be activated by intersection. The static display requires 28 individual segment I/O pins, three decimal points, one for colon, and one/two common pin totaling 33-34 pins; plus, there can be some extra display like a minus sign, etc.
“There’s one catch; you can’t use a DC voltage to turn on the segments, because this would cause electrolysis to occur which would slowly degrade the display. The solution is to use AC by switching the polarity across the segment at a low frequency; 32Hz is usually recommended. Fortunately, this is easy to do in software.”
The processor used is an AVR128DA48 in a TQFP-48 package, running at up to 24 MHz and with 128 KB Flash, 16 KB SRAM, and 512 bytes of EEPROM in 48-pin packages. One can also use the lower memory version of these devices as well as ATmega4809 and its lower memory versions which are pin-compatible. David says that the only restriction is that the pins he has used for I2C, PF2 and PF3, only support slave I2C on the ATmega4809. It spends most of its time in sleep mode, for power saving and is turned On by a 64Hz interrupt from the RTC peripheral. The RTC peripheral also keeps time that is controlled by the onboard 32.768kHz crystal oscillator.
The clock also briefly shows the temperature every minute, using the AVR128DA48’s on-chip temperature sensor, and the battery voltage, by using the ADC to read its supply voltage. There is an I2C connection for connection of any other external sensors like the humidity sensor and others.
The clock can run on CR2032 coin cell. Or if you want to power it with a 3V solar panel, there are holes to allow you to fit a 5V supercapacitor in place of the coin cell.
Talking about the power consumption, with a 24MHz clock, it consumes 7.3uA. The CR2032 coin cell of 255mAh would last for about 3.5 years!
- You can find complete documentation of this project here: http://www.technoblogy.com/show?19K8#power-consumption
- Store website: https://oshpark.com/shared_projects/nMJWPcnB