Modifying an Old HP7475a Plotter to Work Over USB




About: My passion is to design PCBs and to program microcontrollers. I have a M.Sc. in Mechatronics Engineering and a B.Sc. in Mechanical Engineering. I currently work as a Hardware and Project Engineer for a compa...

About a month ago I was at the local municipal dump when I came across this unusual looking printer on the sorting table for electronic waste about to be thrown into a container. I was curious, because I have never seen such an old device that had actual pens in it.

After taking it home, I found out that it was a plotter from the late 70s and that it was used to draw technical drawings, graphs, etc.

After turning it on, I was able to move the pen around with the keypad, meaning that it seemed to be functional.

My first thought was how on earth will I find drivers for this thing? and what kind of cable will I need? and what kind of software will I need?

The great news is that these types of plotters work on commands with HPGL (Hewlett Packard Graphical Language) which is literally just simple commands to do many graphical things and all over RS232 communication, meaning that it is really easy to modify these types of old plotters to work with modern computers over USB.

There is also a lot of original documentation available online, such as service manuals with circuit diagrams and part lists.

Important Note:

This modification is for the RS232 version only. If the plotter has a HP-IB port instead of the 25-pin RS232 port, then this modification will not work.


Step 1: Hardware Modification: Introduction

Even though the port has 25 pins, only 4 connections are needed. Since printers of the past operated with RS232 communication with +12 V and -12 V data signals, there is some additional circuitry on the plotter circuit board to achieve these voltages.

Looking at the part list in the service manual one can find the chip used for data communications. This chip operates on normal TTL communication, meaning that 0 V to +5 V are normal conditions for this chip.

Sparkfun has an RS232 module that runs over USB and has all the pins needed for successful data communication to this plotter.

Step 2: Hardware Modification: Soldering

By unscrewing the 3 screws on the rear side, one can open the top cover and expose the main circuit board (make sure the plotter is unplugged from the mains).

There are only 4 lines that will be needed: RX, TX, GND and RTS.

Since these plotters have very limited memory, it is very easy for data to be lost and have the plotter do unexpected things, therefore hardware handshaking will be required. This just means that the plotter will tell the computer over the RTS pin when it has enough memory available for new incoming data.

Solder 4 wires directly to pin 1, 2, 5 and 6 of the plotter's USART chip (GND, RX, RTS and TX of the chip respectively) and run them out the back to a header pin strip for the RS232 module.

I added a cable tie to prevent the wires accidentally being ripped out.

Gently close the top cover paying attention to the paper lever.

Step 3: Wiring

Connect as follows:

Plotter GND to RS232 GND

Plotter RX to RS232 TX

Plotter TX to RS232 RX

Plotter RTS to RS232 CTS

Adjust the DIP switches at the back as in the photo. The baud rate is set to 4800.

The plotter is now ready.

Step 4: Software: Inkscape

Inkscape is professional quality vector graphics software which runs on Linux, Mac OS X and Windows desktop computers. Most importantly, it's free and can create HPGL files that can be sent directly to the plotter.

To get started, a HPGL file is included. One might just need to change the page orientation to landscape.

Step 5: Additional Information:

Thank you for reading my instructable.

Here are some example plots (in blue) as well as additional documentation.

Trash to Treasure

