can you post some code? interrupts work fine with my sonoff: attachInterrupt(PIN_PIR_SENSOR, ISR_PIRPinHasChanged, CHANGE); [...] void ISR_PIRPinHasChanged(){ int currentPinStatus = digitalRead(PIN_PIR_SENSOR); if(currentPinStatus == LOW){ Serial.println("ISR fired, pin LOW"); } else{ Serial.println("ISR fired, pin HIGH"); ToggleRelay(); } } ISR fired, pin LOW ISR fired, pin HIGH toggling relay to OFF switching off sending status to controller ISR fired, pin LOW ISR fired, pin HIGH toggling relay to ON switching on sending status to controller ISR fired, pin LOW ISR fired, pin HIGH toggling relay to OFF switching off