Hand Crafting a Digital Interface by Learning the Devices' Respective Pin out

Different plugs and different cable means you cannot plug one device to another, right? Not necessarily. Plug adapters exist to solve exactly this problem. You can use an adapter to plug something awesome from the 80s like the IBM Modem M keyboard, which uses the old AT plug, and use it in a workstation that only takes PS/2. Your machine only has USB for keyboards? well use a PS/2 to USB adapter in-line with the AT to PS/2. So the plug shape and size is no matter.

But how far can this go? In this project born from necessity, we will see as long as the devices use the same protocol, which are actually no where as diverse as the zoo of connectors that are out there, they can talk. In fact, before USB and ethernet and 802.11 ruled the day, RS-232 was pretty much the universal way digital devices talk to one another. Terminal at Norad in War Games that the heros used to talk to WOPR? RS-232. The Acoustic Coupler that they literally plugged the phone headset on? RS-232 serial Modem (same setup was shown being used inside the Matrix.) As with all the production hardware, they keep using what is reliable rather than chase the hot and new, so if what you do matters, serial communication is still useful to this day.

9 Pin RS-232 connector pinout

Yes, Mr. CCNA, serial is how you telnet into your nice routers, and terminal redirection is so useful and cool with a TRS-80 Model 100 inside a data center talking to servers directly without touching the network, programmer's access indeed. This is spinal tap, digital style.


The Verifone Tranz 330 - A tinkerer's dream device

Verifone Tranz 330 Credit Card Terminal

Originally designed to process credit card transactions at retailers. You slide your mag stripe credit card, the merchant inputs the sale amount, a slip prints out for you to sign, and the fund gets transferred. You have probably seen it at a restaurant or maybe even used it yourself.

Software wise this thing is as simple and as modifible as can be. You will see versions of it in use even after the PCI security standard made it obsolete for its original intended purpose. The code it runs is called TCL, Terminal Control Language, Verifone's assembly language for this range of devices, if you take the time to read the documentations and learn its assembly, it is programmable right on the terminal itself, the knowledge to do so is available for free. The system is open sourced, as in speech. (and as far as the information and tools are concerned, as in beer too.) The only thing you pay for to hack this device is the trivial cost of obtaining the terminal hardware itself. Inputting a program in assembly into a terminal using 10-key is more fun than texting on a Nokia flip phone I tell you. People with Altair programming experiences (most of them are Billionaires at this point, I am sure Bill Gates and Paul Allen qualify both on the experience count and the money count.) will know the fun of flipping bits on 8 blade switches to input a byte into memory.

Of course, you could buy something called ZoneTalk or TCLOAD, which is probably a higher level complier or some such for banks to buy so their BIS programmers with their cushy salary will not have to endure the pain and pleasure of messing with assembly...

Back to its fun uses - you will see it being sold this day as a magnetic time card system among other things.

(Perhaps a door entry security or fancy vehicle start system. Okay, so things like getaround use an iphone now to talk to the BCU. We will get to those in a future article here.) Replacing the old clock punch time card regime companies used to log employee attendance. (okay, these days there are no excuse not to use biometric finger print systems, which PANG Industries does sourcing consultation and installation and programming and training by the way.)

Biometric Time Card System
At any rate, using the Tranz's internal real time clock, ability to read and log mag card, accept numeric keypad input, and generate pin out, or even more awesomely, to dial the data out to a remote system using POTS. A competent programmer can build an awesome system. (What the people who sell the Tranz for time card will not tell you, you actually don't need to buy all those blank mag cards. In California at least, our Driver's Licenses have mag stripes on the back, and protocol being most valuable when they are compliant, the Tranz's mag reader can read that too. What a free and neat way to ID your employee huh. Swipe your DL on the terminal, and it logs your work time.

Contact me if you are interested in modifying the Tranz for your own use. Because if I start showing you how to turn a 10 buck surplus "e-waste" (there is no such thing) into a 500 dollar commercial product here, I would be taking hard working people's well earned money out of their pocket, whist saving their wealthy client literally just a couple bucks a day.

All while leaving me with not a penny, and still have to front the cost of running the server. In short, nobody wins if I spill the beans.


So here is the story, the receipt printing part, the companion receipt size Dot Matrix, the Printer 250, with its many mechanical moving parts, died beyond repair. Newer similar devices use thermal print strips, without the back and forth motion the pin heads would use in a dot matrix. Those cost a bit more, are faster, but the paper cost more and they cannot generate an impact carbonless carbon copy, which is a neat built in safety feature against fraud. (The merchant's copy can be forensically matched with the customer's copy because each dot was punched at the same time by the same pin, it is near impossible to fake something like that. We recently have a case where we needed to show one pair in court. This very sane rationale for using Dot Matrix or Daisy Wheel or old style typewriters in this day and age will be discussed in another article.)

Back to the Printer 250, so it died, and a replacement is not trivial cost wise as these things go. But I have the full documentation on hand for the Tranz and the Printer 900. Which told me it is just a regular printer, with a fixed character set, which despite its smaller size, runs on a regular serial interface.

Okay, so there is a reason why the Parallel port on a PC is synonymous with Printer Port. Almost all printers that are not USB or WiFi are Parallel. The plugs are different, and the protocol is different. Remember what I said earlier about how everything used to use serial, not just the production, specialized devices like today? Welcome to my childhood friend: the Apple II, and arguablely the best consumer dot matrix printer ever made: The Image Writer and the Image Writer II.

Image Writer Original Image Writer The Original Image Writer

Image Writer II The slightly improved, just as reliable Image Writer II

