NI GPIB-232CV-A quick teardown

I finally got myself a GPIB interface to play with the 3437A. This is a National Instruments GPIB-232CV-A. It really is just an RS-232 to GPIB adapter – it connects to one GPIB address only, set by switches on the side, and moves data back and forth between the two interfaces.

I’d like to be able to use this with multiple devices instead. I noticed in the manual that it uses NI’s NAT4882 GPIB controller ASIC, which handles most of the GPIB functionality, so I wanted to check whether it would be easy to adapt with new firmware or a new microcontroller. Looks promising!

Here’s a block diagram (I could not find a schematic):



The ROM is one-time programmable. I will check whether I can find an EPROM that matches – I’ve some experience with Z80 and it will be relatively easy to use the on-board processor – but I am also considering pulling off the Z80 and wiring in an AVR for versatility and a bit more familiarity. Also, it would be free! I have a few.

This is what it looks like:


The case is held together by the screws on the ports. After removing them, the back side of the logic board is visible:


A bit of discrete logic, presumably for address decoding and the like, as well as the MAX243 RS-232 level shifter.

The other side contains the microprocessor, ROM, RAM, ASIC, and GPIB buffers:


Under a bit of plastic shielding is the power supply:


Ladies and gentlemen, that’s a 5V 5W power supply. An iPhone charger, if you will. They have gilded a few lilies here – note the external fuse socket, as if it’s likely to blow a fuse, the significant filtering, and overall proper design. The controller is a PWR-SMP211 with integrated MOSFET switch.


High voltage AC amplifier (simple circuits)

Here’s a quick one. This came from necessity more than anything, so it’s not great. This circuit amplifies a sine input (frequency and voltage range depends on transformer; I got 1kHz to 30 kHz; 14Vpp to 480Vpp/5Vrms to 170Vrms), for example, for testing and comparing AC voltmeters. Distortion is not great, but it served its purpose. It is built from common parts that are often lying around the lab, so I thought somebody might be interested.

R2 and D4 form a resistive optocoupler, also known as a Vactrol. Simply place a standard LED and photoresistor together, so that the LED illuminates the resistor, then seal them with tape and/or shrink tubing.

I used an LM393 to form the peak detector, rather than the fourth unit of the LM324. The LM324 may work fine for you – in fact, it may even work better – but I didn’t test that.

Input voltage range is from 12V to 30V. The maximum output voltage will increase as the input voltage increases, though the set point should be stabilized by U5 (TL431). You could use a Zener diode in place of the TL431.

Q1 and Q2 get warm, so make sure to “heat sink” them (possibly just by gluing them to the board; they don’t get very hot). Depending on the transformer used, you may be able to decrease their quiescent current by increasing R5 and R6.

High voltage is present on the output, so do not lick it.

The control loop is a bit finicky. Depending on the devices used in your Vactrol, you may need to adjust R11 or C6. If you want to decrease the frequency below 1 kHz, you may need to decrease R10; this will also affect the control loop.

I may do a PCB design for this at some point, if I can improve the performance a bit.

HV AC schematic

HV AC prototype

Complete schematic and PCB: AM module

I sent off the second revision of the amplitude modulation PCBs a couple days ago. This is a modulator based on the MC1496 Gilbert cell amplitude modulation IC.

Here are the documents:

Schematic, sort of. The current testing revision of KiCad has some export bugs, and the graphics inside a couple components have been output incorrectly. All three op amps should have their inverting input on top.





And here’s a modulation envelope.




Frequency response:


Complete schematic and PCB: Comparator

I sent off the second revision of the comparator module PCBs a couple days ago. This is the comparator for the main oscillator. It is heavily inspired by the one in the venerable HP 3312A function generator, and runs at almost 20 MHz with 4ns rise and fall times.

Here are the documents:






Here is a plot of the comparator operating at its highest frequency:


FG description

The signal path of the generator will be entirely analog. This is not the most practical design in 2013 if your goal is just to make a signal, but it is a great way to teach about analog circuits, because just about every circuit topology needs to be used.

The end result will be a quite usable, workbench-grade function generator, with all the usual features:

  • Sine, square and triangle waveforms up to 5 MHz and at 10 Vp-p into 50 ohms (or 20 Vp-p at low frequencies into no termination).
  • Square wave will have a high rise time for compatibility with digital logic elements which require this (target = 6ns, though this depends on the output amplifier which, as of 2013-10-31, has not been built yet)
  • Frequency modulation over two decades standard
  • Amplitude modulation optional
  • Internal modulation generator optional (second signal generator to provide the control for the FM/AM units). This will feature the same waveforms, but up to only 100 kHz, and also a precision sweep with individually programmable minimum and maximum limits.
  • Digital readout optional. This will not only count the frequency, but also display the duty cycle and signal level. Signal level available in Vp-p, Voffset, Vrms(ac), Vrms(ac+dc), Vmin/Vmax.
  • Digital frequency programming optional. This will provide precision, digital frequency synthesis, and also allow phase locking (of the internal 10 MHz reference) between generators or phase locking of the output signal itself.
  • Switchable 40dB output attenuator
  • Variable DC offset over the entire output range
  • Output safe for continuous short circuit to any voltage over the output voltage range (including while instrument is powered off).

