4-Pin I2C LCD Display

If you've completed one of the Arduino starter-projects you'll probably be familiar with the use of simple LCD-displays. They're great for showing (readable) information, but the downside is that they tend to be fiddly to wire up.

A great solution to this problem involves the use of an LCD which is controlled over the I2C bus - which means there are far-fewer wires to connect.


The appeal of this hardware is that it only requires four wires to setup:

  • Vcc
  • Grnd
  • Arduino
    • SCL to A5 on the Arduino.
    • SDA to A4 on the Arduino.
  • WeMos Mini D1
    • SCL to D1 on the WeMos Mini D1.
    • SDA to D2 on the WeMos Mini D1.

I've seen this hardware in two forms - with an external board, or with a daughter-board connected to the back. Here are images of both kinds:

I2C LCD Driver

The software to drive the display can be found here:

The library includes a bunch of examples, which you can load in the usual way, and one interesting thing about this library is that the backlight can be turned on or off, programmatically :)

A complete sample looks like this:

Download the code.


Wire up an Infra-Red receiver, and write code to display the buttons you've pressed on the screen.