February 4, 2021 Power Supplies

HP 6002A - GPIB control with Python

Communicating with the HP 6002A power supply through GPIB

HP 6002A - GPIB control with Python

The 6002A power supply is a thing of beauty but you cannot do much with its GPIB (or HP-IB) port. First you have to reach all the way to the back side and 43 centimeters later manually set the the device to either CV or CC mode. Then you send a command and that's all. In CV mode you set the voltage through the GPIB and the maximum current through the front 10-turn pot. Vice versa for the CC mode.

The whole GPIB card is a basically a 12-bit DAC. The cool thing is that the whole GPIB implementation is done with discrete logic and the schematics are available in the Operating and Service manual (HP Part No. 06002-90001). The DAC is the white ceramic chip U29 (HP Part No. 1820-1856). Good luck finding the manual.

The good news is that a future project with 2 DACs, more controls and maybe ADCs for feedback should be doable.


As mentioned before you need to reach to the back and set the PSU manually to either CV or CC. The command consist of four digits. The first digit sets the scale. The next three is a number (000 to 999) corresponding to 0 to 99.9%.

Scale (Voltage) Range Step
1 0 - 9.99V 0.01V
2 0 - 49.95V 0.05V
Scale (Current) Range Step
1 0 - 1.998A 0.002A
2 0 - 9.99A 0.01A

The functions in the Python code are more explanatory.

Python code

Here are 2 scripts. The first one measures the voltage with a Keithley 196 in scales 1 and 2. The second one measures the current with a Fluke 287 in scales 1 & 2.

The results

Voltage scale 1 (0-10V) Enlarge
Voltage scale 2 (0-50V) Enlarge
Current scale 1 (0-2A) Enlarge
Current scale 1 (0-10A) Enlarge

Yep. This thing needs some serious calibration. Also it cannot output the full 10A. Nice. A repair!