최근 ESP32 MCU를 활용해 IoT 조명을 만드는 프로젝트를 진행하고 있었습니다. 그러던 중 조명의 상태를 Flash(NVS)에 저장할 필요가 있었는데요, 밝기를 바꿀 때 마다 Flash에 쓰기보다는 전원이 차단될 때 Flash에 쓰는 쪽이 조금 더 바람직해 보여 이러한 방식으로 구현해보기로 하였습니다.
그러기 위해서는 전원의 차단을 감지할 필요가 있었고 이를 위해 ESP-IDF의 Brownout Detector을 활용해보기로 하였습니다.
여기서는 ESP-IDF v5.1을 사용하며 작성 시점의 stable 최신 버전인 v5.1.1을 사용하였습니다.