Open-source ESP32 + Reolink project

Gizmo Reolink Switch

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.

  • Quiet-exit timer
  • 16x2 LCD interface
  • Direct Reolink API control

Project snapshot

A quick overview of the hardware, firmware, and behavior behind this build.

Workflow

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.

Hardware

ESP32 firmware paired with a 16x2 I2C LCD, one physical button, and buzzer feedback.

Integration

Direct Reolink API calls disable notifications and recording on active channels, then restore the original state afterward.

Configuration

WiFi and Reolink credentials are managed through PlatformIO secrets for a small standalone device workflow.

Overview

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.

  • One-button quiet-exit workflow built around an ESP32
  • 16x2 I2C LCD and buzzer for fast local feedback
  • Direct Reolink API control with automatic state restoration

How it works

The ESP32 handles the full interaction loop.

StepWhat happens
ChooseA short press cycles through the available quiet-exit durations.
StartA long press confirms the choice and begins the countdown.
MuteThe firmware connects over WiFi and calls the Reolink API to disable the active monitoring state.
RestoreWhen 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.

Why it is useful

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.

  • 1
    Reduce false notifications and useless recordings when leaving home.
  • 2
    Replace a repetitive app-based workflow with one physical action.
  • 3
    Use it as a practical template for small ESP32 home-automation controls.

Frequently asked questions

A few practical answers about how the project works, how it is configured, and what to expect from the hardware.

What problem does Gizmo Reolink Switch solve?

It gives you a dedicated quiet-exit control so you can leave home without triggering unnecessary Reolink notifications and recordings from your own movement.

How does the quiet-exit workflow start?

A short press cycles through the available durations and a long press confirms the selected timer, starts the countdown, and applies the temporary NVR state change.

Does the project restore the original NVR state automatically?

Yes. The firmware is designed to capture the relevant monitoring state first, apply the temporary mute flow, and restore the original configuration when the timer ends or is cancelled.

Do I need Home Assistant or another hub to use it?

No. The project talks directly to the Reolink NVR over WiFi, so the ESP32 can run as a focused standalone device without requiring a separate home-automation platform.

Why does the hardware include both an LCD and a buzzer?

The LCD gives clear local status, countdown, and error feedback, while the buzzer provides quick confirmation cues so the device remains usable without opening an app.

Setup flow

Follow these steps to get the project running, from the first local setup to the initial upload or configuration.

1
Step 1

Get the hardware and tools ready

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.

2
Step 2

Create the local secrets file

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.ini
3
Step 3

Build the firmware

Open the project in PlatformIO and run a normal firmware build. This verifies that the configuration is valid before you touch the board.

pio run
4
Step 4

Upload to the ESP32 and verify

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 upload
pio device monitor
GitHub

View Gizmo Reolink Switch on GitHub

Browse the repository for firmware, hardware notes, and the implementation details behind this build.

See also