The 1602 SmartLCD module is a serially controlled 2 line by 16 character alphanumeric LCD display. Unlike most serial LCD modules on the market the 1602 SmartLCD includes a microcontroller which gives the module a rich set of features. It also requires no software or libraries to initialise the display, output text to the screen or control the features of the module, which reduces development time and frees up much needed resources in your microcontroller or development board. The SmartLCD can be used in one of 3 modes:

PASSIVE SERIAL MODE

With passive serial mode no libraries or special configurations are required, just hook it up to your microcontroller's serial port and display any text output from the port. That's it!

SERIAL AT COMMAND MODE

Serial AT command mode also allows you to display text via a serial port but adds more control via simple to use text based AT commands - print text anywhere on the screen, control the brightness and contrast or even read the status of the push buttons on the optional SmartLCD keypad.

I2C MODE

Finally in I2C mode multiple screens can be connected to one I2C port. For Arduino users just install the SmartLCDI2C library (download from our support forum) and control all the features of the SmartLCD from simple I2C commands.

Features:

16 character by 2 line LCD display module.
Very clear white text with blue backlight.
No software or drivers required to setup or control the module.
Software backlight control with 11 brightness levels.
Software contrast control.
External keypad with buzzer support (optional extra, see item HCKITS0058).
Single 5V operation.

This example demonstrates how simple it is to control the LCD in AT command mode using an Arduino. The example uses the Arduinos built in serial print function to send the AT commands to clear the screen and print 'HELLO WORLD!' to the screen. No special libraries or setting up required! Just connect the LCD to your 5V Arduino as follows:

The SmartLCD's features can be further expanded with the addition of the Smart LCD keypad (see item SKU: HCKITS0058). This add-on board connects to the SmartLCD's keypad header using a single 4 way cable. Once connected it adds the additional features of keypad control (up, down, left, right, select, and back) and audible output to your end application. Access to button states and speaker output is then available via the SmartLCD's I2C or UART interfaces using its built-in commands (see the software section of the SmartLCD manual for more information).

Wireless access

A bonus feature of the Smart LCD, due to it not requiring initialisation by a microcontroller, is it's ability to operate wirelessly using a suitable serial wireless pass-through module. Here in the diagram below you can see a remote control application of the Smart LCD and
keypad with the addition of HC-05 Bluetooth slave (see item SKU: HCARDU0004) and Bluetooth master (see item SKU: HCARDU0064) modules.

The reference manual for the SmartLCD 1602 LCD can be downloaded here:

If you wish to interface the SmartLCD to an Arduino via its I2C interface we have written an Arduino library that will help simplify your sketch. This can be downloaded from the software section of our forum here:

Disclaimer: Libraries, example code, and diagrams are provided as an additional free service by Hobby Components and are not sold as part of this product. We do not provide any guarantees or warranties as to their accuracy or fitness for purpose.

Descriptions and diagrams on this page are copyright Hobby Components Ltd and may not be reproduced without permission.

Hello, I bought your product on Amazon, I would like to know if my keyboard can handle multiple menus. In fact, I'm designing an aquarium with an Arduino and Hobby Components 1602 SmartLCD (HCMODU0122) and I'd like to be able to fix times and more with the keyboard.
Help me?

Hello, I bought your product on Amazon, I would like to know if my keyboard can handle multiple menus.

Yes it's possible but the SmartLCD itself doesn't have any built in menu system. Any menus have to be handled by your own sketch by sending text to the display and checking for keypad button presses. You may want to take a look at the example 'SmartLCD_Keypad_Example' sketch found in the SmartLCDI2C library which will give you some clues on how to send information and read back button presses.

Last edited by andrew on Wed Oct 11, 2017 9:42 am, edited 1 time in total.

Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

Hi,
I'm not that experienced programming in C and have struggled with using String arguments with the SmartLCD.print() command what was easy with lcd.print() seemed bizarrely difficult with SmartLCD.print().
Here is a (probably extremely ugly but I don't care as I have been struggling it with for hours and was glad to have found something that works) solution in case you are suffering like I was: