I am creating a current source to try to expand my knowledge about electronics design. After some research I decided to build the Howland setup since I want to develop a bipolar current source. The circuit is shown below:

Basic Circuit Setup

I have created a breadboarded setup of this circuit, and the voltage signals I measure at Vload1 and Vload2 have a DC offset of approximately 1.5V and 2.3V respectively. I have tried varying the frequency between 10kHz and 100kHz, as well as varying the load between 500-4000 ohms. The offset voltages varied by a few hundred mV during these tests. I am wondering if anyone may know what could be causing the DC offset?


  • When I simulated this circuit in LTSpice there is no DC offset. In my first simulations I got the "Singular Matrix" error, at which point I added ".options gshunt 1e-16". I realize this connects the nodes to ground via a shunt conductance, so I have also tried ".options gfloat=0", but this didn't result in any offset occurring.
  • I have tested the physical circuit with only one current source driving a grounded load, and no offset occurs (which is expected).

Grounded load current source


You can't put current sources in series and expect any practical or sensible results. If one was trying to produce 1 mA and the other was trying to produce 1.00001 mA, there'll still be a "fight" and one or the other will win by forcing a DC voltage situation that works. It won't be pretty or useful.

You don't need a differential drive for this - just tie the load to ground and you'll get a bipolar current source providing you are using bipolar op-amp supplies and remember this: -

$$\color{red}{\boxed{\text{Voltage sources in series, current sources in parallel}}}$$

  • \$\begingroup\$ Thanks! This was a "duh" moment for me where my first year electronics course theory came back to me! \$\endgroup\$
    – Mike710
    Jul 16 '20 at 16:32

So you have two current sources, one connected to each side of a resistor. Output voltage is undefined if they are perfect.

Your sources are not perfect (resistor mismatch, and your R2 should ideally be lower by 300 ohms) so you get some kind of voltage.

It's not clear what you are trying to accomplish with this. If you are trying to increase the maximum compliance voltage, this isn't going to work.

You could try driving one side of the resistor with the (improved) Howland source and the other side with a voltage amplifier so that when the current input command is maximum the voltage at the other end of the resistor from the current source is maximum in the opposite direction.


simulate this circuit – Schematic created using CircuitLab


enter image description here

That will allow the load resistor to be more than 5.5K with 3mA peak current (33Vp-p across the resistor) with neither op-amp output exceeding +/-10V.

  • \$\begingroup\$ I'm a university student trying to learn more about the practical aspects of EE, so all I was trying to accomplish was to see if this worked/how much it differed from my simulations. I was not super concerned about the mismatch since the 100k resistors are 1% (so the mismatch can be up to 2000 ohms). Thanks for sharing the additional circuit design! \$\endgroup\$
    – Mike710
    Jul 16 '20 at 16:41
  • \$\begingroup\$ Mismatch is really important in Howland current sources, and one practical reason why they are not used all that much when precision is required. Try analyzing/simulating what happens if one or more of your resistors are 0.1% or 1% off. In particular, look at what happens to the output resistance (it should be extremely high). \$\endgroup\$ Jul 16 '20 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.