Updated  25 Apr '11

--> home/projects/pic-plot2/


NEW! Visit our Ham Radio pages to know about our 10GHz activity


GPIB to USB converter

Plot or print on a PC using Pic-plot
Guida rapida in Italiano


Mounted Pic-plot USB

Pic-plot now goes to USB! A perfect low cost solution to quickly get screen plots of your GPIB instrument on your laptop PC without complex software. It emulates the HP7470A operation on the GPIB side, and outputs the HP-GL data at the USB port to be read and stored on the PC by any capturing software. GPIB addresses and other set-and-forget parameters can be configured by a simple Setup menu, then no Dip-switches are used. Power is taken from the USB port to simplify cabling and get rid of a DC adaptor.  The operation of this interface is not just limited to digital plotter emulation: any data intended to be received by a GPIB Device (addressable or listener only) can be captured from the instrument and brought out to the USB port, including raw measurement arrays or rasterized data for a graphic printer. It is based on a PIC16F628 microcontroller and an FT232R chip. PCB size is just 57x64mm.








The hardware of Pic-Plot2 interface is quite simple: the active components are a Microchip PIC16F628 microcontroller and an FT232 chip from FTDI. The microcontroller manages the GPIB protocol and signals, while the FT232 does the bridging between the USB and the microcontroller UART. No oscillator crystal is needed because the FT232 provides the 12 MHz clock for the microcontroller, and the 5V needed to supply the whole circuit are taken from the USB host PC.

(click on picture to open in new window)



The microcontroller does all the necessary jobs to emulate GPIB Device functionality, in both Listener and Talker mode, by recognizing addressing, commands and managing the Handshake lines. Controller mode is not needed for the intended functionality, and therefore is not supported. Once the device is addressed and it receives data from the Talker, the same data are forwarded from microcontroller UART to the FT232 at 38400 baud. Then the FT232 manages the USB communication to the host PC where a Virtual COM Port (VCP) has been created by installing the proper drivers. A standard A-B USB cable is needed for data and power connection. There is no power switch: the interface is ON whenever plugged to the host PC.  

Two LEDs (LD1-green, LD2-red) respectively indicate:
- Successful bus enumeration
- Data traffic (RX or TX) over USB bus 

A small pushbutton switch is provided to enter Setup mode. In this mode the PC is used to read/change a few set-and-forget parameters that are stored in the non-volatile memory of the microcontroller. Even if the GPIB cable can be left connected to the instrument,  in Setup mode the GPIB port is not monitored by the Pic-Plot2. Normal operation is restored at the end of Setup procedure, or unplugging-replugging the interface from the host PC. More details about Setup mode can be found in the USE AND OPERATION section.

Herebelow the drawing of the PCB layout and the close-up pictures of a mounted unit:


The FT232R, which is the only SMT component, is mounted at the copper side of the PCB. External connections are the B-type USB female socket and the GPIB female socket. In addition, if the board will be enclosed in a box, the two pin connector in parallel with the Setup pushbutton will come handy to connect a panel mount one. PCB size is 57x64mm.

For this project we can supply mounted and tested units: check here for prices and drop an e-mail to us.
A quick reference manual in Italian and in English is available in the downloads section.


  Back to top


Once a Virtual COM Port is created at the USB host PC port, the Pic-plot2 will communicate through it. Similarly to its RS232 predecessor, the data it sends can be either:


  • captured using a communication software like Hyper-Terminal (38400baud, 8 bit, no parity, no flow control). Data files should be saved with the appropriate extension (.plt in the case of HPGL data or .txt in case of raw ASCII measurement data) and then post-processed with any software of your choice.

  • Captured, processed and stored using a specific SW that manages the data type sent over the GPIB bus. A very good example for screen-dump HPGL plots is the 7470.exe freeware application from John Miles: it perfectly manages device-initiated plots, displays them on the PC screen, and converts/saves plot images in most useful formats (including .gif and .pcx). For example, the .gif picture shown here is an HP8753A screenshot taken with Pic-Plot and the 7470.exe. More details about this software can be found in John Miles' KE5FX website.