The instructional book will contain lessons on:

  • Operation and use of semiconductor devices (diode, BJT, MOSFET, JFET), not including underlying physics
  • Analog building blocks, building up from the transconductance amplifier
  • Op amps and their applications, including the internal circuit (the circuit contains at least one op amp built from discrete components)
  • Comparators and their applications, including the internal circuit (the circuit contains one comparator built from discrete components)
  • Advanced discrete analog circuit: the Gilbert cell, for amplitude modulation.
  • High frequency circuit design considerations.
  • More things that I haven’t thought of yet.

In the beginning, I will not sell full kits with all components, as I quite simply cannot afford to buy such a bulk of parts. The first few kits will include the PCBs, text and bill of materials, and if the buyer has elected to include any options which use programmable parts (the digital readout option uses a microcontroller, and the digital frequency programming option uses a small FPGA), I will install and program them.

HP 3437A System Voltmeter teardown and repair, part one

The HP 3437A is a “voltmeter”, but it’s not what you think of when you hear the word. This is a device which only measures voltage, only up to 30V, and only at 2000 counts! So what use is it?

This voltmeter’s purpose is computerized test and measurement. It has two important connectors on the rear: GPIB, and a trigger input. When triggered by a pulse on the trigger input, it waits for a programmable delay, then quickly samples the signal using a fast sample-and-hold circuit and reads it out. Because of the trigger and programmable delay, the HP 3437A can work as a sort of low bandwidth, low noise, high resolution, sampling oscilloscope. I intend to use it to measure aspects of the output waveform from my function generator kit, because the 8-bit ADC found in the average digital oscilloscope does not have the necessary resolution to measure, for example, ramp linearity.

I picked up a broken 3437A for peanuts on eBay. In the photo taken by the seller, the voltage readout was “stuck” at 9999; when I received it, the voltage readout was blank and the time readout was zero, and it was unresponsive. My suspicion is that it’s as simple as stuck keys – most of them were gunked up with filth and could barely move.

HP 3437A front


The input on the back panel is actually a triaxial BNC. I have no idea why – the input on the front panel is not (the two connectors are directly paralleled), there appears to be nothing connected to the guard contact, and the specs of this device are nowhere near what requires triax.

It’s a filthy son of a bitch…. Time for a bath!

3437A dirty digital board

This appears to be the microprocessor. He looks irreplaceable. I think I’ll remove him before bathtime.

3437A ceramic chip

Looks like I broke something while cleaning. Oops! It’s just a 7812 voltage regulator, though, I’ve got a couple of those. And what is that disgusting film on it? The microprocessor had it too, prior to being cleaned. Probably whatever horrid dust was all over this, baked on through years of heat.


Here’s a field of old-style discrete logic:


Those thin “fences” spanning the width of the board appear to be distributed decoupling capacitors.

Here’s that ceramic microprocessor in its natural habitat:


This ROM looks toasty…


Some analog stuff on the digital board – this is part of the trigger and delay circuit:


On to the analog board. This has some pretty heavy shielding: not only is it sandwiched between heavy metal plates, but one of those metal plates extends through a gap in the mains transformer, electrostatically isolating its transformer winding from the others. I didn’t yet take a picture of the shielding – I am still in the process of cleaning the filthy chassis – but I will. It has a very nice block diagram of the ADC printed on top, with testpoints labeled.


That’s quite the star ground:


We’ve got a couple more of the beautiful ceramic chips. These are actually both precision resistor networks. The left network is an R/2R (or similar, I can’t read the sloppy schematic scan that I have) network being used as a DAC (the ADC is the SAR type – successive approximation register – which employs a DAC and a comparator to perform what essentially amounts to an analog “binary search”). The right contains miscellaneous matched resistors used in feedback networks.


WTF do they need point to point-style turrets for on a PCB? They’ve even jammed that IC’s leg into one! Edit: I didn’t notice the plastic (Teflon?) rings around the turrets – thanks to “sync” on the EEVblog forum. These are insulation turrets, because these signals are too high impedance to even run them along the PCB!


Unless I missed a cutout in the shield, these LEDs are completely in the dark…


Here is the front panel board, with all removable parts taken off:

And a nice view of a primitive seven-segment LED display. It’s constructed on a separate PCB with press-fit connectors, with individual display elements glued to the PCB and connected with bond wires.


As a matter of course for refurbishing ancient devices, I will replace all of the aging aluminum electrolytic capacitors (I didn’t see any tantalum – did you?). This isn’t always necessary, especially if they are good quality, but they do age, and if I want to resell this at some point I want it to be trustworthy. I will add a heat sink to the 12V regulator when I replace it, and perhaps find a sturdier way to mount it.