@mfalkvidd You're absolutely right! smartsleep() still won't make it reboot though. But I finally made it working. The "OTA wireless programming" tutorial and default sample firmware "Blink" doesn't allow the node to be rebootable. I added MySensors.h into the Blink sketch and defined basic configuration made the node rebootable. Loaded up some other basic MySensor sample node also works as long as I'm not using sleep(). I originally thought the MYSBootloader will not be impacted by the firmware itself. I guess I'm wrong. It seems reboot function is post bootup and will rely on the loaded firmware to intepret the I_REBOOT command which is in the Mysensors library. I'm very new to the arduino programming and Mysensors, so please pardon my ignorance. Anyway, I'm very happy this forum gave me some momentum to move forward!