Funny "kiosk" project... - Page 1
Forum section: electronics / general

author: Xpendable
author_rank: Contributor
timestamp: July 09, 2015, 07:32:54 pm
content: First, some background...I was asked to do a proof-of-concept "dashboard" web display on some old re-purposed touch screen kiosks. These are ancient Panasonic TY-TP42P6-S Touch Panel units from maybe 12-15 years ago. They have 42" plasma screens which an infrared touch frame mounted in front of the kiosk. Anyway, I'm more of a software guy and I'm an Enterprise Architect at my corporation, but I dabble in electronics. My role on this project was strictly to put an OS on some crappy Pentium 4's and build a dashboard webpage that pulls and graphs analytics from a bunch of sources like Apigee and New Relic. I've got that part down pretty well and have a solution that's working on the Pentium 4's as well as a solution that works on Raspberry Pi 2B's. What I don't have working (and don't actually need for my purpose) is the touch screen. I decided to dive in and figure out how the touch screen component works and to see if I could get it working. Just for fun.Now for my adventures with the touch panel hardware...First off, the touch panel overlay is made by Matsushita, which looks like it was either a subsidiary of or later acquired by Panasonic. The touch panel overlay is literally an open frame that mounts in front of the plasma screen. As one would expect, there is crap load of IR emitters on 2 sides of the frame and a crap load of IR emitters on the opposite 2 sides. All four inner sides of the frame are covered with a dark IR filter that appears to block visible light but lets IR through. The unit can be removed from the plasma screen (which I've already done on one of my units) and it connects to the computer by USB. For this particular model, they only offer drivers for XP/Win2K and Win95/Win98. (Did I mention this thing is old?) These drivers of course don't work in Win7 or with anything else I've tried. I've searched the net extensively and nobody has drivers for them except what was originally released. More on that in a sec...So... I kind of assumed that this thing had a serial to USB interface... mostly from my experience in working with touch screens at a previous major retailer. So I took the module off the plasma screen and looked at the primary logic board. Sure enough... there's a Prolific PL2303 chip next to the USB port. But the .inf files for the ancient drivers show a different USB VID/PID than what is standard for a PL2303. A quick google search and it looks like a manufacturer can override the VID/PID with an external EEPROM. Sure enough... there's the EEPROM chip. So... before I go to the trouble of reading and reprogramming the EEPROM chip, I noticed a blank spot on the board for soldering in a good old fashioned DB9 serial port. I might just solder 3 wires for TX, RX, and GND to the appropriate pads on the board and connect them to an Arduino and then use a SoftwareSerial port to marshall between the Arduino's hardware serial to USB interface. Or... maybe I just pull the eeprom off and see if the chip reverts to the standard VID/PID, which would then allow me to use Prolific's standard driver and I'd be in business. Shame on Matsushita/Panasonic in trying to make their junk proprietary!

author: ajb
author_rank: Super Contributor
timestamp: July 10, 2015, 01:17:52 am
content: The custom VID/PID is there to ensure that the correct drivers attach to the device so that it actually functions as an input device. Otherwise, the standard Prolific drivers make it show up as a COM port, and then software has to be configured to look at that particular COM port before it'll work. Even worse that COM port number may change if the device is plugged into a different USB port, and that's the sort of user involvement that's best avoided theses days, especially in a kiosk application. So for a consumer device it makes perfect sense for them to go the custom VID/PID route with their own drivers and make it plug-and-play if at all possible.Be aware that if the board has a DB9 footprint then it was likely meant to use RS232 signalling levels, which are not going to be compatible with an Arduino's UART, although in the USB version they may not have installed the RS232 level translator. A better bet would be to pick off the logic level RX and TX lines that connect to the Prolific IC, or that would go to the RS232 interface IC if there's an empty footprint for one. In either case, be sure that whatever hardware you connect uses compatible signal voltages (presumably either 3.3V or 5V).Or even simpler, check the PL2303 datasheet--if it uses an external EEPROM to store the VID/PID, it's possible that if you remove the EEPROM it will simply revert to the default Prolific VID/PID.

author: Xpendable
author_rank: Contributor
timestamp: July 10, 2015, 03:48:41 am
content: I've interfaced RS232 to an Arduino Uno R3 a few times... never had a problem. Not saying you're wrong, I'm saying maybe I've just been lucky thus far in not blowing anything? Or maybe it wasn't true RS232 that I was doing between devices? I've had an Arduino control a 2.4 Ghz PPM radio transmitter module in my custom ship transmitter and I've had an RPi and an Arduino talk to each other. Also had 2 Arduino's communicating to each other over serial.Anyway, maybe it would just be easier to pull off the eeprom. I could bring the main logic board home and use my hot air reworking machine to remove it. I can always put it back on again - not that I really need to. Nobody cares about the touch screen for our application anyway. This is more about having a little "fun" on the side. Oh, by the way... in regards to the auto-detect of their hardware... Their crappy software made you select the com port anyway. Totally get that they could have auto-detected it, but they didn't take it that far. From my research, it appears that subsequent Panasonic Touch products switched to using FTDI chips.

author: Xpendable
author_rank: Contributor
timestamp: July 13, 2015, 04:57:02 pm
content: I ended up clipping the voltage and ground pins on the EEPROM chip. For some reason Panasonic bolted the circuit boards down with nuts, and I didn't have any wrenches at work to take the nuts off. So I said "screw it" and used a tiny screw driver to destroy the power pins to the EEPROM. Sure enough, the PL2303H booted up with it's regular VID/PID and the drivers now recognize it! It took me awhile to figure out the correct serial port settings, which ended up being 38400/8/N/2/no flow control but now the device is working. Unfortunately, I'm getting occasional BSOD in Windows 7 64-bit with the Prolific drivers. From what I have found after some Google searching, it looks like this is a common issue that Prolific has chosen not to fix for their EOL (end of life) chips like the PL2303H. They addressed some BSOD issues wtithe PL2303HXD, but not for the PL2303H. Oh well. I guess I don't really care. I might end up using the touch screen on a Linux machine and can use an open source PL2303 driver for that.

author: lpc32
author_rank: Frequent Contributor
timestamp: July 13, 2015, 09:29:45 pm
content: Quote from: Xpendable on July 09, 2015, 07:32:54 pmMatsushita was the original name of the company behind the Panasonic brand name. A few years ago they officially renamed the company to Panasonic.