Improv Wi-Fi is an open standard for connecting devices to Wi-Fi using Bluetooth LE or Serial
Improv is a free and open standard with ready-made SDKs that offer a great user experience to configure Wi-Fi on devices:
- Power on device
- Client application uses Improv to send the Wi-Fi credentials to the device
- The device connects to Wi-Fi network and returns a URL
- User visits URL to continue setting up the device
Improv protocol can be used over Bluetooth Low Energy or via the serial port. Both protocols can also be used from a browser.
Improv via BLE
Improv via Serial
Need a device that runs Improv? Install this example on an ESP32.
See it in action
Adopted by the following projects
The problem we're solving
Configuring a device to connect to your Wi-Fi network is a pain.
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.
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.
Scope & Constraints
The goal of the Improv standard is to get the device connected to the Wi-Fi via Bluetooth Low Energy (BLE) or Serial (USB/UART). 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
- Read the Bluetooth LE or serial documentation to see how it works
- Learn about the SDKs and code samples