Apart of USB connectivity and the higher data rate, the Pic-plot2 maintains the same functionality of the previous RS232 version,  therefore all considerations about capturing software and GPIB instruments remain valid.  

Plot example of 8753A VNA

Plot example of 8757 SNA

Plot example of 370A Curve Tracer

Plot example of TDS754C Oscilloscope

Plot example of 8560E Spectrum Analyzer

There are also good commercial solutions that can be found online, like Plottergeist and PrintCapture. We have tested PrintCapture during the 30-days trial period, mostly verifying the print-through-GPIB capabilities of some oscilloscopes using our Pic-Plot with excellent results.

Print example of 370A Curve Tracer

Print example of TDS644 Oscilloscope


We have also received some plot examples from Pic-plot users who have given their preference to other rendering softwares:

Plot example of Marconi 2382 SA (rendered with SPLOT)

Plot example of Advantest R4136 SA (rendered with FPLOT)


And, finally, one example sent to us by F4EXB who has setup a scalar bench by sweeping a PLL YIG oscillator and getting through a Pic-plot the relative-power readings of an HP436 (with GPIB option). He has written the Matplotlib scripts for the graphic display:

Plotted data of an HP436 Microwattmeter (rendered with Matplotlib)



   Back to top



Connecting the Pic-Plot2:

Connect the Pic-Plot2 to the PC using a standard A-B USB cable (it is the same cable to connect a PC to most USB printers). Connection to the GPIB instrument must be done with a standard GPIB cable. Because of limited I/O capabilities of the microcontroller used, it is recommended to limit the cable length to max 2meters and to disconnect all other instruments or controllers from the GBIP bus. After checking operation with a simple point-to-point configuration, you may try loading the bus with more instruments. Pic-plot2 takes the necessary power to work from the USB bus, so no AC adaptor is needed. Maximum current drain from the bus is 50mA.

Before starting, install the VCP drivers:

Pic-Plot2 operates by exchanging data with the PC through a Virtual COM Port (VCP). Then, if you have not already installed in your PC the appropriate drivers for the FT232R chip, you must go through this first-installation procedure before connecting the Pic-plot2 to the PC. The drivers are royalty-free and are downloadable at the FTDI website.

1. Go to FTDI website
2. Choose the appropriate driver for your Operating System that supports the FT232R and download it. It should be a zipped folder like CDMx.xx.xx....
3. Unzip the whole content of the downloaded folder and take note of the folder where you put the decompressed files.
4. Now connect the Pic-plot2 to the PC with the USB cable. A "found new hardware" pop-up should appear and a software installation window should prompt you to specify the folder where the drivers are located.

5.Follow the guided installation and, if drivers are properly installed, the Pic-plot2 will be enumerated and its green LED will turn ON.
6.Identify and take note of the Virtual COM# that has been assigned to the Pic-plot2 (normally seen as "USB serial port"): use the Control Panel/System/Hardware/Device Manager/Ports(COM&LPT). This last step is important for the configuration of the software that will communicate with the Pic-plot2.

Setting the Pic-Plot2:

At the first installation or at any time the GPIB settings must be changed, you may need to configure some basic parameters of the Pic-Plot2, even though most of the times the pre-programmed values will work for you. To do this the Pic-Plot2 must be connected to a PC and put in Setup mode. Setup procedure may also be useful to test the USB link between Pic-Plot2 and the PC during first installation or when troubleshooting. Setup parameters are stored in the EEPROM area of the microcontroller, therefore they remain unchanged with power cycling, but they can be reprogrammed at will by redoing the setup procedure.

Locate the SETUP button

Setup procedure:

1. Connect the Pic-Plot2 to the PC if it is not already connected. Verify the green LED is ON.

2. Launch HyperTerminal, specify the COM# (virtual) associated to the Pic-Plot2 and set the communication parameters as follows:
bit/sec=38400, databit=8, parity=none, stop bit=1, flow control=none. These are also the same COM settings that will be needed for plot/print capturing with HyperTerminal

