Easy Clear-screen Trick for BPK/BPI-series Displays
BPI- and BPK-series products use an ultralow clock speed in order to achieve very low current draw. They add only a couple hundred microamps beyond the requirements of an LCD.
The catch is that they don't buffer incoming serial data, so each incoming byte is transferred to the LCD as it arrives. At 9600bps, that's 1/9600= 1.04ms between bytes.
The LCD can process most data in far less time, but two instructions, clear-screen and home-cursor, take a bit more than that to complete. This can cause the first character sent after those instructions to be dropped.
A post-instruction time delay solves the problem, but there's a more elegant solution: follow the clear or home instruction with a redundant go-to-position-zero instruction, like so
Decimal: 254 1 254 128
Hex: 0xFE 0x01 0xFE 0x80
In the example sequences above, "1" is the troublesome clear-screen and 128 (0x80 hex) is the go-to-position-0 instruction.