  Individual impurity atoms in silicon can make superb individual qubits, but
it remains an immense challenge to build a multi-qubit processor: There is a
basic conflict between nanometre separation desired for qubit-qubit
interactions, and the much larger scales that would enable control and
addressing in a manufacturable and fault tolerant architecture. Here we resolve
this conflict by establishing the feasibility of surface code quantum computing
using solid state spins, or `data qubits', that are widely separated from one
another. We employ a second set of `probe' spins which are mechanically
separate from the data qubits and move in-and-out of their proximity. The spin
dipole-dipole interactions give rise to phase shifts; measuring a probe's total
phase reveals the collective parity of the data qubits along the probe's path.
We introduce a protocol to balance the systematic errors due to the spins being
imperfectly located during device fabrication. Detailed simulations show that
the surface code's threshold then corresponds to misalignments that are
substantial on the scale of the array, indicating that it is very robust. We
conclude that this simple `orbital probe' architecture overcomes many of the
difficulties facing solid state quantum computing, while minimising the
complexity and offering qubit densities that are several orders of magnitude
greater than other systems.
