serial character display help

gibbly

Estimable
Nov 30, 2014
4
0
4,510
Hello, long time no post.

A friend of mine brought in a 12x24 character display asking if I could figure out how to change the message displayed. Here is what I know.


It uses an rs-232 serial port for communication

there are 3 wires actually connected to the serial port

When it turns on it displays "w12x24___3.4 99062906" momentaraly.

It was originally used by wendy's to display order information.

That's about it. It is connected to a serial port on my computer, but i am not sure how to go about this software-wise. Any help would be appreciated.

Mods: im not sure if there is a better place to put this, so if there is, plese move it.
 
Solution
That just confirms that this is (very) intelligent display (although made twenty years ago), and that "ep1801" chip is most probably the EProm chip containing the firmware for Z180 cpu. So, even if you are able to talk to device, without knowing the particular communication protocol, and whether that device has a non-volative memory to store configuration settings (if there are any), you won't be able to change that initial message (it could be hard-coded into the EProm device, and these are not programmable inside a device).

You can **somehow** read the EProm, disassemble the firmware, extract the protocol...

@Pinhead: How CentOS (running into VM over Debian, as OP mentioned is using) will help in "becoming a C guru"?
It could be everything... This serial port could be with TTL interface, the display itself could use some proprietary protocol...

Open the thing, see what makes it tick - how these wires are connected, what chips are inside... Or find something else to do, if hacking into electronics (and learning) is not your thing.
 

gibbly

Estimable
Nov 30, 2014
4
0
4,510
@Alabalcho I have confirmed that it is rs-232 compliant and not ttl, but that is enough for tonight. If you have anything else you can tell me I would be glad to hear it.
 
If you have access to an original system - you can monitor the communication over RS232 line (you will need a laptop with two serial ports, and special cable), and see what's going on. Here is a piece of software you might use for the task, with an explanation for the cables required.
 

gibbly

Estimable
Nov 30, 2014
4
0
4,510
Unfortunately I can not. Would it be possible to send raw data to it to see how it reacts to different combinations of data rates, start/stop bits, etc.

Also note that I run Debian Linux, so any software will have to be compatible.
 
"Raw data" does not make sense in general. If that device follows some communication protocol, it might answer only on correctly formed packets, and only in certain way. Your ddevice could even use some proprietary setup software and proprietary binary protocol, that's why I have recommended monitoring a live communication.

With all my respect to FOSS, there are not that many great terminal emulators running under Linux. Putty is my favorite there for character-based emulation, and I have written some custom tools for communicating in binary. This page lists some other options.

What I would do: Install a terminal emulator, configure it for no flow control, confirm that it 's working (if you short TX to RX pin, you should get your input back). Now, set it to eg 2400bps, connect it to the display, and turn the display on. See whether you will get anything on the terminal.

But short of real hacking (read: opening it and seeing what makes it tick), you are out of luck.

Last but not least: Adafruit is full of cheap serial character terminals.
 

Pinhedd

Distinguished
Moderator


3 wires is pretty consistent with a TX + RX + ground UART configuration using the RS-232 interface.

The only thing that you can do is open up the device and find out what LCD controller chip is used internally and then see if there's a datasheet available online.

As far as playing around with it, this is a great opportunity to learn some C.

Step 1: Grab a USB-to-RS232 converter from a local PC hardware store and plug it into an XHCI (USB 3.0) port on your computer if you have one, otherwise use an EHCI (USB 2.0) port.

Step 2: Get your hands on VMWare Workstation; trial is fine.

Step 3: Install CentOS 7 (latest release) and appropriate development tools. Make sure that the VM has a USB controller operating in USB 3.0 mode if your PC has an XHCI controller or USB 2.0 mode if your PC has an EHCI controller.

Step 4: Install VMWare tools and verify that everything is working correctly

Step 5: Attach the USB-to-RS232 converter to the virtual machine. Don't attempt to use a built-in serial port; these work very differently at the driver level and are a huge pain in the ass when it comes to virtual machines. USB devices pass through extremely well to virtual machines, especially when the host and VM are both using XHCI.

Step 6: Write a Hello World! program

Step 7: Become a C guru
 

gibbly

Estimable
Nov 30, 2014
4
0
4,510
Opening it up hasn't helped so much yet, I've identified most of the larger chips, those being a z180 cpu, it's memory and storage, and a logic converter.

I looked at the uart section of the z180's manual and found little useful information as it is very configurable, it could still be anything.

There is another large chip in a similar package to the z180, it is labeled "ep1801" on the main board, but the chip itself has a sticker on it that says "OTP7R1_1 3/01/94" that I have not been able to identify.
 
That just confirms that this is (very) intelligent display (although made twenty years ago), and that "ep1801" chip is most probably the EProm chip containing the firmware for Z180 cpu. So, even if you are able to talk to device, without knowing the particular communication protocol, and whether that device has a non-volative memory to store configuration settings (if there are any), you won't be able to change that initial message (it could be hard-coded into the EProm device, and these are not programmable inside a device).

You can **somehow** read the EProm, disassemble the firmware, extract the protocol...

@Pinhead: How CentOS (running into VM over Debian, as OP mentioned is using) will help in "becoming a C guru"?
 
Solution

TRENDING THREADS