In this project we use a two line LCD display with a 16 character width to display text characters. The device has the ability to connect to a computer via a micro-USB and text characters can be sent to the device through a terminal application. The device takes the text characters and stores them into an onboard FRAM chip. The device has an on/off switch that controls the standard AAA battery powering the device. Upon powering the device the display and the backlight are activated, the RL-78 microcontroller begins reading the stored text characters from memory, and the characters are sent to the display. The device will scroll multiple lines of text, the speed of which is controlled by sending an integer value at the beginning of the text file sent to the device.
Front view |
The device uses a Renesas RL-78 microcontroller as the main processing unit. The display is a Newhaven LCD 16x2 unit with backlight functionality and uses I2C communication with the RL-78. We use a Cypress 64Kb FRAM chip as storage, this unit is capable of instant writing and reading cycles along with the advantage that memory is instantly non-volatile, the chip is interface with the RL-78 via I2C. The device is capable of communication with a computer via a SiLabs USB bridge using UART interface. Power is supplied by a standard AAA battery and a Texas Instruments boost DC-DC converter.
Schematic | Board layout | |
When the device is first powered, either from an off state or from a reset condition, the device will first check the UART pins to determine whether it is connected to a computer. If a connection is detected the device will start a UART segment where it will begin reading information from the USB. This UART process uses a baud rate of 9600 with no parity and 8 bit data. The first character read is considered to be the scrolling speed of the display. The entire string entered by the user is then copied into the FRAM memory until a termination character of '$' is found. Once the termination character is hit, the unit will then begin reading the characters back from memory and sending this information to the LCD display.
If no connection is found right after powering the device up, the device will begin reading information from the FRAM memory and sending the information to the LCD display. The scrolling speed is controlled by a wait state which is set using the integer value entered during a USB load.
During a display cycle, the unit reads characters from memory placing these into a 16 character array. Two seperate arrays are used, one array per display line. Once an array is filled it is send to the display via I2C communication. If the unit reads less than 16 characters during an array fill, the unit will fill the remaining positions with a 'space' character. This process is then repeated.
Last modified:Mon, Jan 23, 2023.