Learning About Arduino and LCD
: Description : Interfacing an Arduino with a LCD device—specifically, a SHARP F2631XH - 44 as salvaged from a SHARP FO-165 fax machine ripe for a hack.
: Status : Research
: See also : Learning About Arduino and Nokia LCD
Introduction
I acquired a SHARP FO-165 fax machine (for $0.20 from a school fair) specifically because it had a visible but unknown LCD. After getting it home and plugging it in the LCD happily turned out to be an (1 x 16?) dot-matrix alphanumeric unit.
Summary
Worked semi-successfully with the standard LiquidCrystal library but seems most reliable with modified LiquidCrystal.cpp library.
While the device is 1 x 16 characters it appears to the chip/library as a 2 x 8 character. I wrote a wrapper routine:
#include <LiquidCrystal.h> // LiquidCrystal display with: // rs on pin x // rw on pin y // enable on pin z // d4, d5, d6, d7 on pins a, b, c, d LiquidCrystal lcd(17, 18, 19, 7, 6, 5, 4); void doPrint(char * msg) { lcd.home(); lcd.print(msg); if (strlen(msg) > 8) { lcd.setCursor(0,1); lcd.print(msg + (8 * sizeof(char))); } } void setup() { // Print a message to the LCD. doPrint("hello, world!"); } void loop() { }
Ideally it would take notice of the current cursor location.
Dismantling
The portion of the device that contains the LCD and push-buttons detaches cleanly from the rest of the unit as the scanning paper path is below it. I think I unscrewed one screw but the black hinges just pop off the sides. There is a cable with a white rectangular connector wired to somewhere in the main unit and this disconnects from the LCD/keypad section.
After removing a few more screws I was able to access the PCB board. It turns out the LCD is contained in a separate unit connected to the keypad PCB via a soldered 14-pin cable. Bending back the white plastic clips enables the LCD module to be lifted up. The module looks really tidy with a metal facade around the LCD display.
The markings on the PCB identify it as a SHARP F2631XH - 44 unit. Other markings include "HCS-40 94V-0", "HDK" and "V37NK S". (The keypad PCB the LCD module is wired to also includes the marking "94V-0" among others.) The connector cable is labeled "CNLCD" on the PCB.
(ASIDE: It turns out "94V-0" refers to an Underwriters Laboratories rating for plastic flammability. Some details if you're interested: UL 94 flammability testing, "By far the most stringent and also the most widely accepted of such tests is the Underwriters' Laboratory Standard for safety, UL 94, for electrical devices. The test, involving the burning of a specimen in the vertical position, is the one by which most flame-retardant (FR) plastics are rated. In this test, the best rating is UL 94V-0, which defines a flame duration of 0 to 5 sec, an afterglow of 0 to 25 sec, and the presence of no flaming drips that ignite the dry, absorbent cotton located below the test specimen.", link, link.)
There is an IC on the reverse of the LCD PCB marked "SEC 609B KS0066F00".
The keypad PCB has a handful of passive components on it, an IC 74HC147 (Philips 10-to-4 line priority encoder) and a couple of sensors labeled ORGSNS (slotted one piece optical sensor?) and FRSNS (long-arm switch?).
Research
- "looking for specs on SAMTRON /SAMSUNG KS0066F00" (reply has datasheet link)
- "HD44780 clones ... KS0066 Samsung" "Bitbanging HD44780 based display module with ARM(R) microcontroller" (Includes useful information and high-quality presentation.)
Links
- Service manual for UX2200CM a device that seems to share design with the F0-165 based on the "ORGSNS", "FRSNS" and other labels occurring in the manual and the block diagram. (Might be useful for further hacking info.) (e.g. ORGSNS)
- Create HD44780 LCD User-Defined Graphics online -- looks very cool.
- Side note: What's the LCD in these GirlTech FriendChips?
- LCD Interfacing Reference Page 2 pin variation...
@@ TODO : Move most of the fax-specific content from this LCD page to somewhere more appropriate?