Which serial LCD to buy?
December 16, 2011 7 Comments
Every once in a while on the arduino forum, people ask about which serial LCD to buy so today I saw such a post again and wrote this reply. I am certainly biased towards this serial LCD issue as I make and sell the phi-panel family of serial LCDs and keypad panels myself but take whatever you consider as fair argument:
3 vs. 4 wires:
Some serial LCD comes with 3 wires, 5V, GND, and RX. Some comes with 4 wires, 5V, GND, RX, and TX. Some serial LCDs are just LCDs, i.e. an output device. So you don’t need to read back from it. This saves one line, the RX on your arduino. Some have both RX and TX for possibly these reasons:
- Update firmware could require two-way communication for verifying the firmware at upload.
- Read back from the LCD to see what’s on the display, don’t know why that’s important. Or read back type of serial LCD ie. serial number or model number so arduino knows there is a serial LCD connected.
- The serial LCD can connect to other things. Again, this is a link to my product: this phi-panel has either integrated or optional 16-key keypad. The user input on the keypad is processed then transmitted TO arduino RX while commands to control the LCD or keypad (say enable/disable multi-tap) or messages to display on the LCD are transmitted FROM the arduino to the LCD panel. This requires two-way communications.
Some serial LCDs are cheap because they don’t have a processor on board. They are the I2C serial interface, which arduino can connect to. These are simply I/O expanders that give you 8 additional I/O ports, enough to run the LCD. The backpack has no intelligence. The arduino spends all the resources and does all the work and needs to drive the display with special libraries provided by the makers. I know of two sources besides ebay, adafruit, and our forum member fm. Since there is no processor on the LCD backpack, the solution is cheap.
The more costly serial LCDs have on-board processors that controls the display and in the case of my LCD backpack, also possibly senses other inputs, process them, or even run multi-tap input or other fancy stuff on the on-board processor so your main arduino doesn’t need to worry about those. Those are more expensive and frees up resources on arduino and are more or less swappable with other serial LCDs with on-board processors without ever needing special libraries. Among a few of the sellers, sparkfun, moderndevice, some ebay sellers, mine, etc. All have the same level of intelligence except for mine, which is also the lowest cost with most functions. That might explain why both sparkfun and moderndevice are not interested in carrying my serial LCD.
So my logical conclusion is to buy the phi-panel family of serial LCD for the lowest price (except for fm’s I2C backpack) and best functionality. The rest of them in terms of functionality are about 5,000 lines of firmware code behind.