Dust sensor wire length causing read problems

Well with Arduino having internal pullups (and no references to only certain pins having them) I've tried using INPUT_PULLUP but get the same result.
What about a low pass filter and using the ADCs instead?
Will it have enough grunt to cope?