LCD Serial Interface Board: An Introduction to AT commands & Interfacing with micro-controller..

Hello enthusiasts,

In this post, I am throwing some light into introducing LCD Serial Interface Board ,familiarising you with its major AT commands used to communicate with this board. Along with this, the steps to interface this board with a micro-controller or Serial to USB converter will be depicted as well.


LCD Serial Interface Board concatenates a 16×2 LCD screen controlled easily by AT (Attention) commands. It is operated through simple SERIAL communication in ASCII format and can easily be interfaced with a microcontroller imparted with UART pins. The module is already incorporated with an Atmega 8 microcontroller ,which could memorize the data written previously, even after a power shut down.


  • Two power supply input provisions. One of 12V supply provision via dc jack and another of 5V provision through pin header.
  • UART serial communication for sending data to display. Communication Parameters:- baud rate: 9600, 1 Start bit,8 Data bits, 1 Stop bit, No Parity.
  • All setups are saved in memory. Once setup, no need to re-setup after power failure.
  • Contrast adjustment of LCD possible.

Pin Description:


Figure 1:Pin Layout LCD Serial Interface Board

Figure 1 displays the pin layout for the board.

Pin Name

Pin Description


Power Supply (5V only) through pin headers


Transmitter pin : can be connected to receiver pin of micro-controller/CP2102 to allow data to be transmitted out


Receiver pin : can be connected to transmitter pin of micro-controller/CP2102 to allow data to be received in


Pressing this button resets the micro-controller in the LCD Serial Interface board , so that the code uploaded on it starts running from the beginning. Hence, board starts displaying from the welcome note (if it is enabled) by default.

Contrast Adjust

By turning this potentiometer , the screen contrast of the LCD can be controlled



TABLE 1: Pin Layout & description


Sl No:

AT command




AT+DATA=<Line Index>,<Address>,<Data to be printed>

Writes data into LCD.

  • Line Index: line to which data is written.

values taken:either 1 or 2.

1- Row 1

2- Row 2

Invalid values return an “INDEX ERROR” message

  • Address: position from which data display starts.

values taken: 00 to 15.

00 starting position of data display from zeroth column.

15starting position of data display from column 15/last column.

All invalid values return an “ADDRESS ERROR” message.

  • Data to be printed: A total of 40 characters can be displayed in either row.

AT+DATA=1,02,Hello how are you

Here data “Hello how are you” is written to line 1 or first row starting from column position 2



To clear data.

  • Input: line to be cleared

values taken:0,1 or 2.

0– to clear both rows.

1 to clear the first row,

2– to clear the second row,

Invalid input returns an “INPUT ERROR” message.


Clears all data in first row



Sets for left scroll,right scroll or no scroll.

  • Input: Determines direction of scroll.

values taken: 0,1 or 2

0 –for no scroll.

1 –for left scrolling,

2 –for right scrolling

Invalid input returns an “INPUT ERROR” message.

Default value:0 ,for no scroll


Scrolls all data to the left completely.



To change the direction of error message.

  • Input: Determines direction of displaying error message.

values taken:0,1 or 2

0 displaying in the serial monitor only,

1 – displaying in the LCD display only

2 – displaying in both serial and LCD displays.

Invalid input returns an “INPUT ERROR” message.

Default value:0 ,displays error message in serial monitor


Here, error messages are displayed in serial monitor only



To enable or disable echo( act of printing typed out text into serial monitor)

  • Input:determines whether to enable or disable echo

values taken: 0 or 1

0- disables echo

1- enables echo

Invalid input returns an “INPUT ERROR” message.

Default value:1 ,echo enabled


Here,typed out text will stop getting displayed in serial monitor



To enable or disable welcome note

Input: Used to enable or disable welcome note.

values taken: 0 or 1

0- disables welcome note

1- enables welcome note

Invalid input returns an “INPUT ERROR” message

Default value: 1 ,welcome note enabled


Here, welcome note at the beginning will be disabled from displaying

TABLE 2: LCD Serial Interface Board AT commands & description

Table 2 entails the major AT commands used to communicate with LCD serial interface board.

Note 1:Send “Enter” character or type 0x0D (hex code for “carriage return” ) in program at the end of each AT command.

Note 2: Ensure sufficient delay between each AT command used. Minimum advised delay is 1 sec.

Note 3:LCD serial interface board can be connected to CP2102 or micro-controller with a baud rate of 9600.


Figure 2:16×2 LCD on LCD Serial Interface Board

So you might have familiarised well with the pin connections and AT commands. Now, go for the hardware connections and programming.

In this part of the post, I am going to provide you insights on the pin connections regarding LCD Serial Interface board with serial to USB converter or a micro-controller.

Hardware Prerequisite:

  1. LCD Serial Interface Board. It is readily available from our online Store
  2. 16×2 LCD. (Purchase from our Store).
  3. Serial to TTL or CP2102.(Available on our Store as well) or Arduino UNO board (buy online from our Store)/ATmega microcontroller(online Store).
  4. 12V power adapter (online Store ).
  5. Jumper wires.

Step by Step instructions to connect CP2102/microcontroller to LCD Serial Interface Board:

STEP 1:Connect dc jack of LCD serial interface board to  power supply adapter or provide  VCC pin of board with 5V power supply using jumper wires.

STEP 2:Connect TX of LCD serial board with RX(receiver pin) of micro-controller/CP2102 and vice-versa.

STEP 3:Connect GND of LCD serial board with ground of micro-controller/CP2102.

STEP 4:Open serial terminal console to type in AT commands or send data serially to LCD serial interface board using micro-controller programs with a baud rate of 9600.

Sample Micro-controller Program using AVR to communicate with LCD Serial Interface Board:


/*sample code for printing a data using Elementz LCD Interface Board written by Elementz Engineers Guild Pvt Ltd (No copyright restrictions).The code is written in AVR studio and the crystal frequqency is 8 Mhz.*/


#include <avr/io.h>

#include <util/delay.h>

#include <avr/interrupt.h>

#include <string.h>

//Functions defined for initiating the uart and processing the data received and the data to be transmitted.

void init_usart(unsigned int baud)





UBRRH=baud>>8; //baud value is 51 for a baudrate of 9600



void usart_putchar(char data)


while(!(UCSRA & 0x20));

//Now write the data to UART buffer



void print_uart(char *buffer)


int i;

for (i=0;buffer[i] != ‘\0’ ;i++)






/*main code starts here.*/

int main(void)


init_usart(51); //initiating UART







print_uart(“AT+DATA=1,00,Hi World”);


print_uart(“AT+DATA=2,00,i am back”);


return 0;


Sample Micro-controller Program for Arduino:

/* Author: Elementz Engineers Guild Pvt. Ltd (No copy right restrictions)( */


void setup()



Serial.begin(9600);//initialising serial communication




void loop()




Serial.print(“AT+DATA=1,00,Hi World\r”);


Serial.print(“AT+DATA=2,05,I am Back\r”);




Serial.print(“AT+SCROLL=1\r”);//for left scrolling


Serial.print(“AT+SCROLL=2\r”);//for right scrolling


Serial.print(“AT+SCROLL=0\r”);//for stop scrolling





Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s