esp32.diy

Nuki Hub: Turn an ESP32 into a Smart Lock Bridge

Oct 13, 2026 · 6 min read

Intermediate 747 stars 58 forks C++ MIT Updated 2026-10-12
TL;DR Nuki Hub runs on an ESP32 and bridges Nuki Smart Locks and Openers to any MQTT-based home automation platform over Bluetooth Low Energy — no cloud required. Flash it in minutes with a web installer, then configure Wi-Fi and MQTT through a built-in web interface.
What you need
  • ESP32
  • ESP32-S3
  • ESP32-C3
  • ESP32-C5
  • ESP32-C6
  • ESP32-C61
  • ESP32-H2
  • ESP32-P4
  • Olimex ESP32-POE
  • Olimex ESP32-POE-ISO
  • WT32-ETH01
  • M5Stack Atom POE
  • M5Stack PoESP32 Unit
  • LilyGO-T-ETH-POE
  • LilyGO-T-ETH-Lite
  • LilyGO-T-ETH-Lite-ESP32S3
  • LilyGO-T-ETH ELite
  • GL-S10
  • Waveshare ESP32-S3-ETH
  • Waveshare ESP32-S3-POE-ETH
  • Waveshare ESP32-P4-NANO
  • Nuki Smart Lock 1.0
  • Nuki Smart Lock 2.0
  • Nuki Smart Lock 3.0
  • Nuki Smart Lock 3.0 Pro
  • Nuki Smart Lock 4.0
  • Nuki Smart Lock 4.0 Pro
  • Nuki Smart Lock Go
  • Nuki Smart Lock 5.0 Pro
  • Nuki Smart Lock Ultra
  • Nuki Opener
  • Nuki Keypad 1.0
  • Nuki Keypad 2.0
BoardESP32-S3 / ESP32-C6 / ESP32-P4 (recommended); most ESP32 variants with BLE
LanguageC++
FrameworkArduino Core 3.3.5 / ESP-IDF 5.5.1
ProtocolBluetooth Low Energy → MQTT
LicenseMIT
Latest Release9.17 (2026-09-05)

What You Will Build

Nuki Hub turns a low-cost ESP32 module into a local bridge between Nuki Smart Locks (or the Nuki Opener) and any MQTT-capable home automation system — Home Assistant, ioBroker, FHEM, and others.

The ESP32 speaks Bluetooth Low Energy (BLE) to the Nuki hardware and speaks MQTT over Wi-Fi (or wired Ethernet) to your smart home hub. Lock state, battery level, keypad events and dozens of other values appear as MQTT topics. Commands like lock, unlock, and configuration changes flow back the same way.

This matters because Nuki's official bridge is a separate purchase and ties you to Nuki's cloud. Nuki Hub keeps everything on your local network, gives you full MQTT control, supports every Nuki lock generation from 1.0 to the Ultra, and adds features the official bridge never had: wired PoE Ethernet, MQTT SSL, GPIO control, and hybrid mode that combines BLE with the lock's own Wi-Fi/Thread connection.

What You Need

Hardware

Software / Services

Typical use cases

Local MQTT Smart Lock Control

Publish lock and unlock commands from any MQTT client — Home Assistant automations, Node-RED flows, or a custom script — without touching Nuki's cloud.

Wired PoE Lock Bridge

Deploy on an Olimex or LilyGO PoE board near the front door for a reliable wired connection that never drops off Wi-Fi and powers itself from a single Ethernet cable.

Full Lock Configuration Over MQTT

Change keypad codes, manage authorizations, and edit time-control entries remotely through MQTT — features the official Nuki MQTT API does not expose.

Hybrid Real-Time Events

For Smart Lock 3.0 Pro and newer, combine the lock's own Wi-Fi/Thread MQTT feed with Nuki Hub's BLE fallback for instant state updates and rock-solid command delivery.

How It Works

Nuki Hub runs two CPU cores simultaneously (on dual-core boards). One side runs a BLE client that pairs with and polls the Nuki device, receiving lock state, battery reports, keypad events and door sensor data. The other side runs an MQTT client, an HTTP configuration server, and optionally a BLE scanner for presence detection.

