DC coupled audio interface (for MAX) with ESI GIGAPORT HD+

MAX users may want to send DC signals (or AC signals below audio frequencies) to their hardware. A typical application is to output control voltages, e.g. to modular synthesizers or to mechanical components. Traditional audio interfaces are AC coupled and will therefore block any DC component in the output signal. The reason is to protect amplifiers or other audio hardware from damage. This well intended protection turns into a problem, though, if slowly moving or constant control signals are supposed to be outputed.

One workaround is to buy an audio interface with DC coupled outputs. A list of such interfaces is maintained at http://www.expert-sleepers.co.uk/siwacompatibility.html. Most of them are rather on the expensive side, however.

Another workaround is to modify an AC coupled interface. For example, the site http://www.modularsynth.ru/en/2014/06/15/gigaporthd_dc_coupling describes how to modify an old ESI GIGAPORT HD. The USB audio interface provides 8 outputs and is not very expensive. Unfortunately, the post dates from 2014 and the described audio interface is not produced anymore.

However, there is a successor of this interface, the ESI GIGAPORT HD+. The following reports on a proof-of-concept to verify whether the DC coupling mod also works with the ESI GIGAPORT HD+:

First, the circuit board needs to be taken out of its chassis:


The advantage of modding the ESI GIGAPORT HD+ is that it is very easy. There is a single capacitor (per channel) to be bridged:

Fortunately, the coupling capacitors are quite large (unlike most of the other components on the board). The following picture shows how the first two channels are modded. The other channels can be modded in the same way, if needed - just bridge the large, cylindrical capacitor labeled "7L 47 16V":




Instead of soldering just a jumper between the two connectors of the capacitor, I added a simple switch. This allows me to switch between the original function (AC coupled) and the modded function (DC coupled).

The following picture shows a simple MAX patch (MAX 8.0.2, win64) to test the two modified channels:


For easy testing, channel 1 is fed with a sine (from [cycle~]) and channel 2 with a saw tooth (from [saw~]). Both signals can be damped with with a fader or disabled entirely using a [gate~] object. Before the AC signals go into the output object [dac~], a DC offset can be added to them (in the picture it is -0.6 on channel 1 and +0.6 on channel 2). The audio status shows the relevant configuration.


Sent to an oscilloscope the following behavior can be observed. First, the two switches are open, i.e. the coupling capacitors are not shorted and the channels work in AC coupling mode. As expected, the two AC signals are detected, but without the DC component that has been added in the MAX patch. They are centered around the zero-line:

If the switches are activated, the coupling capacitors get shorted and the DC components are not filtered out any longer:


The oscilloscope still shows the two AC signals, but now shifted up and down by a constant amount that corresponds to the value of +/- 0.6 selected in the MAX patch. The amplitudes and DC offsets need to be kept in the interval of [-1, 1] in MAX, which corresponds to a voltage range of [-3.3V, 3.3V] of the audio interface, respectively.
Eventually, if the AC component is switched off in the MAX patch, only the DC component remains at the output of the audio interface: 


Everything worked as expected. I've observed a slight drift of the dc component in the range of <0.1V, particularly at the beginning of a measurement cycle. I assume it is linked to the influence of temperature on the ESI hardware. Since this amount of drift is irrelevant to the applications I have in mind, I did not further investigate it. It may be eliminated by feeding back the output to MAX using a DC coupled input interface (which could easily be done using a cheap Arduino controller - a future interesting project...).

Otherwise, the ESI GIGAPORT HD+ hardware seems to be quite robust - I didn't use any anti-static protection, I touched the board when it was powered up and I didn't experience any problems.
qed.

Comments