The input is a resistor to a switched capacitor. The capacitor retains its charge from the previous conversion. Typical DC resistance is in the Mohm range at average sample rates (~10kSa/s). So for accurate DC readings, you need a source resistance much less than that, i.e. under 1kohm or so. Which is about what the datasheet suggests. Quick settling will require somewhat lower resistance, too.
Both those op-amps can probably be removed. Which is probably a good idea anyway, LM324 won't pull up very far near VCC, which I guess is around 5V? Nor very near 0V (it can get within ~50mV, but it's not pretty).
I would suggest TLV237x for any op-amps, or better yet, something with even lower offset voltage around the precise parts. Rail to rail and low Vos are the important factors here.
You have other concerns though:
- Putting bypass caps on op-amp outputs... Needs a series resistor, else you probably get oscillators, making things much worse. If U2 b,c get pulled, no problem, but this may apply to U6, U7 still (any hints from the datasheet?).
- Relay switched VCC? Really? Not really going to harm anything, but you can do the same thing with a couple cents of transistors, it's not like you need a whole relay to do it... Also, note that VCC will drop out and power cycle when the adapter is pulled, even if USB is still plugged in. Since you don't need the voltage overhead (except for M1 threshold voltage? I haven't checked), you could just wired-OR the supplies with a pair of schottky diodes or something.
- Wouldn't hurt to have some protection around the voltage/current sense bits... example, suppose a battery is connected in reverse at the output. The sense resistors would carry pretty much full load voltage (until they burn out or whatever?). And that voltage would appear on the ADC (ISENSE). The ADC inputs should have internal protection diodes, so, if you leave a 10k + 100n filter there, the 10k will limit current. I tend to add clamp diodes there as a matter of course, just in case. But probably not a big deal. Easy solution for reverse, of course: add a series blocking diode.
- Note that R17, R18 must be as precise as the reference for it to all be worthwhile, and the same goes for U2a, and what's sensing ADC-IOUT. You don't have any gain on the latter, so you'll only get about 10 bits worth of useful range on that ADC input. Probably about as good as anything, as is, since changing ADCREF to the 0.8V scale reduces its ENOB, or amplifying IOUT back up to the 2V scale requires precision resistors and an amp.
- Not sure what's going on with the fan... you're driving it with a DAC output, but just switching it on and off..? You're not going to get much controllable range there, and it won't be very linear. And, ironically enough, very temperature sensitive.
- All those LCD bits scrambled around... is that a good idea? Looks like it's going to be a pain. Guessing 4 bit interface will be sufficient so who cares, but then it's like, why bother spending the space routing them?
- C7, C8 won't really do anything DAC-specific unless isolated a bit from the rest of the supply rail (e.g. with a ferrite bead). This won't matter as you aren't using high bandwidth anyway; could just as well cut them. (On the other hand, the ADC samples its inputs relatively instantaneously, so leaving C6 is probably worthwhile. It could be assisted with a ferrite bead in the same way, but meh?)
- The USB ground looks suspicious. I suppose the MCU having its own USB ground is good, but the USB power is just carelessly merged in with the rest. As long as the USB shield is doing its thing (which it should, being tied straight to ground), there shouldn't be much crap on either line, so there shouldn't be much reason to isolate UGND or VUSB.
- Everything else looks good: shouldn't be anything wrong with the ref (as long as it's suggested to use bypass caps, anyway), power (give or take the relay and fan parts), the encoder should be well debounced even if its contacts are terrible, U2a is properly compensated (whether it's optimal I have no idea, but that's easy to play around with and find out), and the MCU and LCD should be happy. Well, may not hurt to add a reset generator / power monitor IC for global reset (supposedly the POR/BOD in ATmegas is pretty bad), but whatever.
Tim