I’ve been working on a joystick driver to publish on GitHub and I seem to have found an issue with spurious interrupts on the ‘boot’ button (GPIO 23) both on the Tiny2040 and Pico Lipo.
It can be tested with Pi foundation’s own ‘Hello GPIO IRQ’ : pico-examples/gpio/hello_gpio_irq at master · raspberrypi/pico-examples · GitHub
Set to Pin 23, keep pressing the button on the board and you’ll see this on the USB debug output:
GPIO 23 EDGE_FALL
GPIO 23 EDGE_RISE
GPIO 23 EDGE_FALL
GPIO 23 EDGE_FALL, EDGE_RISE ← Note the simultaneous edge fall + edge rise interrupt.
GPIO 23 EDGE_RISE
GPIO 23 EDGE_FALL
GPIO 23 EDGE_RISE
This doesn’t happen on another board (e.g. Cytron, Pin 20); are there any quirks to consider for the Pin23 button or is there something else at play?