A speck is intended to be a miniature (5X5X5mm) device that combines sensing, processing, wireless communication and energy storage capabilities. A specknet is an ad-hoc mobile wireless network of specks. The logical location of specks in the network is useful, for reasons ranging from routing data to giving the data sensed a spatial context. This paper presents a novel algorithm for discovering the logical location of specks and updating the information in the face of movement, without recourse to infrastructure support. The proposed algorithm exploits the location constraints implied by the neighbourhood links in order to compute a likely location: one-hop neighbours must lie within radio range, two-hop neighbours probably lie outwith radio range. An iterative approach is used to converge on a location estimate that satisfies all constraints. The performance of the location discovery algorithm is evaluated in the SpeckSim simulator for a number of metrics, including location error. The results demonstrate that the quality of the computed locations is within 90% of optimum when used in routing calculations.