I've been using ESP32 for quite some time, and so far I was impressed with its capabilities. At our company we've designed sensoric platform based on ESP-WROOM32 with web browser and remote data reading, and everything worked well for the first two prototypes. However, when first batch of sensors was produced, we've encountered some kind of bug, and we are not sure if it's flaw in our design or in the ESP32 module.
The problem manifests as several different failures:
- I2C communication failure
- Unability to program ESP32 (which previously worked)
Resistance is measured between ground and the pin. Device was not powered while measuring.
In the first case (I2C failure) either SDA or SCL is damaged, causing the bus line to be held low, thus preventing any communication on I2C. In the second case either RX or TX of UART0 is damaged, thus preventing communication with programmer. I am at loss as to what is the cause of this. I've double-checked hardware design guidelines and I've found no problems with our design. I have only two ideas:
- Pin damaged from ESD
- Poorly done EMC on my board, causing voltage spikes to be induced on traces (from radio tx, maybe?)
Has anyone encountered similar problem? And how vulnerable are ESP32 pins to ESD in general?
Thank you for your time.