Restoring a Vintage HP X-Y Recorder With a Raspberry Pi

Solid construction, elegant design, and high-precision output. Once upon a time, Hewlett-Packard made test-and-measurement equipment that was beloved by working engineers. Sure, drop one of those babies on your foot and you were looking at a broken toe. But that’s a small price to pay for reliability and some character building. So when I recently came across an early 1970s HP 7041A X-Y recorder while clearing out my parents’ attic, I knew that I just had to see if I could get it up and running again.
What is the difference between an X-Y recorder and a plotter?
X-Y recorders were designed to chart data from analog instruments in real time, as opposed to plotters, which plot the outputs of digital computers. The basics are the same: There’s a mechanism to raise and lower a pen, and motors to move the pen across the surface of a page. The big difference is that a plotter typically uses digital commands to control the pen’s motion, while the motion of a recorder’s pen is controlled by analog voltage inputs.
So all I needed to do was feed the HP recorder the right voltages, and I could draw anything I wanted! Only a few obstacles stood in my way.
The recorder interface allows Python code written on a Raspberry Pi [bottom right] to create analog signals that are level shifted up and down to meet the different ranges required by the plotter’s x- and y- axis. James Provost
The first obstacle was getting the thing home, because my parents’ attic was in Ireland and fitting a 13-kilogram, 48-by-36-by-17-centimeter behemoth into my suitcase for my flight back to NYC wasn’t happening. About US $300 in packing materials and shipping fees solved that problem, and I was still a little ahead of the game financially compared to obtaining a similar vintage recorder from eBay, and way ahead of buying a new Bantam Tools NextDraw plotter with a similar drawing area. (To be fair to Bantam, its plotters are sleek plug-and-play devices that can handle a much wider range of pens).
The second obstacle was that the recorder didn’t work. Once I got it home, I discovered that the y-axis could be adjusted manually using a knob on the control panel, but the x-axis was dead. The mechanism for raising and lowering the pen made a weak clunking sound and barely twitched.
“Had I just spent a lot of money to ship home an HP-model boat anchor?”
I opened up the case, which was quick work with a Phillips screwdriver—no weird security screws, no glue, no fragile plastic, no yellow stickers warning that your warranty would be voided and you’d probably get boils if you dared to look within. On the beautifully laid out printed circuit boards inside, I spotted some resistors that were clearly not part of the factory install. Were they modifications or repairs? If the latter, had they been successful or had I just spent a lot of money to ship home an HP-model boat anchor? And I had no idea how the 40-pin interface connector on the back of the recorder was supposed to be hooked up to control signals.
All these problems were solved when I found the recorder’s manual on eBay. Oh, what a manual. Not just operating instructions, but detailed illustrations for taking the recorder completely apart and putting it back together. It listed every component, with photos of the circuit boards and electronic schematics on gatefolds. And it included directions for modifying the circuitry if you wanted to measure different voltage ranges than the factory settings–extract a resistor here and there and solder in some new ones. This explained the resistors I’d spotted. In a world where licenses and software locks forbid folks from simply plugging in a replacement component, the thought of a major company encouraging its customers to break out a soldering iron is mind boggling.
Soon, the application of some instrument oil, silicone grease, and Kimwipes had the x-axis and pen lifter working again. I hooked up a variable power supply to the recorder’s connector and slowly brought the voltage up as I watched the pen holder move in response. This allowed me to determine the recorder’s input ranges, which turned out to be 0 to 1 volt for the y-axis, and 0 to 5 V for the x-axis, covering 25 and 38 cm of motion, respectively, with about 0.2 millimeter accuracy.
The next step was to build an interface. Although microcontrollers often have digital-to-analog capabilities built-in, there’s often only one true analog output pin. I needed two. A technique like pulse-width modulation would let me output an analog-ish voltage on multiple pins, but typically with only 8-bit resolution or 256 distinct voltage levels. I needed at least 1,900 levels to match the recorder’s accuracy.
The Raspberry Pi uses an expansion “HAT” and two 12-bit digital-to-analog converters commanded via I2C connectors to create 0- to 3.3-volt control signals. These are shifted to 0- to 1-V and 0- to 5-V ranges using a voltage divider and amplifier respectively, as well as a logic gate used to convert a 3.3-V digital signal that raises and lowers the pen to a 5-V level.James Provost
So I bought two $5 Adafruit MCP4725 breakout boards. These are 12-bit digital-to-analog converters—each providing 4,096 distinct levels—controlled over an I2C serial connection, and two boards can share the same I2C bus. I connected them to a Raspberry Pi Model B+ I fished out of a drawer via a $6.60 SparkFun Qwiic HAT.
The DACs put out a signal in the range of 0 to 3.3 V, so I sent one board’s output through a voltage divider to scale it down to 0 to 1 V for the y-axis. For the x-axis, I fed the other board’s output through an LMC6484 amplifier, powered by a 5-V pin from the Pi, to bring it up to 0 to 4.8 V—not quite the full range, but it’ll do until I come up with a more sophisticated interface. I brought a signal to raise and lower the pen out from one of the Pi’s GPIO pins, passing it through a 74LS08 AND gate IC used as a cheap and cheerful 3.3- to 5-V digital level shifter.
I then wrote code on the Pi to put the plotter through its paces, using parametric equations written in CircuitPython to draw swirling hypotrochoids and other geometric curves. Ultimately, it should be possible to have the Pi accept and translate commands written in a plotter-control language such as HP-GL. Then I’ll be able to plot vector graphics and text from drawing software like Inkscape. But for now, I’m happy to just have my recorder humming away beside me, hale and hearty and built to last.
From Your Site Articles
Related Articles Around the Web