I also had erratic readings on my ADC when using my arduino with an external power supply instead of USB. I took me a while to find the cause but just connecting the GND pin to mains ground solved my issue. I still have to figure out what is the root cause, but at least I know in which direction to look