ESP32 Web BLE Bluetooth Low Energy with Live Sensor Charts
Display live ESP32 sensor data on a web browser using Web Bluetooth API (Web BLE) without any app installation.
- Suitable forB.Tech Embedded students
- Build time2-3 weeks
- LevelIntermediate
- Available atAjvika Labs, Kakinada
About this project
Uses ESP32 as BLE server and web browser as BLE client using Web Bluetooth API. No Android/iOS app required - just Chrome browser on PC or Android phone. ESP32 reads BME280 sensor (temperature, humidity, pressure) and notifies connected browser client every 10 seconds. The web page displays live charts using Chart.js. Web BLE supported in Chrome and Edge. BLE service UUID: custom 128-bit UUID. Characteristics: one notify characteristic per sensor parameter. ESP32 uses NimBLE-Arduino library for smaller binary size (40% less flash). Button on GPIO0 starts/stops BLE advertising. OLED shows connected client count. Web page runs locally or hosted on GitHub Pages. Libraries: NimBLE-Arduino, Adafruit_BME280, Adafruit_SSD1306.
Detailed Project Description
ESP32 Web BLE Bluetooth Low Energy with Live Sensor Charts connects an embedded device to the network so its data can be viewed and its outputs controlled from a browser, app or cloud service.
How It Works
1. The device joins the network and registers with the server/cloud (or hosts its own web page).
2. Sensor values are published and outputs are controlled through HTTP, MQTT, BLE or a cloud SDK.
3. A web/app front-end shows live values in gauges and charts and offers control buttons.
4. Data is stored for history and the firmware can be updated over the air where supported.
Key Components and Their Role
- ESP32: dual-core Wi-Fi + Bluetooth microcontroller that runs the firmware, reads the sensors and hosts the network connection.
- Arduino: microcontroller board that reads the inputs, runs the control logic and drives the outputs.
- BME280: I2C sensor for temperature, humidity and barometric pressure.
- OLED display (SSD1306): 128x64 I2C display used to show live readings and status.
- Bluetooth Low Energy: short-range low-power wireless link to a phone or browser.
Implementation Steps
1. Collect the components and study each module's datasheet (pin-out, voltage, interface).
2. Wire the circuit on a breadboard following the pin mapping; power sensors from the correct rail (3.3 V / 5 V).
3. Install Arduino IDE, NimBLE-Arduino Library, Adafruit BME280 Library and the required libraries; flash a minimal test sketch for each module separately.
4. Write the main firmware: read sensors → process → drive outputs / send data.
5. Configure network or cloud credentials and test communication end-to-end.
6. Calibrate thresholds, add error handling (reconnect, sensor time-out) and run a long-duration test.
7. Finalise on a PCB / enclosure and document wiring, code and results.
Key Features
- Live data in the browser/app
- Remote control
- History storage
- Secure access
Expected Output
On completion the student will have a responsive web/app dashboard reflecting the device state in real time.
Deliverables
- Complete source code with comments
- Circuit diagram and pin mapping
- Project report with screenshots and results
- Demonstration-ready build
Detailed Project Description
ESP32 Web BLE Bluetooth Low Energy with Live Sensor Charts connects an embedded device to the network so its data can be viewed and its outputs controlled from a browser, app or cloud service.
How It Works
1. The device joins the network and registers with the server/cloud (or hosts its own web page).
2. Sensor values are published and outputs are controlled through HTTP, MQTT, BLE or a cloud SDK.
3. A web/app front-end shows live values in gauges and charts and offers control buttons.
4. Data is stored for history and the firmware can be updated over the air where supported.
Key Components and Their Role
- ESP32: dual-core Wi-Fi + Bluetooth microcontroller that runs the firmware, reads the sensors and hosts the network connection.
- Arduino: microcontroller board that reads the inputs, runs the control logic and drives the outputs.
- BME280: I2C sensor for temperature, humidity and barometric pressure.
- OLED display (SSD1306): 128x64 I2C display used to show live readings and status.
- Bluetooth Low Energy: short-range low-power wireless link to a phone or browser.
Implementation Steps
1. Collect the components and study each module's datasheet (pin-out, voltage, interface).
2. Wire the circuit on a breadboard following the pin mapping; power sensors from the correct rail (3.3 V / 5 V).
3. Install Arduino IDE, NimBLE-Arduino Library, Adafruit BME280 Library and the required libraries; flash a minimal test sketch for each module separately.
4. Write the main firmware: read sensors → process → drive outputs / send data.
5. Configure network or cloud credentials and test communication end-to-end.
6. Calibrate thresholds, add error handling (reconnect, sensor time-out) and run a long-duration test.
7. Finalise on a PCB / enclosure and document wiring, code and results.
Key Features
- Live data in the browser/app
- Remote control
- History storage
- Secure access
Expected Output
On completion the student will have a responsive web/app dashboard reflecting the device state in real time.
Deliverables
- Complete source code with comments
- Circuit diagram and pin mapping
- Project report with screenshots and results
- Demonstration-ready build
Technologies used
Hardware components
- ESP32 DevKit
- BME280 Sensor
- OLED Display
- Breadboard
Software & tools
- Arduino IDE
- NimBLE-Arduino Library
- Adafruit BME280 Library
- Chrome Browser
What you get
- Working project / hardware kit, tested before delivery
- Complete source code with explanation
- Project demo and guidance for your viva
- Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed.
Payment is in two parts:
• 50% advance to start the project
• Remaining 50% before delivery
Note:
• Documentation and PPT are not included by default
• If you need documentation/PPT, it can be arranged for extra time and cost
We'll confirm the exact timeline and cost with you after reviewing your requirements.