RobotGeek I2C LCD Getting Started Guide

This guide will teach you how to connect and use the RobotGeek I2C LCD.

This guide will refer to the RobotGeek Geekduino, the Arduino Compatible microcontroller recommended for use with RobotGeek products. However this kit will also work with the Arduino Uno, or other Arduino variants like the Seeeduino.

Setting up the Arduino Software

Geekduino Getting Started Guide

If you have not already set up your Geekduino/ Arduino compatible board, please see the Geekduino Getting Started Guide. This guide will assist you in getting set up with the Arduino software as well as install libraries and test sketches for RobotGeek Robots and this LCD display.

Enclosure Assembly

LCD Enclosure Assembly Guide

Note: The above links to the new assembly guide. If you have the old LCD Enclosure Hardware, please visit the old LCD Enclosure Assembly Guide here.

Wiring the LCD

The RobotGeek I2C LCD is electronically compatible with any microcontroller with a 5v I2C connection. Here are several examples of wiring the LCD

The following diagrams show the LCD separate from the I2C module for clarity. However each RobotGeek I2C LCD comes with the LCD and module pre-soldered.

Sensor Shield

This LCD was designed for use with the RobotGeek Sensor Shield. The LCD will connect directly to the Sensor Shield's I2C port using a 4 Pin Sensor Cable.

Sensor Shield Pin LCD Pin
Direct Geekduino /Arduino Connection

The LCD can be connected directly to a Geekduino using a combination of Male Jumper Wires and Female Jumper Wires.

Geekduino Pin LCD Pin
ArbotiX-M Robocontroller

The RobotGeek LCD can be connected to the ArbotiX-M Robocontroller using 4 Female Jumper Wires.

ArbotiX-M Robocontroller LCD Pin
D17 Signal Pin SDA
D16 Signal Pin SCL
D16 5V Pin (or any 5V pin) VCC
D15 Ground Pin (or any GND pin) G

Testing the LCD

When you installed the RobotGeek Tools and Libraries, you installed the library and examples for the LCD. You can find the HelloWorld sketch in the 'Examples' menu.

File -> Examples -> robotgeekLCD -> HelloWorld

Now load the sketch onto your Geekduino. If everything is hooked up correctly the LCD will display 'Hello World' on the first line. The second line will display the number of seconds that have passed since startup.

Sometimes the contrast needs to be adjusted. On the back of the display near the wire connector there is usually a blue plastic box with a dial you can turn on the inside. This is a potentiometer used to control the visibility of the characters on the display and can be adjusted with a small flathead or philips screwdriver.


Library Documentation and Other Examples

RobotGeek I2C LCD Library Documentation page

The RobotGeek I2C LCD Library Documentation Page lists and explains the various functions available from the RobotGeek I2C LCD Library.

The library is available as part of the RobotGeek Libraries and Tools download, which you should have setup in the Geekduino Getting Started Guide.

A variety of examples based on these functions are included with the library and can be found along side the Hello World sketch.

File -> Examples -> robotgeekLCD
  • Autoscroll - Enable/disable the LCD's autoscroll feature
  • Backlight - Enable/disable the LCD's backlight
  • Blink - Enable/disable blinking for the cursor
  • Cursor - Turn the cursor on/off
  • CustomCharacter - Write custom characters to the LCD's RAM to be displayed
  • Display - Turn the LCD display on/off
  • HelloWorld - Write to the LCD and update the LCD
  • Scroll - Manually scroll the display
  • SerialDisplay - Write messages from the Geekduino's serial port to the LCD
  • SetCursor - Set the position of the cursor
  • TextDirection - Set the direction that text is written to the display

More information about each example can be found in the header/comments of each sketch.

Special Character Table
The Special Character Table gives an overview of all of the non-ASCII characters offered by the LCD.

The library and examples for the I2C LCD is based off the original Arduino LiquidCrystal library.

Programing Your LCD's Behavior

Demo Code

Once you've setup all your components and run a successful test you are ready to get started programming behaviors into your LCD! Return to the Demo Code to start programming!

Getting Started