For Arduino, I have good experience with this and the Arduino using the SerLCD from Arduino.cc library. I also added some functions for the 2.5 firmware (setType, let’s one set the type of display; scrollLeft and scrollRight, scrolls the text to left or right).
http://playground.arduino.cc/Code/SerLCD