Hookup for Nanox LCD Module

On the previous page, we learned how to find the connector holes that match chip pins. Here is the resulting pinout for the Nanox NDM082 module:

Pinouts for standard 14 pin LCD display

Pinouts for standard 14 pin LCD display (thanks to correction by Spud).

Good news! This matches the industry-standard pinout on most alphanumeric LCD text displays.

  1. GND Ground
  2. Vdd +4.5 VDC to +5.5 VDC. In other words, 5 V.
  3. Contrast Variable voltage from 1.5 V to 5 V. More details below.
  4. Register Select High for commands/instructions, low for screen data
  5. Read/Write High to read, low to write
  6. Enable Sanyo calls this execute. Low when changing register select or read/write pins. High when changing data pins. High-to-low for controller chip to read the pins and execute.
  7. to 14. Data0-to-Data7 8 bit data representing the command or screen character when writing. Or, representing the status or screen character when reading.

Like many LCDs, this supports 4-bit mode. You can read and write using only the top four data pins (Data4 to Data7) in two steps to read/write the full eight bits.

Basically, the protocol works like this:

  1. Enable is low
  2. Set Register to low to issue a command
  3. Set Read/Write to low to write
  4. Set Enable to high
  5. Set Data0 to Data7 to the desired instruction value (or Data4 to Data7 if using a 4-bit interface)
  6. Set Enable to low. As enable drops low, the controller reads the pins and (if 8-bit interface) executes the command.
  7. (if 4-bit interface) Raise Enable to high
  8. (if 4-bit interface) Set Data4 to Data7 to the second half of the command.
  9. (if 4-bit interface) Set Enable to low. The controller reads the pins and executes as enable drops low.
  10. Repeat from step 1 as desired.

You can write commands to clear the screen, move to a position on the screen, etc. You can write characters to the current screen position. You can read the LCD status (busy bit, etc). You can read characters from the current screen position.

You must follow a specific initialization sequence at power up. This involves waiting for the LCD to be ready, setting the interface as 4 bit or 8 bit (a couple of times with waits in between), clearing the screen, turning the display on, and so on. The exact sequence is specified in the datasheet, but it follows the same sequence I’ve seen for other displays.

There are still three holes that need to be discussed. Pin 3 on the connector is for contrast. Two other holes are on the front side of the module for the backlight. The next page explains how to hook these up.