ESP32-C3 with integrated GC9A01 - cheap touch controller

I’m working on getting the device into deep sleep using esphome (I’ve only done it using platformio and IDF before). It was pretty easy with the deep_sleep component but the problem I’m running into is that the device is still consuming 14mA when it is in deep sleep.

I’m trying to think through what could be causing such a high current usage in deep sleep, I’m expecting to see 0.000A when in deep sleep because this device cannot detect down to uA. Does anyone have any thoughts as to what could be the culprit? These are my immediate suspects:

  • I’ve never used the ESPHome Deep Sleep component and have not looked at the code. Maybe it is not working the way I’m used to. Has anyone used it before with an esp32c3 and can confirm it should get the esp32c3 device down to uA current draw? I think this is the least likely issue but don’t want to rule it out.
  • The GC9A01 display needs to be put into sleep mode before going into deepsleep. The device driver would need to be extended to send this I2C command I believe. This is the most likely reason…
  • The CST816S touchscreen needs to be put into standby mode before going to deepsleep. The datasheet says it should only be drawing 1.6mA in the default mode so this cannot be the entire reason for 14mA draw.
    image

Any ideas or input is appreciated.