🌐
Last Minute Engineers
lastminuteengineers.com › handling-esp32-gpio-interrupts-tutorial
Configuring & Handling ESP32 GPIO Interrupts In Arduino IDE
January 20, 2026 - However, simply setting a pin as an input isn’t enough. When an input pin is left floating, it can pick up random electrical noise from the environment, causing your ESP32 to detect interrupts that never actually happened.
🌐
DeepBlue
deepbluembedded.com › home › blog › esp32 interrupt pins (external interrupts in arduino) gpio interrupt
ESP32 Interrupt Pins (External Interrupts in Arduino) GPIO Interrupt
September 21, 2023 - Software Interrupts – These are interrupts that are being fired by the user, the programmers. Manually inserted in certain pieces of the code to indicate something or to do an IO request or something. All ESP32 GPIO pins are interrupt-capable pins.
🌐
Random Nerd Tutorials
randomnerdtutorials.com › home › project › esp32 › esp32 gpio interrupts with arduino ide
ESP32 GPIO Interrupts with Arduino IDE | Random Nerd Tutorials
January 28, 2026 - In summary, with interrupts, you don’t need to constantly check the current value of a pin. With interrupts, when a change is detected, a callback function is triggered. There are different types of interrupts: external interrupts (hardware-based) and timer interrupts (software interrupts). External Interrupts: triggered by external signals and detected on the ESP32 GPIOs, such as a button press or a sensor reading—this is hardware-based and associated with a specific GPIO pin.
🌐
ElectronicWings
electronicwings.com › esp32 › gpio-interrupt-of-esp32
GPIO Interrupt of ESP32 | ESP32
Each interrupt has a certain priority level, most (but not all) interrupts are connected to the interrupt mux. GPIO pin interrupts are supported through Arduino interrupt functions i.e., attachInterrupt, detachInterrupt.
🌐
CircuitDigest
circuitdigest.com › microcontroller-projects › esp32-interrupt
ESP32 Interrupt Tutorial - Intro, Types, Pins, and Configuration
August 19, 2025 - GPIO interrupts and touch interrupts come under this category. All ESP32 interrupt pins support GPIO interrupts, with 10 pins additionally supporting touch interrupt functionality.
🌐
Upsy
upesy.com › tutorials › esp32 › esp32 programming › arduino code › basics › interrupts
Create ESP32 GPIO Interrupts to reduce CPU usage - uPesy
November 28, 2022 - We can use any GPIO pin for interrupts. ... It is recommended to add the flag IRAM_ATTR so that the function code is stored in RAM (and not in Flash) so that the function runs faster.
🌐
Reddit
reddit.com › r/esp32 › help with interrupt pins
r/esp32 on Reddit: Help with interrupt pins
September 26, 2024 -

As the title says I'm trying to use interrupt pins for a project that I'm working on.

While learning about how they work I'm getting some very strange results.
I'm using a ESP WROOM 32 and all I have connected right now is a 10k pull-up resistor and a button to pull the pin low. From my research before this all the pins are support GPIO interrupts.

To get to the issue. When I push the button it intermittently works and in the console I see this error.
"Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)." Can post the rest of the console log if needed.

As for my code its very simply.

define pushButton_pin 26

define LED_pin 2

void IRAM_ATTR toggleLED()
{
digitalWrite(LED_pin, !digitalRead(LED_pin));
Serial.println("Interrupt Received");
}

void setup()
{
Serial.begin(115200);
pinMode(LED_pin, OUTPUT);
pinMode(pushButton_pin, INPUT_PULLUP);
attachInterrupt(pushButton_pin, toggleLED, FALLING);
}

void loop() {}

Any help is much appreciated, thank.

