I am actually using the registers directly using C and the ESP-IDF build system as opposed to the Arduino setup. Currently I have 5 momentary buttons connected directly to the GPIO with 10k ohm pull-down resistors.
The pushbuttons are connected as follows:
button0 (Red) GPIO32
button1 (Yellow) GPIO33
button2 (Green) GPIO12
button3 (Blue) GPIO13
button4 (Black) GPIO36
I am also using the Digilent Analog Discovery 2 with Waveforms application to verify my signals for the buttons. Each button has been verified to produce the correct signal based on pushing a button and releasing it. When I retrieve the data output from the GPIO_IN_REG and GPIO_IN1_REG as appropriate, I noticed that all button inputs except the yellow one had been processed. I know that the button color is immaterial, but it just seemed like it might be easier to identify them for this discussion. Just to verify that the jumper wires were connected properly, I momentarily tested the circuit using the internal pull-down resistors and removing the external pull-down resistors.
All IO_MUX registers for the 5 GPIO pins have been configured to use GPIO function and have been set with input enabled.
I made sure to clear bits 17 and 18 of the RTCIO_XTAL_32K_PAD_REG register which correspond to the XTAL_P and XTAL_N respectively to route the pads to the IO_MUX instead of the RTC according to the technical reference manual linked below:
https://www.espressif.com/sites/default … ual_en.pdf
I seem to be at a loss as I am unable to find what is preventing the signal connected to the GPIO33 pin from reaching the GPIO_IN1_REG. I assumed that routing the XTAL_P and XTAL_N signals to the IO_MUX would have been enough. Does the community have a suggestion of what to try?
I will also try checking with the ESP32.com forum as soon as I receive the activation email.