Inkplate 10 GPIO pins for external push buttons with esp_sleep_enable_ext1_wakeup

Customer:

I have weather maps downloading to my SD card and displaying on my Inkplate 10. I’m trying to use two GPIO interrupts to scroll back and forwards through the maps. I initially chose GPIO12 and GPIO14. GPIO12 seems to work well but GPIO14 is very temperamental. It occasionally works after taking GPIO12 high but at other times won’t work at all. I’ve swapped the push buttons and pull down 10k resistors between the two ports to rule out external circuitry issues. I also tried GPIO pins 34 and 36 with external pull down resistors but without success. I am using esp_sleep_enable_ext1_wakeup. Do you have recommendations for which IO pins to use with two external push buttons? I’ve read that GPIO14 defaults to a high state - is there a function I should call to set it low?

Originally submitted via the contact form on soldered.com on 6 June 2025. Migrated to the forum for community visibility.

Soldered Support:

The GPIO pins you chose are actually SPI pins. GPIO14 is used for the SPI SCK signal.

Pin 34 is connected by default to jumper 4 and is the output of the first GPIO expander, so you would need to modify JP4.

GPIO 36 is connected to the wake up pushbutton.

GPIO 39 is the RTC’s interrupt so you probably don’t want to modify that one.

Here is the schematic which will help you find a reliable pin to use: Soldered-Inkplate-10-hardware-design/OUTPUTS/V1.3.1/Soldered Inkplate 10 Schematics.pdf at main · SolderedElectronics/Soldered-Inkplate-10-hardware-design · GitHub

For future reference, you can also check: Inkplate 10 – Jumpers | Soldered Documentation

Attachment omitted in migration: image.png

Attachment omitted in migration: image.png