What does the J5 Pin Specifically Do on the ESP32-H2?
Posted: Sun May 26, 2024 9:12 pm
Hello everyone,
My goal is to measure the energy consumption of my ESP32-H2 DevKit when running the OpenThread deep sleep example program given on ESP-IDF: https://github.com/espressif/esp-idf/tr ... deep_sleep. In order to do so, I am using the Power Profiler Kit II, since it was one of the recommended devices in the ESP32-H2 documentation: https://docs.espressif.com/projects/esp ... te-ammeter.
When I first measured the power consumption of my ESP32-H2, I connected the VOUT of my PPK2 to the 5V pin of my ESP32-H2, and the GND of my PPK2 to the GND of the ESP32-H2. When doing so, I was getting measurements of ~1.25 mA when the device on deep sleep, when my PPK2 was supplying 5V of power to the ESP32-H2:
However, this is way off, as per the screenshot shown in the ESP-IDF OpenThread deep sleep example:
the device should be average around ~7-8 uA on deep sleep.
After doing some investigation, I found a section in the ESP32-H2 DevKit documentation that talked about a J5 pin that must be used when measuring current: https://docs.espressif.com/projects/esp ... easurement.
According to the documentation, it seems that the "J5" pin must be removed before measuring current the ESP32-H2. As a result, I did the following steps:
1. I removed the J5 Pin Header from my ESP32-H2.
2. I connected the VOUT of my PPK2 to the 3V3 pin of the ESP32-H2 (rather than the 5V pin).
3. I connected the GND of my PPK2 to the GND of my ESP32-H2.
4. I made my PPK2 supply 3.3V of power to the ESP32-H2 (rather than 5V).
At the hardware level, I noticed the following observations, as shown in the pictures below:
Even though the LED of the ESP32-H2 was off with the J5 header removed, it was still on and sending packets.
When I removed the J5 header, and used the 3V3 port, I was getting significantly more accurate measurements on the PPK2: At a higher level, I believe the removal of the J5 pin resolved the measurement inaccuracies of the ESP32-H2 in deep sleep. However, I am still mystified on what the J5 header it, what's it is supposed to do, and how to use it so I accurately measure the power consumption of the ESP32-H2 on deep sleep.
To the best of my knowledge, other than the documentation, I could not find any resource that could explain to me what the J5 pin is actually doing, and what steps I can take to properly configure the PPK2 to accurately measure the current of the ESP32-H2.
As a result, I have the following questions:
My goal is to measure the energy consumption of my ESP32-H2 DevKit when running the OpenThread deep sleep example program given on ESP-IDF: https://github.com/espressif/esp-idf/tr ... deep_sleep. In order to do so, I am using the Power Profiler Kit II, since it was one of the recommended devices in the ESP32-H2 documentation: https://docs.espressif.com/projects/esp ... te-ammeter.
When I first measured the power consumption of my ESP32-H2, I connected the VOUT of my PPK2 to the 5V pin of my ESP32-H2, and the GND of my PPK2 to the GND of the ESP32-H2. When doing so, I was getting measurements of ~1.25 mA when the device on deep sleep, when my PPK2 was supplying 5V of power to the ESP32-H2:
However, this is way off, as per the screenshot shown in the ESP-IDF OpenThread deep sleep example:
the device should be average around ~7-8 uA on deep sleep.
After doing some investigation, I found a section in the ESP32-H2 DevKit documentation that talked about a J5 pin that must be used when measuring current: https://docs.espressif.com/projects/esp ... easurement.
According to the documentation, it seems that the "J5" pin must be removed before measuring current the ESP32-H2. As a result, I did the following steps:
1. I removed the J5 Pin Header from my ESP32-H2.
2. I connected the VOUT of my PPK2 to the 3V3 pin of the ESP32-H2 (rather than the 5V pin).
3. I connected the GND of my PPK2 to the GND of my ESP32-H2.
4. I made my PPK2 supply 3.3V of power to the ESP32-H2 (rather than 5V).
At the hardware level, I noticed the following observations, as shown in the pictures below:
Even though the LED of the ESP32-H2 was off with the J5 header removed, it was still on and sending packets.
When I removed the J5 header, and used the 3V3 port, I was getting significantly more accurate measurements on the PPK2: At a higher level, I believe the removal of the J5 pin resolved the measurement inaccuracies of the ESP32-H2 in deep sleep. However, I am still mystified on what the J5 header it, what's it is supposed to do, and how to use it so I accurately measure the power consumption of the ESP32-H2 on deep sleep.
To the best of my knowledge, other than the documentation, I could not find any resource that could explain to me what the J5 pin is actually doing, and what steps I can take to properly configure the PPK2 to accurately measure the current of the ESP32-H2.
As a result, I have the following questions:
- What is the purpose of the J5 pin? Did the removal of the J5 header solve my issue, and if so why? At a higher level, what do I need to do in order to properly configure both the PPK2 and ESP32-H2 such that I can get accurate current measurements of the ESP32-H2 under deep sleep?
- I am getting ~7.86 uA on the PPK2, but Espressif got ~7.6 uA on the Joulescope. Furthermore, page 34 of the ESP32-H2 datasheet: https://www.espressif.com/sites/default ... eet_en.pdf, states that the current consumption under deep sleep is 7 uA. As a result, I want to ask if my measurements being off ~7.86 uA means my measurement setup is incorrect, or is this slightly inaccuracy expected of the PPK2? If so, am I better off using an oscilloscope, rather than the PPK2, to measure current?