Bus tracking wearable


I developed a bus tracking application for three different devices: two wearables (an Android smartwatch, and a sensor tag), and an Android smartphone. The application detects which bus service number the user is travelling in, and tracks the location of the bus in real-time. I make novel use of the barometer (air pressure) sensor for extremely low-power operation (high-power location sensors like GPS are not used) and a memory-optimized lightweight algorithm.

Watch app

The tracking algorithm can run on an extremely resource-constrained sensor tag, which has only about 7 kB of free RAM, 512 kB of external flash storage, and a 220 mAh coin cell battery. The bus tracking tag consumes just 0.52 mW, and for a 220 mAh coin cell, the lifetime is upto 50 days.

Sensor tag

Experience gained

Android wear 1.0 app development

Creating a standalone Wear app, displaying notifications, adding primary and additional action buttons

Embedded system programming

Contiki, optimizing algorithm memory footprint, power measurement using Monsoon power meter


Use of environmental and motion sensors for context detection, sensor batching using hardware FIFO buffers