Modern Device LCD117/Serial LCD Driver Commands

A popular display chip seems to be LCD117 and is a 9600 baud chip that is recommended
for PICAXE which are capable of 9600 and/or 2400 bps serial transmission.

Some of the following commands are CASE Sensitive and may require a pause.



Command / Comments

Suggested Pause



Send Text


SerTxD ("Hello World!");


Home Cursor


SerTxD ("?a");


Destructive Backspace


SerTxD ("?b"); // backspace


Set Cursor Style:  0= none 2= blinking 3=underline


SerTxD ("?c0"); // turn cursor off


Clear Screen


SerTxD ("?f");


Beep (requires speaker on pin 6)


SerTxD ("?g");


Backup Cursor (Non-destructive backspace)


SerTxD ("?h");


Forward cursor


SerTxD ("?i");


Up cursor


SerTxD ("?j");


Down cursor


SerTxD ("?k");


Clear cursor line


SerTxD ("?l");


Carriage Return


SerTxD ("?m");


CRLF, carriage return & line feed,
cursor at start of next line, line cleared


SerTxD ("?n");


Set tabs at # spaces

100 ms

SerTxD ("?s7");
// set tab to 7 spaces


Tab, advance one tab position


SerTxD ("?t");


Position cursor on x column, (two characters are required), first column is column 0


SerTxD ("?x09");
// cursor to column 10


Position cursor at y row, first row is row 0,
one digit only (no leading zero)


SerTxD ("?y3");
// cursor to row 4


Display a "?"


SerTxD ("??");


Send direct command to LCD


SerTxD ("?!01");


Backlight Intensity – sets PWM value, two hex digits req. (00 to FF)

100 ms

SerTxD ("?BFF");
// backlight on full brightness


Define Character "?D#1A001A001A001A00" D# = character
# 0-7 then 8 two character hex digits representing
(5 bit values top to bottom)

100 ms

SerTxD ("?D31F001F001F001F00");
// custom character 3
// every other line black


Print a custom character
numerals 0-7 are valid

5 ms

SerTxD ("?3);
// print custom character 3


High output on auxiliary digital pins: valid numbers are 4,5,6


SerTxD ("?H4");
// aux pin 4 HIGH


Low output on auxiliary digital pins: valid numbers are 4,5,6


SerTxD ("?L4");

// aux pin 4 LOW


Configure for LCD geometry. Supported formats:
2X16, 2X20, 2X24, 2X40, 4X16 and 4X20.


SerTxD ("?G216");
// configure driver for 2 x 16 LCD


Ganging up commands is OK, except for commands requiring a following  pause


SerTxD ("?x01?y1?fHello World");
// cursor to beginning of line 1
// clear screen, print "Hello World"


Enhanced Commands



Enter BIG Number Mode (numbers only!) "?>3" X # = 3 or 4 ,

# represents number of characters displayed. (20x4 LCD's only)

100 ms

SerTxD ("?>4");
// enter big number mode, 4 character option.


Exit BIG number mode "?<"


SerTxD ("?<");


Define custom boot screen line # = 0 - 3

100 ms

SerTxD ("?C0abcdefghijklmnopqrst")


"?S0" - display no screen on boot.
"?S1"  - display the configuration setting on boot
"?S2" - display the user custom text screen on boot.


SerTxD ("?S2); // custom boot screen

?* display boot screen at any time   SerTxD ("?*); // show boot screen
    NOTE: In some cases you may use the following instead: SEROUT pin, baudmode, ({#}data,{#}data...)

Copyright © 2008-2015  Ted J. Mieske
All Rights Reserved.