Improv logo

Open standard for setting up Wi-Fi via Bluetooth LE

Improv is a free and open standard with ready-made SDKs that offer a great user experience to configure Wi-Fi on devices.

With Improv creators can offer a better onboarding experience when they share their creations with others:

  1. Connect gadget to power
  2. Client application uses Improv to send the Wi-Fi credentials to the gadget
  3. The gadget will connect to the wireless network and returns a URL
  4. Client application guides user to the URL to continue setting up the gadget

Improv provisioning also works in browsers that support WebBluetooth. Your browser is not supported. To try it out, visit this page with Google Chrome or Microsoft Edge.

See it in action

Adopted by the following projects

ESPHome

Open source firmware for ESP8266/ESP32 devices that is easy to use.

Allows configuring Wi-Fi credentials via Improv. Learn more

Website

ℹ️ Want to add Improv to your project? Check out the SDKs.

The problem we're solving

Getting your Wi-Fi gadget connected is often a bad user experience.

A lot of devices require to be connected to the network to be controlled or receive data. The majority of these devices use Wi-Fi to establish a connection with a local application or the cloud.

Configuring a device to connect to your Wi-Fi is a pain. The most common approach is Soft Enabled Access Point. The device starts its own Wi-Fi access point, the user connects to it with their phone/computer and then interacts directly with the device via an app or a website served from the device.

It’s easy for something to go wrong. The user submits incorrect Wi-Fi credentials or the phone loses access to the access point. In such cases it is difficult to recover. Phones also have a bad time dealing with access points that don’t provide internet access.

Improv Scope & Constraints

The goal of the standard is to get the device connected to the Wi-Fi via Bluetooth Low Energy (BLE). It is not the goal to offer a way for devices to share data or control. The standard should work without requiring the device to contain a screen.

More Reading