Reverse engineering a TORCAM CNC lathe controller

TORCAM CNC controller reverse engineering 018

About a month ago, I connected with Arden’s high school tech teacher to see if we could get the CNC lathe and mill going in SJAM’s shop. It had been inherited from another school and as far as we knew had never run at its current location. The backstory is in my original post on this from September.

The TL;DR: this box was not designed to connect to a standard PC parallel port. Pin 13 on a standard port is an input to the PC, however I discovered that this box is expecting the 74HC240 and HC244 buffers to get their 5V Vcc via Pin 13.  Hmmm. Further investigation revealed that the controller box was feeding front panel button presses back through the on-board buffer chips, but some of those were terminating in the Pin 18-25 range at the PC.  Bzzzzt! Those are all grounds. So, discussing with the ever-lovin’, always-makin’ James Bastow, we conclude that this whole rig probably shipped with its own special computer, with a special I/O card on the ISA bus that provided all the I/O and power for the controller box. Looking at the pinout I had reversed, it seemed I could reasonably make a custom adapter cable to get at least minimal functionality out of this rig via a standard PC. That’s in progress.

A little help: I may have mistreated the parallel port on my old DOS laptop in the course of this work, so I’m looking for anyone who can contribute another with no hopes of having it returned. A Win98 laptop with parallel port would be much appreciated. Thanks!

After a very otherwise busy month, I’ve got an update. I cracked the case open and took a large number of photographs of the guts, including both sides of the PCBs. That’s my first step in reverse engineering this controller.

Next I…


cropped the photos of the 2-sided I/O board, mirrored the bottom side image and then did a sort of alpha blend of the two boards looking from the top down, see partial work above. It’s like having x-ray vision to see where the traces go from the top where they punch through to the bottom on the vias. This allows me to visually trace the circuit, for the most part and figure out what pins on that 25-pin D-sub connector connect to what.

TORCAM CNC controller reverse engineering 020

This visual method isn’t perfect, so it’s usually necessary to resort to the old continuity tester on my multimeter. Jam the wire in Pin 15 (here) and then…

TORCAM CNC controller reverse engineering 019

prod around inside in an informed way to see where Pin 15 terminates. Then…

TORCAM CNC controller reverse engineering 021

look at datasheets for the buffer ICs and figure out which are inputs and which are outputs.

TORCAM CNC controller reverse engineering 022

Then draw it all out. Left to right, data port to buffer to axis motor controller or other. A ha! There’s that pesky Pin 13 that just didn’t make sense at first.

TORCAM CNC controller reverse engineering 023

More I/O going on here than can be accommodated with a standard PC parallel port. Another clue. Most of the front panel buttons feed back through buffers to the controlling PC.

TORCAM CNC controller reverse engineering 024

TORCAM CNC controller reverse engineering 025

Here’s a marked up copy of my “x-ray” image.

TORCAM CNC controller reverse engineering 026

Here is the pinout on the 9-pin D-sub connector where the motors connect. I’m hooking up some bipolar steppers of my own for test purposes.


The beginnings of my custom adapter cable. Dan and I used to scrounge these from old PCs in the dumpster outside East Campus Hall at UW. Fortunately, I never throw anything out.


Stay tuned for cable test results. Once I find another Win98 laptop to drive it.


This entry was posted in maker resource and tagged . Bookmark the permalink.

4 Responses to Reverse engineering a TORCAM CNC lathe controller

  1. Glenn says:

    You can get USB to parallel port adaptors. Some are only good for driving printers, but others will let you bit bang. I have a USS720 with register mode that allows some bit banging.

  2. Raman says:

    Good read. Keep on teachin’ the world, DW.

  3. NoseyNick says:

    The days of bit-bangable parallel ports are REALLY numbered, even the USB ones, and you’re in for a world of pain trying to drive hardware projects from one of the “intelligent” parallel ports.

    I suspect you’d do better to get an Arduino in there. That’s a lot of I/Os though, you may need the Mega, and/or daisy-chain two regular Arduinos, and/or do some cunning multiplexing?

    Another option might be a Raspberry Pi, which could potentially replace the external PC completely if you can find/develop software, BUT it’s a bit awkward with 3.3V I/Os (unless your buffers can work at 3.3V?), and you’d still not have enough I/O pins without one of the expansion boards


  4. Pingback: Refitting a TORCAM CNC lathe controller | makebright

Comments are closed.