I received an email from Keith Neufeld (awesome electronics blog) about my Arduino LCD library with some tips on how to improve it. So over the weekend I dived in and did just that.
Specifically, this version removes the hard coded delays after each command is sent to the LCD and checks the LCD’s busy flag. This is a cleaner approach and should mean that the library works more reliably with various LCD modules (hopefully). The setup method has been cleaned up as well to make initialization by instruction just work without any hacks.
Of course, this does mean that the RW pin on the LCD must be connected to the Arduino instead of connecting to ground.
As before, see the Arduino LCD Library page to get the latest version of the code.