Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Driving LCD with three wires

Dealing with electronics projects is always about cost and efficiency. Sometimes using more powerful MCU just to get more I/Os isn’t practical. If project isn’t time critical you should consider using port expander – a shift register that may reduce overall cost of project (especially if it’s for mass production). So in this project you will learn how to drive standard LCD with three wires by using only three I/O pins. As port expander there is a shift register 74HC595 used. All you need is to send LCD data serially to shift register which parallelizes it to normal format. This enables driven LCDs with low pin microcontrollers like PIC12F683. AVR fans can find similar solution on ATmega8 here. The only downside of such solution is that you will have to write driver software by yourself instead using regular libraries. Continue reading