Reading a floating dc voltage

Voltages are DIFFERENCES. You have a couple of possibilities:

  • if you have just one wire, there is not a voltage you can measure reliably
  • if you have two wires (maybe one is implicit, e.g. your source device's frame-ground) and one of them can be connected to the Arduino ground, you're all set. Go measure the voltage.
  • if you have two wires and they are at some other potential (e.g. +20V or something, the classic example being a high-side shunt measurement) then it gets much harder.

In the third case, you can either:

  • use an opamp or three as an instrument amplifier only if you know that the total offset between the signal pair and ADC analogue-ground is within the common-mode range of your opamps (maybe 15V or so is reasonable), and then you need to worry about CMRR, or
  • wire the ADC (might be arduino, might be something smaller) up to the high voltage, insulate it very well, run it off an isolated power supply (see those $10 isolated 5V-5V or 12V-5V DC-DC chips; they're very useful) and send your digital outputs over an opto-isolated serial connection.

Need a lot more info...