Nice things about these displays:
- they don't need a 5 V display to start the backlight, unlike most 1602 / 2004 LCDs
- only four (I2C) or five (SPI) connections required
- affordable
- There's no backlight control: it's on all the time.
I've got a pull request in that adds display scrolling left or right. This feature's in the Arduino library for the display, but didn't make it to the MicroPython library. I've only implemented it in the I2C version for now, as that's all I use.
Pull request: added scrollDisplayRight/scrollDisplayLeft to the I2C library
The library's very minimal, and could use some extra functions:
- the LCD has a number of useful special characters in its ROM above character 127, but these aren't accessible or translated to something that MicroPython can use;
- The library could use a bit of a refactor. Currently the I2C and SPI libraries are separate and duplicate a lot of code because they each explicitly open the I2C or SPI connection rather than being passed it as an interface object. This is a bit above my coding level, though.
- Some of the code looks like it's designed for the Raspberry Pi Pico. I'm sure it would run on most other boards, though.