Open-source, low-cost, flexible, current feedback-controlled driver circuit for local B0 shim coils and other applications
Nick Arango1, Jason P Stockmann2, Thomas Witzel2,3, Lawrence Wald2,3, and Jacob White1

1Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, MA, United States, 2A. A. Martinos Center for Biomedical Imaging, Massachusetts General Hospital, Charlestown, MA, United States, 3Harvard Medical School, Boston, MA, United States


We demonstrate a low-cost (<$75/channel), open source, scalable, multi-channel current supply board that can provide up to 8 amps per channel for driving inductive loads such as local B0 shim coils. The design shows excellent stability while retaining sufficient gain in the audio frequency range to reject disturbances (e.g. gradient switching) and maintain stable output current.


We demonstrate a low-cost (<$75/channel), open source (web-available schematics, printed-circuit board layout, parts list, and software), scalable, multi-channel current driver board providing up to 8 amps per channel for driving inductive loads such as B0 shim coils. To our knowledge there is presently no such open-source design available in the MR community. The board is particularly well-suited to driving loads with modest current (<10A) and voltage requirements such as matrix shim arrays [1-2], as well as recently-proposed integrated RF/B0-shim arrays that use the same conducting loops to carry both RF and DC (Fig. 1) [3-4]. A compensated current sense feedback topology controls linear power op-amps, providing excellent stability for a wide range of inductive loads while retaining adequate gain in the audio frequency range. Measurements of the circuit in an MRI scanner are used to show disturbance rejection in the presence of gradient slewing.


A compact layout permits 8 channels to be included on a single board measuring 305x127mm (Fig. 2). Fig. 3 shows the schematic for one channel’s analog stage. As tested, the board uses a single +12V supply rail. An LTC2656 16-bit, 8ch digital-to-analog converter (DAC) (Linear Technology, Milpitas, CA) provides the drive signal to each channel. The DAC directly controls the “push” OPA549 power op amp (Texas Instruments, Dallas, TX) that can source up to 8A continuous to the load. The additional use of a “pull” amplifier provides the advantage of (a.) single supply operation and (b.) doubled voltage across the inductive load to provide faster switching. The voltage across a 0.2Ω current sense resistor is used to ensure that the output current tracks the input signal. The board is configured to drive integrated RF-shim coils [3-4] presenting a load of 0.4 ohms and 10μH. Stability is achieved using “lead-lag” load impedance compensation elements in the feedback loops. The poles created by the series RC branches create adequate phase margin in the open-loop transfer function. The layout permits the board to be mounted to a CP10G18 cold plate (Lytron, Woburn, MA) with in-laid pipes for optional water cooling. DAC outputs are set by a Raspberry Pi using serial peripheral interface logic. Board select multiplexers (74LS138) permit a single Pi to address multiple boards sequentially. The voltage across the current sense resistor is buffered by a LT1920 differential op-amp and bused to the Raspberry Pi via a LTC1862 12-bit, 8ch analog-to-digital converter, permitting the output of each channel to be monitored in real time. A 74LS240 tri-state latch is used to sense the over-temperature output of the OPA549 and disable all op-amps on the board until a reset command is issued.


The circuit is used to drive an integrated RF-shim coil [3] in bench testing and inside a 3T MRI scanner (Siemens Healthcare, Erlangen, Germany). The output waveform is recorded when the circuit is driven by a step function to test for excessive overshoot (a sign of instability). To test disturbance rejection, the voltage across the current sense resistor is measured when the RF-shim test loop is placed in a region of high dB/dt inside the scanner with a FLASH sequence playing. For comparison, this measurement is repeated with the OPA549 outputs shorted together. Finally, acquired MR images are examined to test whether the shim supply board introduces artifacts or added noise.


DISTURBANCE REJECTION: With the driver replaced with a short circuit, gradient slewing is seen across the current sense resistor (Fig. 4). With the driver on and sourcing current, no induced voltage is measured across the resistor, showing adequate feedback to reject the gradient-slewing disturbance. The 12V supply provides plenty of headroom for compensating the relatively small voltages (~0.5V) induced in the test coil by the gradients. NOISE/ARTIFACTS: No artifacts or elevated noise levels are observed in images with the driver connected to the test coil. STEP RESPONSE: The measured current rises from 0 to 2 amps in less than 50μs, agreeing closely with the step response calculated in Matlab (Fig. 5).


We demonstrate a simple, low-cost circuit topology with current sense feedback control for driving inductive loads with modest currents. While optimized here for 10μH loads presented by RF-shim coils, the load compensation elements can be readily adjusted to ensure stability and adequate disturbance rejection for a wide range of loads. For applications requiring higher current levels, outputs can be combined to increase the available current up to 64 amps per board and the supply rail can be increased up to 60V for driving larger inductances. Schematics, board files, and software are available at


The authors thank Charlotte Sappo for help with board fabrication. Support from NIH R21 EB017338 and P41 EB015896.


[1] Juchem C, JMR 2011. [2] Seeber DA, ISMRM 2014 #4864. [3] Stockmann JP, MRM 2015. [4] Truong T, Neuroimage 2014.


FIGURE 1. Integrated 3T RF-shim array (left) uses the same coil loops for both RF signal reception and B0 shimming of the brain. The array achieves reduced distortion in EPI images as compared with 2nd-order shimming. With low voltage and current requirements, the coils are a natural application for the demonstrated multi-channel shim driver board.

FIGURE 2. Populated 8 channel board showing the analog stage for a single channel and the location of key components. A heat sink can be mounted in the 13mm gap between the push and pull power op amps.

FIGURE 3. Circuit schematic showing OPA549 power op amps in push-pull configuration and current sense feedback control loops. Load impedance compensation elements are highlighted in green.

FIGURE 4. Scope traces of the voltage across the current sense resistor when the shim driver is connected to an RF-shim test coil in an MRI scanner playing a FLASH sequence. When the driver is replaced with a short circuit, current is induced in the loop during gradient switching (left). With the driver enabled, the feedback control loop has sufficient gain to reject the disturbance and maintain stable output current.

FIGURE 5. Scope traces showing the control input signal (green) and measured current step response (red) driving a 10μH load simulating an RF-shim coil element. The output agrees well with the calculated step response (blue).

Proc. Intl. Soc. Mag. Reson. Med. 24 (2016)