NOTE: I have built on the progress I made on this project by building the LCD into a full 4 digit low power display, which I am currently using as a clock. See the write-up for more information.
So, it turns out these little buggers are VERY low power. Clearly, with the addition of some sort of energy harvesting system, be it solar or otherwise, this controller could clearly run indefinitely.
- 2x 10F 2.7V super capacitors
- 1x 12.5pF 32kHz quartz crystal
- 1x 4.7kΩ resistor
- 1x raw liquid crystal display (sourced locally at Halted) (Good possible replacement on Digikey)
How I did it
The key steps I took to get the power consumption so low for this experiment were two-fold.
First, I extensively used the sleep-mode on the controller. I have it setup to only wake 32 times per second, which means that the rest of the time is spent with only the crystal oscillator running, which consumes VERY little power.
The second trick I used was using a raw liquid crystal display. LCDs are typically seen sold in large modules with 14-16 pins and their own HD44780ish driver chip. This is much preferred, because driving the raw LCD is a friggin pain in the ass. LCDs contain an ionic fluid, which in the precess of a voltage potential will rotate to polarize light in one direction or the other. With the addition of filters on the front of a screen, rotating the light will cause the screen to appear dark or light.
This voltage potential rotating molecules is great because it draws little current, since the display is based on a voltage, instead of a current like in LEDs. Unfortunately, this voltage will also start separating the fluid into its positive and negative parts. Left on for too long (typically on the order of seconds), the LCD fades back to its natural state. To prevent this, the driver must alternately bias each cell first positively, then negatively. This is done by alternating the voltage on the back-plane of the LCD, with unlit cells following the back-plane bias to prevent them from being enabled. This is particularly visible on some LCD-based watches, like the TI eZ430-Chronos, where you can see a flickering as the cells are alternately biased. I chose a refresh rate of 32Hz, which seemed to work well for my LCD.
As you can see, the single digit of the LCD plus the back-plane consumed all eight pins of the MSP430... Some trickery might be possible to allow these same pins to be used for N.O. push buttons (consider biasing the LCD with only the pull-up/down resistors), but clearly this is an expensive display, from a hardware point of view. I'm planning to do some experiments with the ICM7211 chip by Maxim to see how well it works at driving an entire 4 digit LCD display.
UPDATE (9/29/2010): This thing is still running... I'll update when it finally dies...
UPDATE (10/11/2010): It's still running. Caps are down to 1.73V, which is below the msp's rated voltage, but it keeps spitting out numbers. I don't know if I'm more surprised that the processor is still running, or the LCD.
UPDATE (11/2/2010): Still freakin running. Caps are down to below 1.7V, hardly above the bias voltage on the LCDs, so you can hardly see the digits and they take half a second to really resolve. Conclusion is that with a tiny solar panel, this thing could run indefinitely. I'm going to have to be careful on power budget as for anything else I add, since a single digit display by itself isn't entirely useful. There is a lot of potential for this controller. I'm packing it in to free up the breadboard now. Happy hacking.
UPDATE (2/6/2011): Having disassembled this project after finishing this experiment, I have come back and soldered the circuit together, with all four digits usable. See the write-up for more information.