🌐
ESP32 ESP-IDF
esp32tutorials.com › home › esp32 gpio interrupts using esp-idf
ESP-IDF ESP32 GPIO Interrupts with Examples of ISR Routine
September 11, 2022 - Therefore, we will define a variable called ‘LED_PIN’ that will hold the GPIO pin 2. This will be used later on in the code to control the digital output. ... The gpio_interrupt_handler is the interrupt handler or ISR.
Find elsewhere
🌐
Random Nerd Tutorials
randomnerdtutorials.com › home › project › esp32 › esp32 with pir motion sensor using interrupts and timers (arduino ide)
ESP32 with PIR Motion Sensor using Interrupts and Timers | Random Nerd Tutorials
October 27, 2025 - In this example, we’ll use GPIO 27 as an interrupt connected to the PIR Motion sensor. Using an ESP32S3 instead? Check this pinout guide: ESP32-S3 DevKitC Pinout Reference Guide: GPIOs Explained.
🌐
ESP32.io
esp32io.com › tutorials › esp32-gpio-interrupt
ESP32 - GPIO Interrupt | ESP32 Tutorial
GPIO_Pin: Specifies the GPIO pin to be used as the interrupt pin, indicating which pin the ESP32 should monitor.
🌐
Luis Llamas
luisllamas.es › inicio › tutoriales arduino › curso esp8266 / esp32
How to use interrupts on an ESP32
November 25, 2024 - Below is a complete example of how to use an interrupt with a button connected to pin 12 of the ESP32:
🌐
Phipps Electronics
phippselectronics.com › home › blog › using basic interrupts on esp32
Using Basic Interrupts on ESP32 - Phipps Electronics
November 12, 2024 - When an EXT pin interrupt happens, the handler function buttonInterrupt() executes which is the ISR.
🌐
Espressif
docs.espressif.com › projects › arduino-esp32 › en › latest › api › gpio.html
GPIO - - — Arduino ESP32 latest documentation
The function attachInterrupt is used to attach the interrupt to the defined pin. attachInterrupt(uint8_t pin, voidFuncPtr handler, int mode);
🌐
Microcontrollers Lab
microcontrollerslab.com › home › esp32 tutorials and projects › esp32 external interrupts using arduino ide
ESP32 External Interrupts using Arduino IDE
December 13, 2021 - This time however we will use a push button to handle the external interrupt. For ESP32 we can use all GPIO pins for external interrupt except for GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, and GPIO11.
🌐
Iotespresso
iotespresso.com › button-external-interrupts-with-esp32
Button (external) interrupts with ESP32 – iotespresso.com
September 19, 2021 - The circuit diagram is quite straightforward. You just connect the button interrupt between pin 5 and GND. In general, we would have needed the pull up resistor on pin 5. But that will be handled internally by ESP32, once we configure the pin to the INPUT_PULLUP state.
🌐
Espressif
docs.espressif.com › projects › esp-idf › en › latest › esp32 › api-reference › peripherals › gpio.html
GPIO & RTC GPIO - ESP32 - — ESP-IDF Programming Guide latest documentation
July 17, 2023 - ESP32: Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not. ... gpio_num -- GPIO number. If you want to set pull up or down mode for e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); ... Enable GPIO wake-up function.
🌐
Random Nerd Tutorials
randomnerdtutorials.com › home › project › guide › esp32 pinout reference: which gpio pins should you use?
ESP32 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials
November 13, 2025 - If you’re using an ESP32-S3, the assignment is completely different. Check out the ESP32-S3 pinout here. All GPIOs can be configured as interrupts.
🌐
Random Nerd Tutorials
randomnerdtutorials.com › home › project › esp8266 › micropython: interrupts with esp32 and esp8266
MicroPython: Interrupts with ESP32 and ESP8266 | Random Nerd Tutorials
July 30, 2020 - Interrupt caused by:', interrupt_pin) led.value(1) sleep(20) After 20 seconds, turn the LED off, and print a message to indicate that motion stopped. ... The motion variable can only become True again, if motion is detected and the handle_interrupt function is called. For simplicity, in this example we use a delay to keep the LED on for 20 seconds. Ideally, you should use timers. Upload the code to your ESP32/ESP8266 board.
🌐
Esp32s
esp32s.com › blog › mastering-esp32-gpio-interrupts-with-arduino-ide-from-fundamentals-to-professional-implementation
ESP32 GPIO Interrupts with Arduino IDE: Complete Guide & Examples - ESP32s.com
February 6, 2026 - On the ESP32, all input-capable pins (like GPIOs 0, 2, 4, 5, 12-19, 21-23, 25-27, 32-33) work. This is the function executed when the interrupt triggers. Writing proper ISRs is where many developers stumble.