ESP32 & ESP8266 Connectivity · Advanced · BLE
ESP32 BLE Sensor Beacon
A GATT service a phone can read without an app store, a router or a broker.
Firmware status: Generated from this project's own pin map and compiled with arduino-cli for esp32:esp32:esp32 before publication; bench validation on your hardware is still required.
Board: ESP32 DevKit (ESP32-WROOM-32, 30 or 38 pin) · ESP32 dual core @ 240 MHz · 3.3 V logic · build for esp32:esp32:esp32.
What you will build
An ESP32 advertising a custom service that reports its sensor and notifies a connected central.
Components
- ESP32 board
- Analog sensor on a pin
- Status LED
- Android phone running nRF Connect
Pin map for this build
| Sketch constant | Pin | What it is |
|---|---|---|
PIN_SENSE | 34 | Sensor — analog output, 3.3 V maximum |
PIN_STATUS_LED | 4 | Status LED — with 220 Ω series resistor |
Tools
- USB programming cable
- Multimeter
- Current-limited bench supply (for anything that switches a load)
- Small screwdriver and wire cutters
Build sequence
- Flash and confirm the advertising line in the serial log.
- Scan with nRF Connect, find the named device and connect.
- Read the characteristic and confirm the value matches the serial log.
- Subscribe to notifications and watch the value update every two seconds.
Test and expected result
The device appears in a scan, the characteristic reads, notifications arrive, and the board resumes advertising when the phone disconnects.
Acceptance checks
advertises, readable, notifies, re-advertises after disconnect
Safety and limits
No pairing or bonding is used here: anyone in range can read the value. Do not put anything private in the payload.
Hardware scope
BLE server, one readable and notifiable characteristic, advertising restart on disconnect.
Connection diagram
Download the connection diagram (SVG)
Download the Arduino sketch (E13_esp32_ble_sensor_beacon.ino)
Guide source: the sketch on this page was generated from the pin map above and compiled for esp32:esp32:esp32 before publication.
Related projects
- ESP32 Captive Portal Wi-Fi Manager — Boot the ESP32 with no credentials and configure its network from a phone, with the portal saved to flash.
- ESP8266 Config Portal — The same idea on the cheapest board that can do it: an ESP8266 that configures itself from a browser.
- ESP8266 Sensor Portal Logger — A battery-minded sensor node you configure in the field, with the reading shown on its own setup page.