Workflow
01Short press chooses a mute duration, long press starts the countdown, and the original NVR state is restored when the timer ends or is cancelled.
An ESP32-powered quiet-exit switch that uses a button, buzzer, 16x2 I2C LCD, and WiFi connection to temporarily mute Reolink NVR notifications and recording.

A quick overview of the hardware, firmware, and behavior behind this build.
Short press chooses a mute duration, long press starts the countdown, and the original NVR state is restored when the timer ends or is cancelled.
ESP32 firmware paired with a 16x2 I2C LCD, one physical button, and buzzer feedback.
Direct Reolink API calls disable notifications and recording on active channels, then restore the original state afterward.
WiFi and Reolink credentials are managed through PlatformIO secrets for a small standalone device workflow.
Gizmo Reolink Switch exists for a very practical problem: leaving home without creating useless Reolink alerts and recordings triggered by your own movement. Instead of opening apps and changing NVR settings manually, the device gives you a small dedicated quiet-exit workflow.
The ESP32 handles the full interaction loop.
| Step | What happens |
|---|---|
| Choose | A short press cycles through the available quiet-exit durations. |
| Start | A long press confirms the choice and begins the countdown. |
| Mute | The firmware connects over WiFi and calls the Reolink API to disable the active monitoring state. |
| Restore | When the timer ends or is cancelled, the original NVR state is applied again automatically. |
The LCD stays focused on clear user-facing status, while the buzzer gives immediate feedback for selection, countdown, completion, and cancellation events.
This project turns a repetitive home-security task into a dedicated physical control. It is the kind of build that feels small, but solves a real annoyance in everyday use.
Follow these steps to get the project running, from the first local setup to the initial upload or configuration.
Step 1
Make sure you have an ESP32 board, a Reolink NVR on the same network, one push button, one buzzer, a 16x2 I2C LCD detected at 0x27, and either VS Code with PlatformIO or PlatformIO Core installed locally.
Step 2
Copy the example secrets file, then add the WiFi credentials, Reolink host, username, password, and optionally set PIO_DEV_MODE to 1 only if you want serial logs during development.
copy platformio_secrets.example.ini platformio_secrets.iniStep 3
Open the project in PlatformIO and run a normal firmware build. This verifies that the configuration is valid before you touch the board.
pio runStep 4
Connect the board over USB, upload the firmware, then open the serial monitor only if you enabled development logs. After boot, test the quiet-exit flow from the physical button and LCD interface.
pio run --target uploadpio device monitorA few practical answers about how the project works, how it is configured, and what to expect from the hardware.
It gives you a dedicated quiet-exit control so you can leave home without triggering unnecessary Reolink notifications and recordings from your own movement.
Browse the repository for firmware, hardware notes, and the implementation details behind this build.
Open GitHub
More open-source ESP32 builds you can make next.