3. Temporarily press the button named "SETUP" on the Pic-Plot2 board. If everything is properly working, a prompt text with SW version will show up on the HyperTerminal window. You are also allowed to disconnect the Pic-plot2 to quit the Setup procedure without changing any previously stored parameter.

4. Then you are prompted to enter a new value for the plotter address that Pic-Plot2 will respond to. Allowed values are single digit 0~9 or "q" to quit without changes, pre-programmed value is 5. The entered value is echoed for confirmation. 

5. You are now prompted to enter a new value for the printer address that Pic-Plot2 will respond to. Allowed values are single digit 0~9 excluding the current plotter address, pre-programmed value is 1. You may also press "q" to quit without changes. The entered value is echoed for confirmation.

6. Next parameter to be set is the Listen On Reset function. Allowed values are y or n (lowercase), pre-programmed value is n. Set it to y (yes) only if you plan to connect the Pic-Plot2 to a GPIB instrument that has no System Controller capability. In this case the Pic-Plot2 automatically starts in Listen mode at every power-on even if not instructed to do so. The entered value is echoed for confirmation

7. "END OF SETUP" will appear and the Pic-plot2 is ready to operate with the new GPIB parameters.


 Plot and print capturing with Pic-Plot2:

Apart of USB connectivity and the higher data rate, the Pic-plot2 maintains the same functionality of the previous RS232 version,  therefore all considerations about capturing software and GPIB functionality remain valid. Then, Pic-Plot2 has no practical use where the PC is the System Controller of the GPIB bus because instrument screen dumps can be directly captured by the PC through its GPIB add-on card . Its application field, instead, is when your instrument has Controller capability or is a Talk-only GPIB device. Typical configuration is the following:


Be sure that Pic-Plot2 is correctly connected to the host PC and the green LED is ON. If you have been able to complete the Setup procedure, then you are sure that Pic-Plot2 at least correctly communicates with the PC and is ready to work.

To connect the instrument to the Pic-Plot2 you need a standard GPIB cable, and the instrument has to be configured exactly as it should be when connected to a real GPIB plotter or printer: refer to instrument manuals for proper settings. The choice whether to plot or to print is related to the application you have chosen in your PC but also to the actual capability of your instrument: for example there are instruments not designed to provide rasterized data to a GPIB graphic printer. On the other hand, many instruments are capable to print the raw measurement data in ASCII form, and the Pic-Plot2 is able to capture also this kind of data arrays that can be easily analyzed or post-processed with a Spreadsheet.

As a general reference, if the instrument has Controller capability, it should be set as System Controller. Set the Plot Address (or Printer Address) to the same value you have set on the Pic-Plot2: default values are respectively 5 and 1. Normally you can do all these settings from the instrument front panel in the GPIB settings menu. In some case you have also to specify the type of peripheral and which port you want to use for screen-dump: choose a plotter (7470 works for all), or a printer if you want to print; output port must be "GPIB". If your instrument cannot act as a System Controller, then it acts as a Talk-only Device when it outputs the screen-dumps on the GPIB: most oscilloscopes, many SA and (we believe) all curve tracers work that way. No matter if you choose to plot or to print, for this kind of instruments the Pic-Plot2 has to be first configured with 'y' in the Listen On Reset option of its Setup menu (see Setup procedure). The same setting works also for some "screenless" instruments like the microwattmeter HP436 with GPIB card installed, that keeps generating data points once it has been manually switched to talk mode.

The Virtual COM# in use should be identified: use the Control Panel/System/Hardware/Device Manager/Ports(COM&LPT). The software of your choice should be installed on your PC (see SOFTWARE section) or, alternatively, you can just see the raw data output from Pic-Plot2 using HyperTerminal, keeping the same settings used in the Setup procedure.

In the next sections we give you directions about how to use the Pic-Plot2 with the 7470.exe, but our interface will work with other similar capturing softwares for which we recommend to read the relevant supporting documentation. 
NOTE: KE5FX GPIB Toolkit has been recently updated to ver.1.67. The following configuration applies to this last version.

