  Smart building applications require a large-scale deployment of sensors
distributed across the environment. Recent innovations in smart environments
are driven by wireless networked sensors as they are easy to deploy. However,
replacing these batteries at scale is a non-trivial, labor-intensive task.
Energy harvesting has emerged as a potential solution to avoid battery
replacement but requires compromises such as application specific design,
simplified communication protocol or reduced quality of service. We explore the
design space of battery-free sensor nodes using commercial off the shelf
components, and present Pible: a Perpetual Indoor BLE sensor node that
leverages ambient light and can support numerous smart building applications.
We analyze node-lifetime, quality of service and light availability trade-offs
and present a predictive algorithm that adapts to changing lighting conditions
to maximize node lifetime and application quality of service. Using a 20 node,
15-day deployment in a real building under varying lighting conditions, we show
feasible applications that can be implemented using Pible and the boundary
conditions under which they can fail.
