ESP32 Pico D4 - WiFi on/off causes effects on the PCB
Posted: Fri Oct 08, 2021 11:50 am
Hi,
I am working on an ESP32 based board and running into some issues. I am using the ESP32-Pico-D4 with a custom made PCB. On a first glance, anything works fine with my board. I can program the ESP32, TFT and buttons are working, battery is charging and so on.
There is, however, some voodoo going on. I suspect there are some HF issues with my board but I have limited knowledge on how to look into it. Here are two "anomalies" with my board I have experienced so far. But first some more background information. As you can see in the attached schematics I have a LiPo charging circuit (based on MCP73831) on the board as well. The charger chip has a status pin which signals wether the attached battery I charging or not. Charging the battery, the LED is on (as expected). In case no battery is attached or the attached battery is full, however, the LED is flickering instead of being off as supposed to.
Here comes the kicker, though. In case I turn the ESP32's WiFi off, the flickering of the LED stops immediately (WiFi is toggled via software during runtime). Turning WiFi back on results in the flickering LED again.
The second issue is associated to WiFi as well. The PCB has an TFT display as well as push buttons in order to navigate a menu structure. When WiFi is on, the buttons (pull down) work reliably. Once WiFi is turned off, however, pressing my "down" button triggers my "down" AND "left" button. Although they are connected to different GPIOs. Turning WiFi back on - the buttons are working normal again.
As I mentioned in the beginning, I suspect to have some HF issues (that is just my guess, however). My amateur view on that is that there seems to be something going on on my GND and Vcc lines - hence the flickering of the LED or the misfiering of the push buttons.
I tried to follow the ESP32 hardware implementation guide (is there a dedicated one for the Pico D4?) and also consulted the Datasheet of the MCP73831 (LiPo charger). Form my point of view, I connected anything correctly - but apparently that is not the case.
Do you have some ideas how I can figure out what is going on?
NOTE: Attached is the full schematic. The LED_EN1 bridge is closed on my PCB.
I am working on an ESP32 based board and running into some issues. I am using the ESP32-Pico-D4 with a custom made PCB. On a first glance, anything works fine with my board. I can program the ESP32, TFT and buttons are working, battery is charging and so on.
There is, however, some voodoo going on. I suspect there are some HF issues with my board but I have limited knowledge on how to look into it. Here are two "anomalies" with my board I have experienced so far. But first some more background information. As you can see in the attached schematics I have a LiPo charging circuit (based on MCP73831) on the board as well. The charger chip has a status pin which signals wether the attached battery I charging or not. Charging the battery, the LED is on (as expected). In case no battery is attached or the attached battery is full, however, the LED is flickering instead of being off as supposed to.
Here comes the kicker, though. In case I turn the ESP32's WiFi off, the flickering of the LED stops immediately (WiFi is toggled via software during runtime). Turning WiFi back on results in the flickering LED again.
The second issue is associated to WiFi as well. The PCB has an TFT display as well as push buttons in order to navigate a menu structure. When WiFi is on, the buttons (pull down) work reliably. Once WiFi is turned off, however, pressing my "down" button triggers my "down" AND "left" button. Although they are connected to different GPIOs. Turning WiFi back on - the buttons are working normal again.
As I mentioned in the beginning, I suspect to have some HF issues (that is just my guess, however). My amateur view on that is that there seems to be something going on on my GND and Vcc lines - hence the flickering of the LED or the misfiering of the push buttons.
I tried to follow the ESP32 hardware implementation guide (is there a dedicated one for the Pico D4?) and also consulted the Datasheet of the MCP73831 (LiPo charger). Form my point of view, I connected anything correctly - but apparently that is not the case.
Do you have some ideas how I can figure out what is going on?
NOTE: Attached is the full schematic. The LED_EN1 bridge is closed on my PCB.