  Clock synchronization is highly desirable in distributed systems, including
many applications in the Internet of Things and Humans (IoTH). It improves the
efficiency, modularity and scalability of the system, and optimizes use of
event triggers. For IoTH, Bluetooth Low Energy (BLE) - a subset of the recent
Bluetooth v4.0 stack - provides a low-power and loosely coupled mechanism for
sensor data collection with ubiquitous units (e.g., smartphones and tablets)
carried by humans. This fundamental design paradigm of BLE is enabled by a
range of broadcast advertising modes. While its operational benefits are
numerous, the lack of a common time reference in the broadcast mode of BLE has
been a fundamental limitation. This paper presents and describes CheepSync: a
time synchronization service for BLE advertisers, especially tailored for
applications requiring high time precision on resource constrained BLE
platforms. Designed on top of the existing Bluetooth v4.0 standard, the
CheepSync framework utilizes low-level timestamping and comprehensive error
compensation mechanisms for overcoming uncertainties in message transmission,
clock drift and other system specific constraints. CheepSync was implemented on
custom designed nRF24Cheep beacon platforms (as broadcasters) and commercial
off-the-shelf Android ported smartphones (as passive listeners). We demonstrate
the efficacy of CheepSync by numerous empirical evaluations in a variety of
experimental setups, and show that its average (single-hop) time
synchronization accuracy is in the 10us range.