Runner Up in the
Trash to Treasure



    • Gardening Contest

      Gardening Contest
    • Arduino Contest 2019

      Arduino Contest 2019
    • Party Challenge

      Party Challenge

    50 Discussions


    Question 4 weeks ago on Step 5

    O wonder if it's possible to draw PCBs at home with this stuff. What is the actual resolution?

    4 answers

    Answer 2 days ago

    yes it's possible , I have used it with STAEDLER lumicolor pen ( black) these pens resist in FECL3 liquid without problem , there is also an another idea :1) paint the pcb ,2) replace the pen with a pointed steel rod and well sharpened, the rod will remove the paint before the acid operation


    Answer 4 weeks ago

    Yes it is. I have used mine to prototype small PCB's. I modified the pen holder to hold a ultra fine point sharpie and used a glue stick to mount the board to a piece of thick paper. I did 3 plots then etched the board.


    Answer 4 weeks ago

    I used to do PCB's with one of these. I would draw each layer separately on mylar then get a photographic reduction done by the PCB shop. There is also a resist ink that can be drawn on copper if you are wanting to etch your own artwork. I would draw at about 2x scale, adding a scale to the drawing so the photographic reduction would give an accurate PCB. The pen is about 1 mm wide so I think the resolution would be about a mm.


    Reply 4 weeks ago

    Ok, thanks.
    Does not make sense then, at least for me.


    Question 9 days ago

    Hi Chris (or indeed anyone)
    When I finally dug out the plotter it turned out to be a ColourPro 7440 model, It doesn't have a separate USART chip and it looks like the main processer does all the work.
    I have checked out the diagram and the Tx and Rx pins seem fairly straight forward to identify but I am a bit confused about where the CTS line from the Sparkfun should attach.
    I have attached the relevant diagrams, would you be willing to take a look and perhaps give me some advice, Im reluctant to try trial and error as space around the chip is a bit tight for multiple attempts.
    many thanks in advance

    Best wishes
    1 answer

    Answer 5 days ago


    I have looked at your circuit diagram and compared it to my setup.

    In my case I have an RTS pin on a UART chip that is sent to the DTR pin (pin nr 20) of the 25-pin RS232 terminal.

    I can therefore assume that you can solder the Sparkfun CTS pin directly to your DTR pin of your processor (pin 14).

    Please let me know if this connection worked.

    Kind regards,


    Question 22 days ago on Step 2

    Good work, may i ask you a question ?
    i have a SEKONIC XY PLOTTER SPL 430. It look like the HP 7475 but the mother card is not the same so i can't connect the FTDI Basic breakout at the same place like you.
    Th mother card of SEKONIC PLOTTER is : H PCB E 144 TK 00081-A
    Have you an idea of a side i can plug the FTI circuit ?
    Thank's for answering

    5 answers

    Answer 15 days ago


    I am having a hard time finding the circuit diagram for your plotter. Do you perhaps have any documentation that came with this plotter?

    I was only able to find the owner's manual.


    Reply 15 days ago

    Thank's Chrismajda for answering and for the manual. If I push the button test, the machine works perfectly. But I can't connect the machine correctly to the PC because I haven't any driver for windows10. The hardware modification it's a good idea but I don't know where I must connect the FTDI Basic.


    Reply 15 days ago

    If you have a RS232 terminal at the back, then it should be possible to use the plotter without any drivers. I do not need any plotter drivers for my setup.

    I just need to see a circuit diagram or at least some really good photos of the circuit board so that I can find the UART chip and then possibly which pins you need to connect.


    Reply 14 days ago

    Thank you very much. I'll send you this pics as soon as possible. I'm not at home. I'll be back the last week of may.
    It's very friendly to spend your time for my problem.


    Question 18 days ago on Step 5

    Chris (or anyone):

    I picked up one of these plotters and the
    Sparkfun interface board and went about the refit. However, I ran into a
    couple of issues. Is there more than one version of this plotter? The
    one I have has the same model number on it, but the internal circuit
    looked a bit different and the DIP switches do not match those in your
    write up. I wired the 3 wires to the pins you suggested on the U13 UART
    chip, but it was further inside than your write-up showed.

    The DIP switches on the plotter I have are:

    MET <-> US
    A4 <-> A3
    D 16
    D 8
    R 4
    E 2
    S 1

    and do not contain Parity OR Baud Rate

    the refit, it powers up, but I don't see any information that my
    Windows 10 box recognizes it. How do I send files to it? If I should use
    Putty or a terminal program is there a good instructional on their use?
    How do I tell if its connected?


    6 answers

    Answer 18 days ago

    Hello Jeff,

    Thank you for your email and your interest in my instructable.
    The short answer is that you have a different version of this plotter.
    The version that I have uses an RS232 connection and the one you have uses an HP-IB connection. I found a picture of what you have here:

    In the pdf "7475A Service Manual" on pdf page 76, you can see the RS232 terminal of my version connected to the U13 UART chip.

    On pdf page 80 is your version with U13 being the processor, and on pdf page 81, U12 is the interface adapter.

    I do not have experience with this HP-IB connection, but I will have a look into it as soon as I can and let you know. I am curious about this too. I found a tutorial about the HP-IB here:

    In the meantime, you can look into the HPGL language for these plotters. It is a very simple readable format that is sent to the plotter, in my case over RS232 serial connection.

    An example:

    IN; will initialize the plotter
    PA1000,2000; will move the pen to position 1000, 2000
    PU; will lift the pen
    PD; will lower the pen
    SP1; will select pen number 1

    Kind Regards,


    Reply 18 days ago


    Thanks for your quick reply. After I sent my question, I did notice the two versions in the manual. So now I'm wondering if wiring the 3 pins on the U13 chip won't work for my version. Doesn't your wiring directly to the U13 chip bypass the specific interface type they used for the plotter? If the former, what would the wiring need to be for my version. If the latter, then does the question become how do I set (or determine) the baud rate and parity on my plotter?

    I'm also still in the dark about how I "talk" to the plotter from Windows 10 assuming I can get the above issues are resolved? I'm a bit of a Newbie when it comes to lower level connections, addressing, communications and the like. Is there a preferred method/program to use to send files to the plotter? If I open a terminal program, like Putty, what information do I enter to create the connection to the plotter so I can send commands to it? How do I find out what IP address to use? Is there some way to find out what COM Port it is connected to, or does it not connect in that way coming in through the USB connection? In other words, when you say:

    "It is a very simple readable format that is sent to the plotter, in my case over RS232 serial connection."

    How exactly do you "send" a file to the plotter connected to a Windows 10 box through this USB connection.

    Thanks a bunch!


    Reply 17 days ago

    Hello Jeff,

    I had a closer look at both circuit diagrams and might have a solution for you.

    Firstly, looking at my version, I have a UART chip (U13) that takes a serial input from the PC and converts it to a parallel output (noted on the data bus line as D7 - D0).
    This goes straight to the processor (U14).

    Your version is similar in that your Interface Adapter chip (U12) also has a parallel output going to the processor chip (U13). According to the data sheet, both versions use the same processor.

    Therefore you might be able to use a USB to parallel converter and solder directly to D7-D0. I am not sure if / how this would effect the handshake protocols.

    As for the Windows 10 part, I use HTerm instead of putty. Once the USB to serial adapter is connected (or if you try a USB to parallel adapter) it should be listed in the COM port list.

    In my case, I just send text commands over serial, such as IN; or PA100,200; ...
    The plotter will see this command and recognize it as a valid plotting command and execute it. If anything else is sent, it will just be ignored or the error light will flash.

    Any "files" that you would want to plot must first be converted into a hpgl format. Each command is then to be sent one at a time to the plotter. A hpgl file can be opened in Text Editor so you can see what I mean. I included an example hpgl file in the instructable.

    Unfortunately I do not have any access to a plotter with your HP-IB interface, so I am unable to experiment with it. I can just see on the circuit diagram that both versions are mostly the same except for the interface chip and a few addressing pins.

    Kind Regards


    Reply 16 days ago

    Hi again Chris:

    So, I'm a bit unsure about your reply. It sounds like you're saying that the same wire connections to the U13 chip are needed for your and my plotter versions. Is that correct? Further, it seems that you might be saying that I would need a different board than the Sparkfun FTDI Basic Breakout board you listed, one that does a usb to parallel conversion instead? Do they have such a beast? This is above my abilities to decipher, any deeper guidance would be appreciated. Thanks!

    Best regards,


    Reply 15 days ago

    Hi Chris:

    I still confused by your last response. Do the different versions of this plotter have different U13 UART chips (your's taking serial input and mine taking parallel) or are the differences in data input between them "UPSTREAM" of the U13 chip? If the latter, then I don't see why your solution wouldn't work the same way in both versions.



    Reply 15 days ago

    Hello Jeff,

    let me try to clarify; these two versions of the plotter are the same except for the PC to plotter communication interface.

    In my version I have serial communication to a UART chip (denoted in the diagram of my version as U13). This chip then gives a parallel output on the 8 date lines (denoted D7 to D0) that go directly to the plotter's processor (denoted as U14).

    In your version, you do not have a UART chip. Instead you have an "Interface Adapter" chip that is meant for the HP-IB (aka GPIB) protocol. This chip in your diagram is denoted as U12 and your processor is U13.

    An interesting point is that the parallel output of your Interface Adapter chip goes to your processor on the same data pins as in my version.

    So my idea would be to try to solder directly on the 8 data pins (and GND) of the processor and use a USB to parallel converter instead of a USB to serial converter. I am not sure if this would be enough, since there will be no handshaking involved and I am not sure if the R/W pin must be involved.

    I must admit, this modification might not be so easy.

    On a side note, I found out that these plotters have a test page already programmed in it. If you load a pen in at least Pen 1 and a piece of paper you can hold down the P1 and P2 buttons together and turn the plotter on at the back. I uploaded a photo of it for you to see what I mean.