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.

An ESP32 controls a Reolink NVR with a button, LCD and buzzer.
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

01

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

02

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

Integration

03

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

Configuration

04

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.

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

Setup flow

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

  1. 01

    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. 02

    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.

    Terminal
    copy platformio_secrets.example.ini platformio_secrets.ini
  3. 03

    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.

    Terminal
    pio run
  4. 04

    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.

    Terminal
    pio run --target uploadpio device monitor

Frequently asked questions

A 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.

Source code

View Gizmo Reolink Switch on GitHub

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

Open GitHub
OpenGizmo GitHub project illustration
Open source

See also

More open-source ESP32 builds you can make next.