> *Is any of my ideas not leading me in the right direction?* This is how the PCB tracking should be. I've also added questions about some components: - [![enter image description here][1]][1] If you don't have the 0 volts rails nailed down properly on this type of design you will get drift with temperature. You should also ensure that the 7 volt supply isn't drooping too much either. - Op-amp is a good choice (on a 5 volt rail) - MOSFET is a good choice - Sense resistor is unknown and quite possibly a problem - DAC is an unknown and possibly a problem ---------- **Following an edit by the OP** The DAC choice is very poor for this type of accurate application. This is what it says in the [data sheet](https://gr.mouser.com/datasheet/2/268/MCP4725_Data_Sheet_20002039E-2907543.pdf) about its internal reference: - > The DAC reference is driven from VDD directly In other words, if the 5 volt Vcc is drifting then so is the DAC output. This now calls into question what provides the 5 volt DC power for the DAC and op-amp. [1]: https://i.sstatic.net/gnuea.png