A Raspberry Pi LCD library for the widely used Hitachi HD44780 controller.
A Python 3/2 Raspberry PI Character LCD library for the Hitachi HD44780 controller. It supports both GPIO (parallel) mode as well as boards with an I2C port expander (e.g. the PCF8574).
No external dependencies (except the RPi.GPIO library, which comes preinstalled on Raspbian) are needed to use this library.
You can install RPLCD directly from PyPI using pip:
$ sudo pip install RPLCD
If you want to use I2C, you also need smbus:
$ sudo apt install python-smbus
You can also install the library manually without pip. Either just copy the scripts to your working directory and import them, or download the repository and run python setup.py install to install it into your Python package directory.
Simple to use API
Support for both 4 bit and 8 bit modes
Support for both parallel and I²C connection
Support for custom characters
Support for backlight control circuits
Built-in support for A00 and A02 character tables
Python 2/3 compatible
Caching: Only write characters if they changed
No external dependencies (except RPi.GPIO, and python-smbus if you need I²C support)
These things may get implemented in the future, depending on my free time and motivation:
You can find the documentation here: https://readthedocs.org/projects/rplcd/
To test your 20x4 display, please run the test_20x4.py script and confirm/verify each step with the enter key. If you don’t use the standard wiring, make sure to add your pin numbers to the CharLCD constructor in test_20x4.py.
To test a 16x2 display, proceed as explained above, but use the test_16x2.py script instead.
There are also unit tests. First, install dependencies:
pip install -U -r requirements-dev.txt
Then run the tests:
flake8 --max-line-length=99 --ignore=E126,E127,E128,C901 RPLCD/lcd.py
The module RPLCD/enum.py is (c) 2004-2013 by Barry Warsaw. It was distributed as part of the flufl.enum package under the LGPL License version 3 or later.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for RPLCD-0.9.0-py2.py3-none-any.whl