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.
Need a device that runs Improv? Install this example on an ESP8266 or ESP32.
See it in action
Adopted by the following projects
ESP Web Tools
Open source tools to allow managing ESP devices in the browser.
Allows configuring devices via Improv over Serial.
ℹ️ Want to add Improv to your project? Check out the SDKs.
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.