Getting character LCDs to work at 3 volts
Generic character LCD modules contain an industry standard HD44780 compatible controller*, which can operate down at 3 volts. But the modules are usually specified to work only at 5 volts, unless you choose a specific one designed for 3V operation.
There are two reasons why the modules won’t work at 3 volts. First, the required LCD driving voltage is between 3.8V and 4.4V. The driving voltage is the voltage measured between VDD (pin#2 on pictures) and VLCD (pin#3 on pictures). There is no problem to adjust the VLCD voltage between 0.6V and 1.2V at 5 volts to get VDD-LVCD between 3.8V and 4.4V
But at 2.7V, 3V or 3.3V the voltage on VLCD (pin#3) should be negative to get the required LCD driving voltage (min. 3.8V) between VDD and VLCD.
Second reason is that the RC oscillator of the controller will get slower at 3 volts, so the Rosc resistor on the LCD module may need to be replaced if the program working with the LCD goes too fast for the LCD to execute the commands on the reduced frequency.
To solve the first problem, the circuit needs a negative voltage to set the required voltage on the VLCD (pin#3) pin. This is easily accomplished with a small charge pump which converts the supply voltage of 2.7-3.3 volts to -2.7 to -3.3 volts.
For more detail: Getting character LCDs to work at 3 volts