Moving Message Display On LCD

Here is an AVR based moving message display that uses a 16x2 LCD display incorporating HD44780. The 16x2 LCD can display 16 characters per line and there are two such lines. -- By SANI THEO


Here two options for burning the hex code in standard ISP mode are explained. Some AVR tools that support ISP programming include STK600, STK500, AVRISP mkII, JTAGICE mkII and AVR Dragon. There are also many other AVR programming tools available in the market.

PonyProg2000 software

This software along with programmer circuit is available from website. After installing PonyProg2000, select the device family as AVR Micro and device type as ATmega16. Now in ‘Setup’ menu, select ‘SI Prog’ I/O option for serial programmer and COM port from ‘Interface Setup’ option. In ‘Security and Configuration Bits’ option, configure the bits as shown in Fig. 3. Next, open the device file (hex code) and click ‘Write All’ option to burn the chip.

Frontline TopView software

This software along with programmer board is available from website. After installing the software, select COM port from ‘Settings’ menu. In ‘Device’ menu, select the device as ATmega16. Burn the hex code into the chip by clicking ‘Program’ option. Note that the microcontroller uses a 16MHz externally generated clock. Program the fuse bits in the software by selecting upper and lower bytes as follows:

 [stextbox id=”grey”]Fuse low byte = EF
Fuse high byte = C9[/stextbox]

If the fuse bits are not configured properly, the text will scroll slowly or text scrolling may not function properly even if the scrolling rate in the code is changed. The SPI6 connector allows you to program the AVR using SPI adaptor in ISP mode.

Fig. 3: Screenshot of configuration and security bits option
Fig. 4: A single side PCB for the moving message display on an LCD using AVR microcontroller
Fig. 5: Component layout for the PCB

Download PCB and component layout PDFs: click here

Construction and testing

A single side PCB for the moving message display using AVR is shown in Fig. 4 and its component layout in Fig. 5. Before mounting the AVR onto the PCB, ensure proper power supply to the circuit. Program the AVR as mentioned above, insert it into the PCB and power-‘on’ the circuit. The text will scroll from right to left in the first line and then in the second line of the LCD, repeatedly. If there is any problem in the display, press reset switch S1 momentarily. If there is no message display at all, vary the contrast-control preset (VR1) until the text is visible on the LCD.

Download source code: click here

The article was originally published in Jukly 2012, and has been updated recently.

Feel interested? Check out other electronics projects.


  1. Here in this project, 3 codes are given namely movm.c,lcd2.c and lcd2.h . I am confused among these 3 codes which code to be burn in the IC. Please give me the suitable suggestion.


Please enter your comment!
Please enter your name here