TraceX is a smart tracking and safety system designed for people and valuables in environments where reliable internet connectivity cannot be taken for granted.
The Problem
Losing a device, valuable item, or even losing track of a child can become difficult when the tracking solution depends heavily on internet access or dense networks of nearby smartphones.
Products such as AirTag and Galaxy SmartTag are useful, but their effectiveness depends on surrounding devices and connectivity infrastructure. TraceX was built around a simple question:
What if a tracker could adapt to the connectivity available around it instead of depending on only one communication method?
The Solution
TraceX combines BLE, GPS, cellular communication, motion sensing, local storage and a web dashboard into one adaptive tracking system.
When the owner's phone is nearby, TraceX uses Bluetooth Low Energy for local communication. The phone can provide location information and interact with the tracker without requiring internet access.
When BLE connectivity is lost, the tracker can switch to GPS + cellular communication to obtain and transmit its own location.
When cellular connectivity is temporarily unavailable, location records can be stored locally and synchronized when connectivity returns.
This makes TraceX suitable for low-connectivity environments where a single communication technology may not always be reliable.
Key Features
BLE Tracking
The tracker continuously advertises over BLE. A nearby phone can connect to the device and view live information including:
- GPS status
- Location
- Motion status
- Accelerometer data
- Gyroscope data
- Battery level
The project also uses Web Bluetooth, allowing the dashboard to communicate directly with the ESP32 without requiring internet access.
Last Seen Location
When BLE is connected, the system can use the phone's location and timestamp to maintain a last-seen record.
If the BLE connection is lost, the most recent known location becomes the tracker's last-seen location.
Adaptive Tracking
TraceX is designed to select communication methods based on its operating condition.
- BLE connected: use the nearby phone and minimize cellular/GPS activity.
- BLE lost: activate GPS and cellular tracking.
- Movement detected: wake the required systems and obtain an updated location.
- Stationary: reduce unnecessary activity to conserve battery.
- SOS activated: prioritize location acquisition and emergency communication.
Offline Location Logging
Connectivity should not determine whether location data is lost.
When cellular communication is unavailable, TraceX stores GPS records locally in the ESP32's flash storage. When connectivity returns, the stored records can be synchronized to the cloud.
Recovery Mode
When searching for a lost item, the phone can connect to the tracker through BLE and use signal strength to estimate proximity.
The user can also trigger the tracker's buzzer remotely using the dashboard to make the device easier to locate.
SOS
An SOS mechanism is included for emergency situations. When activated, the tracker can prioritize GPS acquisition and communication so that its location can be transmitted for assistance.
Location History
TraceX maintains historical location records containing information such as:
- Location
- Timestamp
- GPS status
- Device status
- Battery information
- Event/source information
How We Built It
The prototype is built around an ESP32-C3, which handles BLE, sensor processing, local storage and communication with the cellular/GPS modem.
The cellular/GPS system uses a SIM7600G during prototyping, with the final hardware planned around the smaller SIM7080G module.
For motion detection, we currently use an MPU6050 during prototyping. Accelerometer and gyroscope readings are combined to determine whether the device is moving or stationary. The production design will use the lower-power BMA400.
The firmware was written in C++ using PlatformIO and split into separate modules for BLE, GPS, GSM, sensors, battery, storage and device logic.
The web dashboard was built with HTML, CSS and JavaScript, using Web Bluetooth for direct communication with the ESP32 and Leaflet for map visualization.
Firebase Realtime Database is used as the cloud backend for location history and tracker data.
What We Built During the Hackathon
The project evolved from an initial tracking concept into a working hardware/software prototype.
We implemented:
- BLE initialization and communication
- BLE read/write characteristics
- Web Bluetooth dashboard
- Offline-capable local dashboard communication
- MPU6050 calibration and motion detection
- Last-seen tracking
- Persistent device state using ESP32 storage
- Battery percentage monitoring
- Remote buzzer control
- GPS acquisition through the SIM7600G
- Cellular data communication
- Firebase integration
- Leaflet map visualization
- Historical GPS records
- Offline GPS data logging and synchronization
- Modular embedded firmware architecture
- Modular dashboard JavaScript architecture
One of the biggest technical challenges was integrating several systems that each have different timing, power and communication requirements.
Getting BLE, GPS, cellular communication, motion detection, local storage and cloud synchronization to work together required careful state management and testing.
What We Learned
Building TraceX reinforced that IoT systems are not just about connecting sensors to the cloud.
The difficult part is designing what happens when something fails.
What happens when BLE disconnects?
What happens when GPS has no fix?
What happens when cellular connectivity disappears?
What happens to the location records collected during that period?
TraceX was designed around these failure conditions rather than assuming perfect connectivity.
Future Improvements
The next hardware revision will focus on reducing the physical size and power consumption of the tracker.
Planned improvements include:
- Custom PCB with the ESP32-C3 module
- SIM7080G cellular/GNSS module
- BMA400 low-power accelerometer
- MAX17048 battery fuel gauge
- Dedicated charging circuitry
- Smaller enclosure
- Improved power management
- eSIM support
- Solar-assisted charging
- More robust emergency notification infrastructure
TraceX is ultimately intended to become a compact, low-power tracking platform designed specifically for environments where connectivity can be inconsistent.
Built With
- add-these-tags:-esp32-c3
- ble
- bma400
- c++
- css
- embedded-systems
- firebase
- gps
- gsm
- html
- iot
- javascript
- leaflet.js
- mpu6050
- platformio
- sim7080g
- sim7600g
- web-bluetooth
Log in or sign up for Devpost to join the conversation.