FAQ
Questions and troubleshooting
Why only 2.4 GHz networks?
Most of the chips supported today have a 2.4 GHz radio only (the ESP32-C5 also does 5 GHz). Because the device scans for itself, the list only shows networks it can really use, so nobody has to know about frequencies.
Why does the iPhone use an App Clip instead of the web page?
Safari on iPhone and iPad cannot talk to Bluetooth devices. An App Clip is Apple's way of running a small part of an app straight from the camera, without installing it. If the phone has no internet to fetch it, the device's own Wi‑Fi network works instead.
Can I set a device up from a computer?
Yes, with Chrome or Edge on Windows, macOS or ChromeOS and a computer with Bluetooth, which almost all modern laptops have. On Linux, Chrome's Bluetooth support may need to be switched on first. Firefox and Safari do not support Bluetooth on the web.
Does it work with web installers such as ESP Web Tools?
Yes. With PAIRBLE_IMPROV_UART on (in Arduino, call pairbleImprovSerial(Serial)) the device speaks Improv Wi‑Fi over USB, so the installer can set the network straight after flashing. As over Bluetooth, the old network stays until the new one works. It is off by default.
The phone doesn't find the device.
Check that Bluetooth is on and the device is within a few metres. While one phone or tab is connected, the device is invisible to everyone else. The setup page and the App Clip let go after two idle minutes, and the device itself drops an idle client after five. If nothing helps, switch the device off and on again.
It says the code doesn't match the device.
The code belongs to a different unit, or was typed in wrong. Codes are case-sensitive. Scan the code printed on the device itself, not a photo of someone else's box.
The page says the browser can't use Bluetooth.
Firefox and the browsers built into apps like Facebook or WhatsApp do not support Bluetooth. The page offers a button that opens it in Chrome.
What is supported today?
Every ESP32 with Bluetooth LE on ESP-IDF 5.1 or later: ESP32, C2, C3, C5, C6 and S3, including Arduino projects built on ESP-IDF. The ESP32-S2 has no Bluetooth, so the build stops with a clear error rather than producing a product that can't be set up. On Arduino, also the Raspberry Pi Pico W and Pico 2 W (arduino-pico with Bluetooth). More chips and platforms are on the way.
How much flash and memory does it take?
pairble itself is about 35 KB of flash, including the setup page in ten languages. The rest of a typical 1.1 MB firmware is ESP-IDF's Wi‑Fi and Bluetooth stacks, which any connected product needs. While setup is open it uses about 90 KB of RAM, and gives all of it back afterwards.
What if the power goes out during setup?
The network that worked before is kept aside until the new one is confirmed. After a power cut in the middle of an attempt, the device goes back to the old network on the next start.
How secure is it?
The phone and the device agree on a key with X25519, mix in the unit's 60-bit secret and encrypt with AES. The device's own network uses WPA2 with the same secret, and its setup page only answers devices connected to it. Whoever holds the code from the label can set the device up; that is the point, so keep labels off photos.
Can I use pairble.com in production, or my own domain?
pairble.com is free to use, in production too, with no limits: the setup page and the App Clip are ready. Your own domain is possible, but an iPhone then needs an App Clip of your own, approved by Apple and ideally part of your own app. Write to [email protected] and we will help you set it up.
What does it cost?
Nothing. pairble is open source under the Apache 2.0 licence, and that covers commercial products.