I'm trying to use a flow meter with Wemos Mini. Most tutorials are using Arduino boards ( which code and HW work OK ), but since I want this device to send alerts over the internet when abnormal usage/leakage is detected, I want to use Wemos Mini using How to Use Water Flow Sensor - Arduino Tutorial. On top of if will add my code for notifications using Telegram.

BUT - after uploading the original code (before adding Telegram changes ), an error occurs during code run : ISR not in IRAM!

I tried to change Pin - but still getting this error,

  • Hve you seen this issue on github? They state, that you can avoid this error by prepending ICACHE_RAM_ATTR to ISR functions. Maybe you can try this.
    – chrisl
    Aug 30 '19 at 7:14
  • this is an error in the original code and new versions of core check if the ISR handler is in IRAM, because without ICACHE_RAM_ATTR the handler sometimes worked and sometimes not
    – Juraj
    Aug 30 '19 at 7:19

This happens because of conflicts between Serial and external interrupts Put ICACHE_RAM_ATTR before your interrupt function, like this ICACHE_RAM_ATTR void ISR()

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.