Other Parts Discussed in Thread: ADS8688EVM-PDK, ADS8688
Tool/software:
I have a ESP8266 (NodeMCU board) connected to a ADS8688a (on a board purchased from an online reseller) and am running into an odd problem. About 25% of the power on cycles (i.e. turning everything on), the system works fine, the ESP8266 will communicate with the ADS8688a and do so the entire time the boards have power (i.e I can take multiple readings from multiple channels at at least 100 Hz sample rate). But about 75% of the time the system starts up, the ESP8266 reads either 0 or 65535 (min or max voltage at whatever range it is set to), and doesn't change at all. The only way to get everything to work is to power cycle several times until the rare time when everything seems to work correctly.
My first thought was that there was a bad connection between the ESP8266 and the ADS8688a board. But, when the system starts up in a "working" state, wiggling all the connecting cables and wiring doesn't seem to break it; similarly, when it starts in a "broken" state, wiggling things doesn't fix it. This doesn't rule out a bad connection but seems to make it unlikely, at least in terms of cabling. I should also mention that power cycling that results in a "working" or "broken" startup doesn't involve any movement of the boards. So if it was a bad connection somewhere, it'd be very subtle and not sensitive to any external mechanical input.
I've also tried adjusting the SPI speed. The library I'm using (from https://github.com/siteswapjuggler/ADS8688a) has it run at 17MHz, but I've tried 16MHz, 10MHz, 1MHz, and even 30kHz (my code samples pretty slowly anyways), and reducing the SPI speed does not seem to help at all. I've had similar results using a different library (https://github.com/SBKrogh/ADS8688_ADC_ARDUINO which is based on the first).
When the power cycling results in a "working" state, the system works very nicely. I've verified that, at least with the second library, it reads and reports voltages correctly, at least on Ch0, sampling at the desired rate. But most of the time startup results in a "broken" state, sometimes with all input channels stuck reporting +10.24V, sometimes (more often) -10.24V. There is no change in physical configuration or code between power cycling resulting in "working" and "broken" states.
While this all sounds to me like a SPI issue, I'm confused as to why it would work nicely sometimes, and remain working nicely until a power cycle.
The ADS8688a gets power from the Vin on the NodeMCU board, which is powered from USB (either a computer or a USB power pack). SPI is connected as expected, Daisy is grounded, RST/PD is connected to the ESP8266 as well.