How to configure 7470.exe ver.1.67:


  1. open the text file connect.ini with Notepad.
  2. Identify the 4 lines without  the ; at the beginning: these are the lines with the parameters to be set
  3. parameters must be set as follows (NOTE: # is the number of the virtual COM associated to the Pic-Plot2):

    interface_settings com#:baud=38400 parity=N data=8 stop=1
    is_Prologix    0
    reset_to_local 1
    write_delay_ms   100

  5. save and close connect.ini

How to use 7470.exe:

Launch 7470.exe and select 'Wait for device initiated plot' in the 'Acquire' menu. Start the plot from the instrument, and see the progress of received data bytes. At the end, you should see the copy of instrument screen on your PC: if this doesn't happen, there could be an error in the GPIB communication (normally a mismatched GPIB address) or a wrong configuration of the 7470.exe. The latter often happens if you have not correctly specified the COM port# in the connect.ini file. In case of doubt, verify in the Control Panel/System/Hardware/Device Manager/Ports(COM&LPT), or specify the same COM# you have set in HyperTerminal for the Setup procedure. If you want to save the plot, don't forget to press the spacebar to exit the acquisition mode first. Again, refer to John Miles' KE5FX website to get the most from his nice software.

You can see some example results in the SOFTWARE section. And below a photo of a typical setup in which the Pic-Plot2 is capturing a return-loss plot of a 144MHz loop antenna taken with a VNA.

Pic-plot USB at work

   Back to top



Basically, any GPIB instrument having System Controller capability, or Direct-plot function, or Talk-only plot/print function will work with the Pic-plot2. Apart of USB connectivity and the higher VCP data rate, the Pic-plot2 maintains the same functionality of the previous RS232 version, therefore the compatibility with capturing software and GPIB instruments remain valid. So far, we have direct evidence that the Pic-plot interface has been successfully working with the following instruments:


  • HP3588A Spectrum Analyzer
  • HP8559A Spectrum Analyzer 
  • HP8560E Spectrum Analyzer
  • HP8568B Spectrum Analyzer
  • HP8569B Spectrum Analyzer
  • HP8591EM Spectrum Analyzer
  • HP8593E  Spectrum Analyzer
  • HP8714EM Network Analyzer
  • HP8720C Network Analyzer
  • HP8753A Network Analyzer
  • HP8753ES Network Analyzer
  • HP8756 Network Analyzer
  • HP8757A Network Analyzer
  • HP8922  Test Set   (note: HP8922 only outputs print data)
  • Tektronix 492BP Spectrum Analyzer (Listen-On-Reset = y)
  • Advantest R4131A Spectrum Analyzer
  • Advantest R4136 Spectrum Analyser
  • Marconi 2380 Spectrum Analyser (Listen-On-Reset = y)
  • Marconi 2382 Spectrum Analyser (Listen-On-Reset = y)
  • HP54504A Oscilloscope
  • TDS540 Oscilloscope (Listen-On-Reset = y)
  • TDS574 Oscilloscope (Listen-On-Reset = y)
  • TDS644 Oscilloscope (Listen-On-Reset = y)
  • PM3350A Oscilloscope (with PM8957A board)
  • TEK 370A Curve Tracer (Listen-On-Reset = y)
  • HP5370B Counter  (Listen-On-Reset = y)
  • HP436A +opt.022  Power Meter (Listen-On-Reset = y)

The list gets longer and longer thanks to the contribution of the many Pic-plot users who kindly have given us a feedback.

  Back to top

  Back to Hotwater homepage

The projects presented in these pages are our own design and have been tested and verified by ourselves at the best we can. However, they might be inspired by concepts, ideas, solutions coming from known-art or free resources on the Web. We provide them as  reference designs to skilled hobbyists and technicians  who are willing to reproduce them for non-commercial use. Your results might be different from ours and we cannot be considered responsible for that. Similarly, we are not responsible for any damage or injury you might incur while building, assembling or using the equipments, projects or ideas presented in these pages. The firmware embedded in our projects is our property unless differently stated and, when available in the Download Area, it is license-free only for non-commercial purposes.  

Hotwater 2007-2011