Back to Journal
BLEJun 14, 20265 min

Provisioning a headless gateway over BLE — no account required

How we pair a phone to the gateway with a NimBLE GATT server and never ask the user to create a cloud login.

By Mobile Engineer

Setup is where trust is won or lost

Most smart-home setups start by asking you to make an account. We think that's backwards. The gateway is yours; provisioning should be a local, private handshake between your phone and the device in front of you.

A NimBLE GATT server on the gateway

The gateway exposes a small GATT service over BLE. The Android Hub connects directly, reads the device identity, and writes the initial configuration — Wi-Fi credentials (optional), a wall-clock time push, and the admin key.

  • No cloud in the setup path.
  • The phone becomes the trusted controller via a key exchange, not a login.
  • Time is pushed from the phone, so the gateway has an accurate clock without NTP.

Manual admission is a feature

New ESP-NOW nodes don't silently join. They appear in an Add / Ignore dialog on the gateway's touch UI. Admission is a deliberate act — you can see exactly what is being let onto your network, on a screen you can physically touch.

This is slower than auto-join. That's the point.

Join the Engineering Beta

Get technical updates, circuit diagrams, and early access to firmware source code as we build in public.

Strict Privacy Policy · No cloud analytics · No spam