I'll move things around as per your suggestions. Time for next version. Regarding CC and CV LEDs, I could measure this with the Arduino and show it on the displays (maybe on the mA one, as I will only be using 3 out 4 digits). I also have to think about measuring voltage and current as well. The Arduino has a 12 bit ADC with an internal reference if 1.1 V. For measuring voltage, a simple resistor divider, and for current, maybe tapping off something at the input of the CC op amp.
I can calibrate errors in software.
Juan
With my previous bench supply project, I put CC and CV LEDS on the regulator board as well as having the PIC monitor the CC op-amp.
With its layout, the shunt got positioned off the PCB and allowed the main current paths to run parallel from left to right. It is the floating type design with everything is referenced to the + output.
Amplifying the shunt voltage could be tricky. With my bench supply, I had split control rails. So I was able to use auto-zeroing op-amps, mainly because it's important to have low input offset and drift for the shunt amplifier. It wouldn't have been easy for me to correct errors in the code because I have only 10 bits.
You will need an op-amp that is rail to rail, input and output.
I got some OPA2192's to replace the TLC072 CC/CV op-amp in my bench supply, mainly to reduce offset error also.
The specs say "Rail-to-Rail Input and Output". Its other specs would be an over kill for your application though, its high speed and high output current.