Researchers investigating mobile and wireless systems can run experiments on many testbeds, but no existing option supports experimentation “in the wild“ without sacrificing features such as access to low-level wireless state and efficient scheduling of co-local guests. To fill this void, we present a new architecture for mobile testbeds called CrowdLab. CrowdLab allows researchers to run guest virtual machines on volunteer mobile nodes and ensures efficient use of testbed resources through a new dual-mode networking abstraction and a weakly-consistent, replicated state store called a site directory. We have implemented two CrowdLab prototypes, one for x86 laptops and one for ARM-based Nokia N810 Internet Tablets, and evaluated them using power measurements, micro-benchmarks, and trace-driven emulation. Our evaluation demonstrates that handheld users can contribute 2.5 hours per day to CrowdLab and still have over 12.5 hours of idle time remaining. In addition, emulated mobility-trace replays show that CrowdLab's fault-tolerance mechanisms allow experiments to run uninterrupted, even in the face of high churn rates.