Analog input pins are very imprecise and reading different values for same input

EDIT: So I'm a dumbass and was using different grounds and that screwed everything up. I tried to delete this thread but it wouldn't let me.

I'm working with an Arduino Due, and my analog inputs seem to be boned. They read 0 when given 0 V, but that's really the only good part. At 3.3 V they will sometimes read 1023, but it varies. For example here are some values I'm seeing:

.5 V:
66 167 21 102 75 151 156 75 175 160

2.5 V:
698 900 751 731 783 707 747 719 845 722

I then tried connecting two pins to the same constant voltage (2 V):
540 575
583 618
602 545
571 541

Anyone have ideas about this? Is my board fucked? Thanks!

a few questions pop up:

  • how is the due powered?
  • how does your schematic looks like?
  • do you have a pull up/down resistor in the schema
  • is the power source you are measuring stable? check with a DMM while connected to the DUE !