Being made in the late 1970s and early 1980s, these things did not have the luxury of IEEE 1284 since it wasn't widely adopted yet. Besides they run too slow to require anything with that much bandwidth. So the engineers at Apple used RS-232.

The Tranz uses a 8-pin Din for printer output,

Interestingly, Pin#8 is a 24V Drawer Kick, presumably this little terminal is even capable of being programmed to function as a cash register as well. Take that Clover.

The Imagewriter, on the other hand, uses a 25pin D-Sub.

Wasn't hard to figure out which pin goes where, it's just like trying to hook up the old camcorder to the old vcr to the old TV, just with soldering iron and individual wires and pins, that's all.

So if we can use the Image Writer to print credit card receipts, why not also make a cable for the Image Writer II?

The II actually uses a different connector despite also being serial. It is a 8-pin miniture DIN

Same methology, diffent model variant.


What might be of more of an interest to the reader who just happened to come across an Imagewriter and wanted to have fun with it. Being a standard serial printer, all you really needed is an off the shelf adapter / cable and an available serial port on your PC (have tried unsuccessfully to use a USB-Serial adapter.) The driver to use with it is the model C. Itoh 8510, which should be in the Windows driver respositary as shipped. At our lab we have tested this setup to work on a desktop.
Content last updated:
July 15, 2015 23:46


Unless noted otherwise, graphics and text and designs are all Copyright (c) P A N G Industries.
Trademarks are the properties of their respective owners.
Please Contact us if you claim ownership of content and wish to have them removed.


Post your comments here.
071515 21:44:52
011216 10:03:27
011216 10:09:34
011516 13:34:51 Testing
011516 13:42:20
011516 13:42:28 Testing
021816 23:46:59
021816 23:54:20
030716 20:43:47
030716 20:43:48
032116 13:53:05
032116 14:00:51
041916 18:35:38
041916 18:38:39
051016 23:17:41
051016 23:24:44
061116 13:02:03
061116 13:07:45
061416 19:00:34
061416 19:07:43
070816 17:58:13
070816 18:04:06
091316 17:05:33
091416 18:32:36
091416 18:39:13
101316 1:53:47
101316 2:00:26
110916 23:14:00
110916 23:20:18
121916 23:57:38
122016 0:02:52
010517 3:10:09
010517 3:17:39
031517 17:19:44
040817 1:34:05
051617 2:37:28
051617 2:44:40
062617 15:33:04
071117 16:59:17
071117 18:53:46
071117 19:00:48
071117 20:39:09
071117 20:46:16
071317 23:01:00
071317 23:01:04
072817 14:47:42
081217 3:12:34
082617 15:30:05
091017 3:07:31
091217 20:23:29
091217 20:29:10
092417 20:30:14
092417 20:31:11
092417 20:34:17
092917 17:38:16
100617 21:13:21
100617 21:17:58
100917 18:33:07
100917 18:34:12
100917 18:35:56
101617 11:20:00
102617 13:22:59
102617 13:24:59
102617 13:29:23
103117 12:51:40
110317 21:49:30
111017 17:11:05
111017 17:21:25
111017 17:21:29
111617 14:50:53
112617 13:26:10
112617 13:30:09
112617 13:30:17
112617 13:32:18
120117 17:08:03
120617 21:37:11
120617 21:43:07
121217 4:01:54
121217 4:04:12
121217 4:09:50
121717 1:56:05
122617 23:52:25
122617 23:53:37
122617 23:55:30
010118 1:35:08
010918 23:58:05
011018 0:08:49
011018 23:09:30
011018 23:10:14
011018 23:18:42
011518 23:50:02
012618 4:33:04
012618 4:39:25
012618 4:40:25
013118 2:15:43
021018 4:12:18
021018 4:18:14
021118 1:08:34
021118 1:13:59
021118 1:26:55
021118 7:17:15
021118 7:18:47
021118 7:22:47
021618 12:16:59
030218 17:21:41
030218 17:24:53
030218 17:25:26
030818 4:53:33
031318 9:41:11
031318 9:46:43
050418 21:25:54
050418 21:35:22
050718 13:25:05
050718 13:36:53
050718 13:59:59
050718 14:05:54
050718 14:19:47
050718 14:20:02
050718 14:22:24
051618 9:10:28
051618 9:22:23
051618 9:49:54
051618 10:02:39
051618 10:07:59
051618 10:13:10
051618 10:16:26
061318 0:40:38
061318 0:53:42
061318 1:05:37
061318 10:32:50
061318 10:46:29
061318 10:57:27
061318 11:09:38
061318 11:21:02
061318 11:32:43
061318 13:25:48
061318 13:37:25
061318 13:59:28
061318 14:09:17
061318 14:17:13
061318 14:19:59
061318 14:20:08
061318 16:10:43
061318 16:24:17
061318 16:49:13
061318 16:56:06
061318 17:08:49
061318 17:21:49
061318 17:30:02
061318 17:45:19
061318 18:02:37
061318 18:05:12
070718 13:01:03
070718 13:14:02
070718 13:35:40
070718 13:47:31
070718 13:51:45
070718 13:56:39
070718 14:00:12
080318 1:02:50
080318 1:14:21
080318 2:43:39
080318 3:25:29
080318 3:48:04
080318 3:59:53
080318 4:22:45
080318 4:39:40
080318 4:42:11
080618 10:38:15
080618 10:52:32
080618 11:06:08
080618 11:19:00
080618 12:01:35
080618 12:01:44
080618 12:21:14
080618 12:26:14
080618 12:39:22
080618 13:01:07
080618 13:20:02
080618 13:22:32