Closed michue closed 1 month ago
GPIO0 on ESP32 modules is used to control whether to start in bootloader mode - for reflashing the firmware - or run mode. It has an external pullup resistor that is usually 10K or so, and a transistor pull-down that is controlled by a combination of the RTS and DTR lines from the USB-serial chip. That 10K external pullup is stronger than ESP32 internal pulldown resistors, which tend to be in the 100K range. If you must use GPIO0 as a control input, you would have to make it active low, and you could use the existing external pullup so adding :pu to the config line would be superfluous.
Hello @MitchBradley, thank you very much for the explanation! I will change my wiring accordingly.
Wiki Search Terms
Configuring I/O pins, ESP32, Strapping
Controller Board
Makerbase XY DLC32 V1.0
Machine Description
Sculpfun S9 Laser Engraver
Input Circuits
Configuration file
Startup Messages
User Interface Software
FluidNC Web Installer
What happened?
I configured some pins as Control Inputs be used with external push buttons. The button push would connect its GPIO to 3.0 V (high) to activate the corresponding function.
In preparation I loaded the configuration without any buttons attached. On restart, the configuration threw the following error:
This behavior is unexpected, as the corresponding GPIO.0 is configured with pull-down and high as the active state - therefore expecting the pin to be inactive without external connection.
Measuring the voltage showed, that the pin is at 2.53 V yielding the high reading.
While researching the issue, I found ESP32-S3: GPIO0 pull-down Issue indicating that this might be related to GPIO.0 being a strapping pin.
Sadly I'm not able to change the GPIO. Any advice or guidance is appreciated!
GCode File
No response
Other Information
No response