A few things the ADS1X15 inputs float quite high.
When doing differential the first channel is compared to 2nd e.g to get a positive reading A0 has to be > A1.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Ok differential testing
[0,1] chn: A0 & chn: A1 works
[2,3] Doesn't
Adadfruit doc points to Differential only on A0&A1 and A2&A3
-- valid duo of channels as an array: [0,1], [0,3], [1,3], or [2,3] for differential read
If that's correct then some of the above config isn't correct.
https://learn.adafruit.com/adafruit-4-channel-adc-breakouts/signal-connections
A few things the ADS1X15 inputs float quite high.
When doing differential the first channel is compared to 2nd e.g to get a positive reading A0 has to be > A1.