The problem
Indoor navigation, wayfinding apps and room-level presence detection all depend on Bluetooth Low Energy beacons, but deciding how many beacons a floor needs — and exactly where to mount them — is still guesswork on most projects. Teams either over-deploy (wasting hardware and battery budgets) or discover dead zones only after installation, when a phone loses position halfway down a corridor. This project solves the planning problem before any hardware is bought: a browser-based tool where the floor plan is laid out as a 40 m × 22 m grid, beacons are placed by clicking or auto-placed in a grid, and coverage is estimated with the standard log-distance path-loss model, sampled every 0.5 m. A strongest-signal heatmap shows exactly where RSSI falls below the usable threshold, and the deployment report lists each beacon's position, iBeacon ID, transmit power and estimated range — ready to hand to an installer.
Draws the floor plan and places BLE beacons on it.
Follow the working sequence
How it works
- The floor is modelled as a 40 m × 22 m plan sampled on a 0.5 m grid, with room/wall overlays shown for context.
- Beacons are placed by clicking on the plan (or auto-placed in a grid); each beacon carries an iBeacon ID, a TX power at 1 m (−59 to −62 dBm typical) and a position.
- Predicted RSSI at every grid cell is computed with the log-distance model: RSSI(d) = Tx1m − 10·n·log10(d), with path-loss exponent n settable between 2 and 3.
- A cell counts as covered when any beacon's predicted RSSI is at or above the coverage threshold (default −75 dBm, the level wayfinding needs).
- The heatmap view colours each cell by the strongest predicted RSSI; coverage statistics (median RSSI, dead zones, floor-covered %) are computed live.
- The deployment report tabulates every beacon's position, ID, TX power and estimated range, and exports the plan as JSON for the ESP32 scanner firmware or CSV for installers.
Tech stack:
- HTML5 canvas + vanilla JavaScript (single-file web app)
- Log-distance path-loss RF model
- ESP32 BLE scanner firmware (Arduino / ESP-IDF)
- iBeacon protocol
- JSON / CSV export
- Runs fully offline in the browser
| Parameter | Value |
|---|---|
| Floor model | 40 × 22 m plan, 0.5 m sampling grid (configurable) |
| RF model | Log-distance: RSSI(d) = Tx1m − 10·n·log10(d), n ≈ 2–3 (typical indoor) |
| Beacon count | User-placed; demo plan uses 7 beacons |
| Coverage metric | % of floor area with predicted RSSI ≥ threshold (design estimate) |
| Typical range | Approximately 4.5–6.3 m usable range per beacon at −75 dBm threshold (expected, model-dependent) |
| TX power | −59 to −62 dBm at 1 m (typical BLE beacon setting) |
| Export formats | JSON (ESP32 scanner config), CSV (installer work order) |
| App | Single-file HTML/CSS/JS, runs offline |
Project features
- [Interactive floor planner] Click to place beacons, drag to reposition, or auto-place a grid; coverage circles update live with the path-loss exponent and RSSI threshold sliders.
- [RSSI heatmap view] Every 0.5 m cell is coloured by the strongest predicted RSSI from any beacon, with area breakdowns (≥ −65 dBm, −65…−75 dBm, < −75 dBm).
- [Deployment report] Beacon positions, iBeacon IDs (e.g. FDA50693…/1/n), TX power at 1 m and estimated usable range per beacon, plus dead-zone count and floor coverage percentage.
- [Installer export] Download the plan as JSON (imports into the companion ESP32 scanner firmware config) or as CSV (the installer work order).
- [Adjustable RF model] Path-loss exponent n and coverage threshold are user-settable, since indoor n typically ranges 2–3 depending on walls and clutter.
- [Cost estimation] Estimated hardware cost computed from the beacon count in the plan, so budgets are decided before procurement.
- [Per-beacon selection] Click any beacon to inspect and edit its position, iBeacon identity and TX power individually.
What is included
- Complete planner web app (floor planner, RSSI heatmap, deployment report)
- Log-distance path-loss coverage engine with adjustable exponent and threshold
- JSON and CSV export (ESP32 scanner config + installer work order)
- Companion ESP32 BLE scanner firmware that imports the exported plan
- User guide (model explanation, calibration procedure, installation notes)
- Project report PDF (background, RF theory, methodology, results)
- PPT presentation for final review
- Viva Q&A preparation document (BLE, RSSI, path-loss, iBeacon)
Limitations & prerequisites
- Coverage is a model estimate, not a measured survey — the log-distance model ignores walls, furniture and multipath; a site walk with a phone is still needed to validate.
- The demo floor plan is a fixed 40 × 22 m office layout; adapting to a real building needs its plan traced onto the grid.
- iBeacon IDs and TX powers in the demo are illustrative; real deployments use the IDs programmed into the actual beacon hardware.
- Wayfinding-grade coverage (≥ −75 dBm) typically needs roughly one beacon per 6–10 m in open space; dense rooms need more — the tool shows this, it does not remove the hardware cost.
- The ESP32 scanner firmware is a companion reference build; production fleets add OTA updates and battery management not included here.
Frequently Asked Questions
How is coverage estimated?
With the log-distance path-loss model: RSSI(d) = Tx1m − 10·n·log10(d). The floor is sampled every 0.5 m; a point is covered if any beacon's predicted RSSI meets the threshold. The path-loss exponent n is adjustable because real indoor environments range roughly 2–3.
Is this a real site survey?
No — it is a planning estimate. It tells you how many beacons to buy and roughly where they go. After installation, walk the floor with a BLE scanner app to confirm real RSSI and adjust positions.
What does the JSON export feed into?
The companion ESP32 scanner firmware: the plan's beacon positions and iBeacon IDs import directly as its configuration, so the firmware knows which beacons to listen for and where they are.
Why −75 dBm as the threshold?
Wayfinding and room-level positioning generally need RSSI at or above about −75 dBm; below that, distance estimates become noisy. Presence-only detection can tolerate down to about −85 dBm — the threshold slider lets you switch between these goals.
What hardware does a real deployment need?
BLE iBeacon modules (coin-cell or USB powered), an ESP32 scanner for the receiver side, and mounting hardware. The tool estimates beacon count and cost before you buy anything.
Is this project suitable for a final-year project?
Yes — for IoT & Embedded, Electronics and Computer Science programs. It combines RF theory (path-loss modelling), interactive web development and embedded BLE firmware in one build. Suitable for B.E./B.Tech final-year projects in IoT & Embedded Systems, Electronics and Computer Science.
Components & software requirements
- HTML5 canvas + vanilla JavaScript (single-file web app)
- Log-distance path-loss RF model
- ESP32 BLE scanner firmware (Arduino / ESP-IDF)
- iBeacon protocol
- JSON / CSV export
- Runs fully offline in the browser
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.