IntelliKeep System Documentation
An End-to-End BLE Asset Tracking System with Base Station, Cloud Sync, and Mobile Alerts
IntelliKeep was designed and engineered by Tanner Nelson as a project report submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer Engineering at Weber State University (Ogden, Utah, 2026). Committee: Dr. Jonathan West (Chair), Dr. A. Tye Gardner, Dr. YuJung Chu.
System Motivation & Scope
IntelliKeep is a presence monitoring and theft-prevention system engineered specifically for property owners, vacation rental operators (such as Airbnb/Vrbo hosts), small business owners, and facilities managers. These users require timely, automated alerts whenever valuable physical assetsβsuch as computers, televisions, tools, high-end kitchen appliances, or specialty equipmentβare tampered with or moved outside an expected boundary.
Rather than implementing expensive, power-hungry centimeter-level Real-Time Locating Systems (RTLS) or passive RFID systems that require direct line-of-sight gate scanners, IntelliKeep targets a highly practical room-scale presence and theft detection model:
- Ultra-Low-Power Coin-Cell Tags: Custom miniaturized ESP32-C3 hardware nodes with nanopower optical tamper detection and switched battery sensing.
- Zero-Friction NFC Onboarding: Tap-to-enroll pairing via NFC eliminates manual MAC address entry and complex BLE pairing menus.
- Autonomous Base Station Gateway: Always-on ESP32-S3 hub continuously tracks BLE beacon telemetry, maintains a local NVS whitelist, and serves an embedded offline web UI.
- Dual Integration Architecture: Broadcasts real-time events locally over MQTT (for Home Assistant / local automation) while simultaneously synchronizing over HTTPS to the cloud.
- Instant Mobile Push Notifications: Firebase Cloud Messaging (FCM) delivers high-priority alerts with audible alarms directly to smartphones when tamper or missing events occur.
4-Tier System Architecture
The IntelliKeep system is partitioned into four distinct tiers, separating extreme power constraints at the edge from always-on gateway behavior and multi-user cloud services:
Ultra-compact BLE beacons powered by coin cells. Wakes periodically from deep sleep (~270ms wake cycle) to broadcast compact telemetry or wakes instantly on optical enclosure tamper.
Mains-powered ESP32-S3 hub running FreeRTOS. Continuously executes 100% duty cycle BLE discovery, evaluates RSSI boundaries, hosts a SoftAP captive portal, and manages offline fallback.
Flask server with SQLAlchemy and SQLite system of record. Manages base registration, periodic 15s heartbeats, temporal jitter debouncing, TOTP security, and FCM push alerts.
Native Android application and responsive web dashboard. Features NFC tap-to-enroll, asset status inspection, live alerts, and historical event audit logging.
End-to-End Data & Control Flow
XIAO ESP32-C3 broadcasts 5-byte 0x1337 beacons (battery, tamper, reason) for 150 ms, then enters deep sleep.
Continuous 100% duty cycle scanner filters against 32-tag NVS whitelist. Dispatches JSON via MQTT & HTTPS.
Flask backend applies 11-min grace timer, triggers FCM push alarms, and feeds the native Android NFC app.
Terminal Topology Diagram (Click to Expand ASCII)
[BLE Tag] ββ (BLE 0x1337 Adv) βββΊ [ESP32-S3 Base Station]
β² β
β Optical Tamper / NFC Tap ββββΊ [Local MQTT] βββΊ Home Assistant
β β (Topic: intellikeep/base/<MAC>)
ββββββββββββββββββββββββββββββββββββββββ€
ββββΊ [HTTPS Cloud Server] (Flask + SQLite)
β
ββββΊ [Firebase FCM] βββΊ Android Phone
ββββΊ [Web Dashboard] βββΊ Browser UI
The tag broadcasts a 5-byte manufacturer data payload with company ID 0x1337, battery percentage, tamper flag, and reason code for approximately 150ms before returning to deep sleep.
The base station captures the packet, checks its internal NVS whitelist (up to 32 enrolled tags per hub), and updates last-seen timestamps, RSSI, and battery status.
The hub formats a JSON telemetry payload, immediately publishing to intellikeep/base/<MAC> over MQTT for local automations, and posts to /api/v1/observations via HTTPS.
If RSSI drops below -100 dBm (Out-of-Range) or beacons fail to arrive within the 11-minute missing window, the server flags the asset and triggers high-priority FCM push alerts to registered smartphones.
Functional & Performance Verification
The master's project established rigorous engineering criteria to validate the prototype against real-world operational constraints:
| Requirement | Target Specification | Measured / Verified Result | Status |
|---|---|---|---|
| Presence Detection | Detect registered tags within base station zone | Continuous BLE passive discovery; updates last-seen state | Verified β |
| BLE Indoors Range | Minimum 15 m line-of-sight indoors | Exceeded target; reliable detection beyond 20 m line-of-sight | Verified β |
| NFC Enrollment Range | Reliable enrollment at β€ 2 cm distance | 13.56 MHz tuned planar loop pairs cleanly at 0.5β2 cm | Verified β |
| Tamper Response Latency | Immediate alert generation upon optical opening | Nanopower comparator fires wake interrupt in < 5 ms; cloud alert < 2 s | Verified β |
| RF Packet Collisions | Missed beacons due to collision β€ 1% (3β5 tags) | Collision probability model: 0.20% for 3 tags, 0.40% for 5 tags | Verified β |
| Tag Fleet Capacity | 3β5 active tags per base station (prototype) | NVS table supports 32 slots; architecture extensible to 64β128 tags | Verified β |
| Battery Lifetime | > 6 months on CR2032 at 10-minute cadence | CR2032 internal impedance limited BLE pulse TX; LIR2032 rechargeable operates reliably | Refined in Thesis β οΈ |
Operational Scenarios
1. First-Time Base Station Setup
When an unconfigured base station boots, it detects empty NVS Wi-Fi credentials and automatically launches an access point named IK-Base-Setup. Users connect via their phone or laptop, whereupon a captive DNS responder directs the browser to the setup portal. The user provides the local 2.4 GHz Wi-Fi credentials, account username, and preferred base station friendly name. The hub saves these parameters to flash, exits AP mode, and joins the local network.
2. NFC Tap-to-Enroll Asset Registration
Asset enrollment requires zero manual typing of hexadecimal MAC addresses. In the IntelliKeep Android app, the administrator taps Add Tag and touches their NFC-enabled smartphone against the tag. The embedded NT3H2111 NFC chip provides the tag's MAC address and temporary enrollment token. The app prompts for an asset name (e.g., "Living Room Sony 65 OLED"), creates the database record, and sends the updated whitelist to the base station during the next 15-second heartbeat.
3. Out-of-Range vs. Missing Classification
IntelliKeep bifurcates boundary detection into two separate telemetry states to eliminate false alarms caused by temporary RF multipath fading:
- Out-of-Range (Signal Weakness): If beacons continue to be received but with an RSSI below
-100 dBm, the asset is classified as out-of-range (e.g., moved to the driveway or balcony edge). - Missing (Signal Stale): If no beacons are heard for longer than the 11-minute grace window (roughly 2 consecutive missed 5-minute wakes), the asset is marked as Missing, triggering immediate push notification alarms.
Hardware Prototype Showcase
Both IntelliKeep hardware nodes progressed from custom KiCad schematics and 4-layer PCBs to finished, deployable 3D printed enclosures modeled in Autodesk Fusion 360:
Explore circuit schematics, TPS610994 boost converter, nanopower optical comparator, planar NFC antenna, and BOM costs.
Embedded Firmware βReview tag deep sleep timing, FreeRTOS tasks, aggressive BLE scanning parameters, and NVS storage structures.
Protocols & APIs βInspect the 0x1337 BLE payload format, MQTT JSON topics, and complete REST endpoints for hub and mobile clients.
Cloud & Mobile App βLearn about the Flask backend, SQLite schema, TOTP 2FA security, Google Calendar bridge, and Android NFC app.