All state is published to structured MQTT topics. Write to the command topic and Nuki Hub relays that instruction to the lock over BLE. The round-trip is local — no Nuki cloud account, no internet dependency.

Memory is the main constraint on older ESP32 chips. An ESP32-S3 with PSRAM has roughly 185 KB of free internal heap plus the full PSRAM, making it effectively impossible to run out of RAM. A plain ESP32 has around 105 KB free, which tightens noticeably when you enable MQTT SSL (costs ~20–30 KB), HTTP SSL (~30 KB), or connect both a lock and an Opener simultaneously. The info page of the built-in web interface shows live heap usage so you can monitor headroom.

Hybrid mode is available for Smart Lock 3.0 Pro, 4.0, 4.0 Pro, 5.0 Pro, Go, and Ultra. In hybrid mode Nuki Hub receives real-time events over the lock's native Wi-Fi or Thread MQTT connection and falls back to BLE for commands — giving faster state updates without sacrificing control.

Flash the Firmware

Option A — Web installer (recommended for beginners)

Connect the ESP32 to your computer via USB, then open a Chromium-based browser and navigate to:

https://technyon.github.io/nuki_hub/

Select your ESP32 model, click Install, and the browser handles everything — no drivers or command-line tools needed.

Option B — Manual flash from release archive

  1. Download the latest release zip for your specific ESP32 model from the GitHub releases page: https://github.com/technyon/nuki_hub/releases
  2. Unpack the archive.
  3. Open the included how-to-flash.txt and follow the instructions for either Espressif Flash Download Tools (Windows GUI) or esptool (cross-platform CLI).

The release is currently at version 9.17. Always match the binary to your exact ESP32 variant — an ESP32-S3 binary will not run correctly on a plain ESP32.

Initial Setup: Network, MQTT, and Pairing

Step 1 — Connect to the setup access point

Power the ESP32. It will broadcast a Wi-Fi access point:

Connect your phone or laptop to that network, then open a browser and go to http://192.168.4.1. Use this interface to enter your home Wi-Fi credentials and save.

Step 2 — Configure MQTT

After the ESP32 joins your Wi-Fi network, find its IP address (check your router's DHCP table or set a static IP). Open that address in a browser, click MQTT Configuration, and enter:

Optional: enable MQTT SSL by following the MQTT Encryption section in the project README.

Step 3 — Pair with your Nuki device

In the Nuki app go to Settings → Features & Configuration → Button and LED and enable Bluetooth pairing. Then press the button on the Nuki device for a few seconds.

Nuki Hub will detect the lock automatically at next boot and pair with it. When pairing succeeds the web interface shows Paired: Yes and MQTT topics begin publishing lock state and battery level.

For the Nuki Ultra, Lock Go, or 5th gen Pro, additional steps apply before pressing the button: enable both "Nuki Smartlock enabled" and "Nuki Smartlock Ultra/Go/5th gen enabled" in Basic Nuki Configuration, enter your 6-digit PIN on the Credentials page, and set up hybrid mode — the README strongly recommends hybrid mode for these newer models.

Important: Nuki Hub does not register as a Nuki Bridge in the official Nuki app and does not connect to Nuki's cloud. If you also use a Nuki Bridge on the same lock, enable Register as app before pairing to avoid accidentally unregistering the Bridge.

Ideas to Extend and Known Limitations

Extend the build

Limitations to know

Verdict

Nuki Hub is a mature, actively maintained project — release 9.17 shipped in September 2026 — that delivers deeper Nuki integration than the official bridge or the native MQTT API, entirely on your local network. The web installer removes the flashing barrier, and the breadth of supported ESP32 variants and Nuki lock generations makes it easy to match hardware you already own. The main investment is a working MQTT broker and a few minutes of web-interface configuration; after that, your Nuki lock becomes a first-class citizen in any open home automation stack.

Sources

github.comtechnyon/nuki_hub — repository & README

Facts in this article come from the project's public README and GitHub metadata at the time of writing. Images belong to their respective owners and link back to the original source.