ELM Home Page

June 25, 2015

Using a Tiny LCD (1)


LCD

One day I found a tiny 128×64 dots monochrome graphics LCD module F12864G25412P1701 at Aitendo in Akihabara and bought some modules for ¥600/unit. But I had not determined what the module should be used for.

Overview

The LCD module consists of transflective type black/while FSTN LCD glass with UC1701 COG controller. The transflective (a combination of transmissive and reflective) LCD can be used at both dark place and light place with back illumination mode and reflective mode. The LCD moldule comes as breakout kit with an attached back illumination unit as shown in the image above. The very low current consumption, only 220μA at active mode, enables to extend the battery life to 1000 hours with a CR2032 coin cell, so that it is suitable for the display of tiny gadgets.

Use It Anyway!


Schematic | Firmware | Some photos

And I need to make any gadget with this LCD module. Somebody have created interesting games for the 128×64 dot display but I am not familiar with game creation. Some days afterward a login screen reminded me that I have planned to make a Password Manager. That was what I want to make!

As shown in the schematic, it is quite simple circuit that composed of only a microcontrller, LCD and some input switches. Supply voltage does not need to be regurated with additional LDO because the LCD has a built-in regurated bias genetator. The circuit board is embedded into a Frisk case as shown in the image.

Every operation is done with a power button and a 5-input (↑/↓/←/→/●) joystick. To open a record, select the first letter of the title with ←/→ input, select the record with ↑/↓ input and then input ●. To create a new record, select [New Record] command in the Main menu (input ● with no record selected). Each character in the item can be changed by ↑/↓/←/→ input and go next item by ●. Length of each item is 42 characters max. To edit or delete an existing record, open record menu by ● with the record is opened. When 90 seconds elapsed with no operation or battery voltage lowers less than 2.5V, the power is automatically turned off.

Each record is stored into the integrated flash memory. The record holds three items, title, user id and password. The max number of records is 124.

To back-up the data in the password manager, it can output the data in Intel hex format via UART in N81-9600bps by [Backup Data] command in the main menu. The data is received with any terminal software and saved anywhere secured. To restore the data, it needs to be merged with program hex file and then written to the microcontroller. It is useful to set-up many records. Because the back-up data is in 128 byte fixed length each record, { char title[42], char user[42], char pass[42], char dummy[2] } and dummy[] can be "\r\n", it can easily created with any text editor. The text file needs to be converted into Intel hex format with address offset of 0x4000.

The data security is achieved by a password lock on start-up. However the password in arbitrary string even in simple numerals are hard to input with a joystick, so that secret combo command (e.g. ↑↓↑↓←↑→↓) is used as the password for this device. If wrong password is entered 5 times in succession, all records and the password in the device is erased. The password can be changed by [Change PIN] command in the main menu. The microcontroller must be read-protected to secure the data, of course.

Sign