AIP31068L 3.3 V Character LCD Driver

Discuss development of drivers for external hardware and components, such as LCD screens, sensors, motor drivers, etc.
Target audience: Users and developers of drivers.
Post Reply
User avatar
scruss
Posts: 360
Joined: Sat Aug 12, 2017 2:27 pm
Location: Toronto, Canada
Contact:

AIP31068L 3.3 V Character LCD Driver

Post by scruss » Mon Nov 22, 2021 12:55 am

A driver for these inexpensive character LCD displays from Cytron: 3V3 I2C and SPI 1602 Serial Character LCD is here: Bhavithiran97/LCM1602-14_LCD_Library

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
Annoying things about these displays:
  • There's no backlight control: it's on all the time.
I've added this to Awesome MicroPython.

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.

Post Reply