Low Power LCD Clock

After my initial experiments with the MSP430 and a raw LCD screen, I've been looking for how to use these in a larger project.  The MSP430G2 chips I have lack anywhere near enough pins to drive the 28 segments of the display. Luckily, while browsing through the Dallas/Maxim site, I found the ICM7211 LCD drivers.  This driver chip handles all of the backplane-segment biasing needed for four seven-segment digits.
The obvious first project for a new display tech is another clock, of which I've already generated several.  Since the MSP430 chip is low power, and the LCD screen and driver are very low power, I realized that with some careful programming, I could get the total circuit power consumption low enough to be reasonably powered by only a standard CR2032 coin cell.


In addition to the four digits on the LCD, there is also several axillary segments such as decimal points and middle colon.  The ICM7211 driver chip has no provisions for these extra segments, so I had to build additional circuitry to invert the backplane signal to bias the colon segment.  To keep the power consumption of the invert low, I used a 2N7000 MOSFET and a very large (5MΩ) resistor.  If control of the segment is desired, a CMOS XOR gate can instead be used.  This would allow the signal to the segment to be selectively inverted from the backplane to darken it, or to follow the backplane voltage to keep the segment clear, by XORing together the AC backplane voltage, and a DC control signal.

The MSP430G2231 I used for the clock does not have enough pins to handle the 8 pin interface with the ICM7211 driver.  To solve this, I used the standard 74HC595 latching shift register to get 8 output pins from only three on the MSP430.  The LCD driver does come in a -M variant which only takes 6 pins, but I didn't happen to have ordered this part.  The driver also comes in either a hexadecimal or B-code variant.  I got a hexadecimal variant, which doesn't allow me to blank digits like the B-code does.

After soldering together the entire project on a piece of perf board, I was happy to see that my initial power calculations were not entirely off base, with a current consumption of roughly 12μA for the entire clock. Using a standard 200mAh coin cell, this implies more than a two and a half year battery life for the device, which isn't too shabby.
Parts list:
  • MSP430G2231 (DIP) (Digikey $2.17)
  • 74HC595 (Digikey $0.60)
  • ICM7211 (Not available in parallel hex code, B-code: Digikey $7.39)
  • Raw LCD (Halted $2.00) - I have not bought these myself, but possible replacements on Digikey: [1] [2] (Please let me know if you use these and they work.)
  • 2x Push button (Excess Solutions, $0.10)
  • 2N7000 (Digikey $0.40)
  • 5.1M resistor (Digikey $0.07)
  • 100k resistor (Digikey $0.07)
  • 32.768 kHz crystal (Digikey $0.30)
  • 100μF capacitor (Digikey $0.17)
  • CR2032 battery holder (Digikey $0.70)
  • CR2032 battery (Amazon 25 count @ $4.97)
  • 40DIP6 socket (Digikey $0.42)
  • 14DIP3 socket (Digikey $0.15)
  • 16DIP3 socket (Digikey $0.16)
Source code:

Popular Posts