IRAM Flags: Ensure IRAM build flags are set in platformio.ini. Interrupt handlers must be in IRAM to avoid crashes during flash operations.
Semi-Period: Check semi-period is configured (Mycila::Dimmer::setSemiPeriod()). It defaults to 0 and must be set (e.g., 10000 for 50Hz, 8333 for 60Hz).
Zero-Cross Signal: Verify zero-cross signal is connected and working. You can use an oscilloscope or MycilaPulseAnalyzer to debug the ZCD signal.