  The emergence of water-proof mobile and wearable devices (e.g., Garmin
Descent and Apple Watch Ultra) designed for underwater activities like
professional scuba diving, opens up opportunities for underwater networking and
localization capabilities on these devices. Here, we present the first
underwater acoustic positioning system for smart devices. Unlike conventional
systems that use floating buoys as anchors at known locations, we design a
system where a dive leader can compute the relative positions of all other
divers, without any external infrastructure. Our intuition is that in a
well-connected network of devices, if we compute the pairwise distances, we can
determine the shape of the network topology. By incorporating orientation
information about a single diver who is in the visual range of the leader
device, we can then estimate the positions of all the remaining divers, even if
they are not within sight. We address various practical problems including
detecting erroneous distance estimates, addressing rotational and flipping
ambiguities as well as designing a distributed timestamp protocol that scales
linearly with the number of devices. Our evaluations show that our distributed
system running on underwater deployments of 4-5 commodity smart devices can
perform pairwise ranging and localization with median errors of 0.5-0.9 m and
0.9-1.6 m
