Current mirrors are a commonly useful circuit function, and sometimes high precision is essential. The challenge of getting current mirrors to be precise has created a long list of tricks and techniques. The list includes matched transistors, monolithic transistor multiples, emitter degeneration, fancy topologies with extra transistors, e.g., Wilson, cascode, etc.
But when all else fails and precision just can’t suffer any compromise, Figure 1 shows the nuclear option. Just add a rail-to-rail I/O (RRIO) op-amp!
![]() |
|
| Figure 1. | An active current sink mirror. Assuming resistor equality and negligible A1 offset error, A1 feedback forces Q1 to maintain accurate current sink I/O equality I2 = I1. |
The theory of operation of the ACM couldn’t be more straightforward. VR, which is equal to I1×R, is wired to A1’s noninverting input, forcing it to drive Q1 to conduct I2 such that I2×R = I1×R.
Therefore, if the resistors are equal, A1’s accuracy limiting parameters, like offset voltage, gain-bandwidth, bias and offset currents, etc., are adequate, and Q1 doesn’t saturate, I1 can be equal to I2 just as precisely as you like.
Obviously, VR must be >> VOFFSET, and A1’s output span must be >> Q1’s threshold even after subtracting VR.
Substitute a PFET for Figure 1’s NFET, and a current-sourcing mirror results, as shown in Figure 2.
![]() |
|
| Figure 2. | An active current source mirror. This is identical to Figure 1, except this Q1 is a PFET and the polarities are swapped. |
Active current mirror (ACM) precision can be better than that of easily available sense resistors. So, a bit of post-assembly trimming, as illustrated in Figure 3, might be useful.
![]() |
|
| Figure 3. | If adequately accurate resistors aren’t handy, a trimmer pot might be useful for post-assembly trimming. |


