The original negative channel didn't end up working properly after all... I must have had some bare wires somewhere that weren't quite touching, because as I was probing it with my multimeter while trying to get the overcurrent light working properly, something sparked and blew a trace (it was pretty cool actually, I had never personally seen a trace blow before! ;-)). Yesterday evening I soldered up another one (I have it down to about 45 minutes now!), but there was a short between VB and GND that I couldn't find, which took me another 2 - 3 hours to track down. (End result: I had put the solder paste on one of the op amps a bit too close to the chip, and there was a bridge between two pins that I couldn't see without taking the chip off the board.)
Anyway, after a long and frustrating time to troubleshoot, I got it working in the end (95% sure this time). The voltage light works, the overcurrent light works, voltage + current limits can be set via the GUI (I had fixed that particular software bug a day or two ago, I don't think I remembered to post about it). More testing is definitely needed, but I think that things are looking good!
- Build enclosure (and make some tools + jigs required to make the enclosure)
- More software work (the burning need at this point looks to be multi-point calibration for current... the voltage setpoint and readout is pretty much linear across the entire range, as is the current readout, but the current setpoint seems to not be defined by a linear function. I need to see how best to do this... @Baruch Even had mentioned the Least Squared Estimate in a comment a few months back relating to this; I had looked into it briefly but had not done enough research to fully understand the method. If anyone has thoughts or comments on alternative approaches, that would be great!