Using STMPE811 as ADC on Apalis i.MX6


I am writing to ask about an abnormal behavior that we detected in the Apalis iMX6 module during startup.

Below is the description of the fault:

On the carrier board, at pin 307 (AN1_ADC1) we connect an LM35 temperature sensor with a resistive divider, which delivers a voltage to pin 307 of 6.22mV/ºC, so the voltage delivered by the carrier to pin 307 depends on the ambient temperature. Under certain conditions during startup, we suspect it is related to a higher voltage present to pin AN1_ADC1, the communication through I2C is not possible and we always get a read of 0.

We found in Toradex community forum (link) that a similar issue was reported to Colibri i.MX6 and we are assuming the same situation is present in our case. We suspect that, when a higher voltage is present at pin AN1_ADC1 during startup the STMPE811 is wrongly configured to SPI instead of I2C and the ADC reading can not be performed.

We would like to know if there is any way that you can recommend to correct this behaviour of the module without significantly modifying our carrier design (still using AN1_ADC1 for temperature readings), since we find this phenomenon in an advanced stage of development both in PCB and SW design.

Thanks. Best regards.

Yes, Apalis iMX6 has similar schematic related to STMPE811 connection. So I can only repeat what Peter said :
" On your module, very probably the back feeding on the +V3.3 rail is is very high which means the STMPE811 goes comes out of reset before the power sequence has actually switched on the +V3.3 rail.

If you are facing a back feeding issue, we need to figure out what can be done to reduce it. Normally the back feeding is caused by I/O pins that are driven high by the carrier board while the module is not powered up. This is not completely avoidable but you might be able to reduce the number of pins."