I have a Phocos CA-08 controller where I wanted to measure a solar cell and a battery voltage with the MCU. The first thing I made was to connect grounds of CA-08 (solar and batt sockets) to MCU ground and positives to ADC inputs. It quickly came out the battery gives the power supply to the solar cell so I read the manual :) It says (pg. 19) that all positive terminals of the CA-08 are connected (and the grounds are disconnected). Now, I could reverse the polarity of the signals supplied to the MCU's ADCs but then I needed a reverse voltage reference - I don't have one on my PCB, I just have the Vcc and Vss as the voltage reference available.

What are the options for me now? Can I simply put the diode on the positive line of the solar cell so that the voltage doesn't go from the battery to the solar cell? Or is there other option as well?

What bothers me is what stands behind such design (positive terminals connected, negative disconnected), where is such attitude better than connected grounds?


1 Answer 1


There are a number of legitimate reasons to make a system positive-ground:

  • Perhaps the manufacturer wanted to do all of the measuring and switching on the "low side" for lower cost or higher efficiency.

  • Wiring exposed to moisture (e.g., outdoors on the solar panel) will be subject to less galvanic corrosion if it is negative with respect to ground.

In any case, your controller effectively has 4 nodes:

  • All of the positive terminals
  • The negative terminal of the panel
  • The negative terminal of the battery
  • The negative terminal of the load

To measure voltage between any two of these nodes — especially if ground on the MCU is tied to the negative terminal of the load — you need to set up your ADC to make differential measurements. You measure the positive voltage, then one of the negative terminals (keeping in mind that the panel or the battery might be more negative than the load), and subtract the latter value from the former. You can do this in real time with an opamp-based circuit, or you can measure the values sequentially and do the math in your firmware.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.