Electronic – Multimeter circuit review


I'm designing a very simple multimeter circuit of which the ADC is that of an Arduino Due. Could you have a look at the circuit and tell me what could go wrong, what could be improved etc.?


  • Voltmeter mode: ranges 30V, 10V, 3V, 1V OR +/-15V, +/-5V, +/-1.5V, +/-0.5V; bandwidth >= 300kHz
  • Ammeter mode: ranges 5A, 1A, 0.2A OR +/-2.5A, +/-0.5A, +/-0.1A; bandwidth >= 100kHz
  • Ohmmeter mode: ranges 1k, 10k, 100k, 1M

The accuracy required is 1% of selected range in all modes.


CircuitLab editable:


simulate this circuit – Schematic created using CircuitLab

Full res picture:enter image description here

The circuit is illustrated in voltmeter mode on the 10V range, here is the jumper position map for the 3 modes, the ranges, and the +/- switch. Each cell is a 2 pin header (except the +/- switch which is a 3 pin header) and contains the reference of the corresponding switch on the schematic. Physically, there is a 2×2 pin jumper, and a 2 pin jumper moved left or right, and a 2 pin jumper moved up or down.

enter image description here

The reason for the > 3V range is that the instrumentation amplifier does not allow gains lower than unity, therefore there is a divide by 10 stage with 10M input impedance inserted before the amplifier. The amplifier is internally protected up to +/-40V. Note that selecting a +/- range halves the range.

Best Answer

A few comments:

  • The ACS712 current transformer you're using has a max bandwidth of 80kHz, below your desired target of 100kHz.
  • The ACS712 also has a listed total output error of +/-1.5% at a nominal 25 degrees C; temperature changes makes this worse. If the noise is low enough and you have the equipment to measure the error you might be able account for this in software to get better than 1% accuracy, but I wouldn't expect it to just work.
  • Same goes for the DUE's ADC accuracy: The SAM3x MCU it uses is specified at +.29%/-1.56%, presumably using the internal reference? It's within a 2% range corresponding to +/-1%, but it's shifted down a bit (again, this could be software calibrated out if you can measure the error).
  • Even if you have no intention of adding full over-voltage protection present in standard multimeters, I would still add series resistors to the inputs of the INA826 to take advantage of the internal overvoltage protection of the opamp Because Dumb Stuff Happens™ (see Fig. 58)
  • You might need better bypassing caps, say a 1uF, 100nF, 10nF parallel combo. If you're building a custom PCB I would at least add extra pads for these, then populate them as needed.