Connect Arduino Uno to a CFA533 I2C LCD + Keypad

CF Tech

I have been working a bit with the Arduino Uno, and decided to connect it to a CFA-533 I2C LCD module.


On the Arduino side you simply need to grab +5v, GND, SDA (I2C Serial DAta) and SCL (I2C Serial CLock). We used a few wire jumpers out of a WR-JMP-Y40 and standard male-to-male headers to make the connection:

On the I2C LCD side, all the connections are made to the CFA533's 10-pin connector (ref: CFA533 I2C datasheet). The jumpers push on directly with no fuss:

Check to make sure that JP13 is closed, so the module can get its 5v power from the Arduino:

Now you are ready to connect your PC's USB cable to the Arduino. Since the LCD gets its power from the Arduino, the LCD will instantly power up and show its boot screen:


On the software side of things, we have sample a CFA-533 I2C project for the Arduino: I2C_533_Test.ino

The project will run a couple of simple demos. Here is a picture of the bar graph demo:

It is easy for you to use the functions included in the .INO file to write text to the display, read the keys or any other function supported by the CFA-533.

Sample to write text to the display:
cfPacket->writeText(0,0, "Hello World", 11);
Sample code to read the keys:
  . . . 
  //Ask the module what is happening with the keys
Please let us know if you have any questions about the connections or software.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.

CF Tech

A customer pointed out some compilation warnings in the sketch. We have fixed those (checked under 1.6.11 with all compiled warnings enabled), moved some strings to flash and updated the code:


(the original code is here for reference)

TK Monteiro

New member

Hello, I'm new here .. and I wanted to take a doubt! I have a lcd CFA533 that is in the device called citrix. This lcd is written with the same name. I wonder if these steps will serve to edit the name of this screen? I am also in doubt of the connections because, I did the same and it did not work! Is there any kind of reset to do? And the only software is to paste this command into arduino to do the processes?
Last edited: