Step 1. Design and build, to any dimensions which take your fancy, a robot from the most elementary materials: iron and steel, copper, various plastics, and so on, avoiding complicated circuitry. The resolution it is constructed at should be as simple as possible. In short: a plain, simple easily reproduced robot.
There would be a single robotic arm, with various tools on it, and a simple form of slow transport. The sole purpose of the machine would be manipulating those materials it was constructed from.
The arm would be built to use mechanical leverage to increase accuracy. Each motor would be controlling via a fulcrum, or through gears, so that one turn of the motor is, say, a fifth of a turn of the output. This means the positional accuracy of the motor would be fivefold.
Power would come from a battery or fuel cell, constructed by taking an arbitrary amount of acid/methanol/etc and sealing it between electrodes. Not too sure on the details of how this would work, but I'm sure it could.
Step 2. Program your robot with only one thing: the design of itself.
Step 3: Place your robot down (possibly in a vacuum) next to a selection of materials, the exact amount used to construct it. Press go.
The robot will use exactly half of the material available to recreate itself - not like RepRap or any old 3D printer, but fully construct itself, taking as long as it needs, to wrap wire by wire of the coils for the servos, to slide gears and wheels together, to place every part perfectly together. After toiling away for however long it takes, the robot's power runs out the moment it's pressed go on it's child: an exact replica, fully working, without any human intervention, only at half scale. And right next to it is exactly the amount of material needed to construct it, from which the child robot will take half, and build a grandchild.
If the grandchild is built without any human intervention since the original parent, then any number of children can be born, each half the size of its mother. The material will never run out, and the machines will head smaller and smaller on to practical infinity.
Assuming that each replication is completely efficient (although in practice, this could be circumvented by making each one's scale a quarter, instead of half, meaning there would be plenty of surplus material) and assuming there is no minuscule inaccuracy in the original design which would be amplified each generation, and assuming plenty of other things go to plan, you should hopefully have a line of robots at every scale from your starting point to infinity.
For a practical use, say you managed to get it to run as far as five generations, you'd have a 1 to 32 scale working 3D printer for all your micro-construction needs. And if you did manage to get it to run to the nano scale, you'd finally have a machine which could manipulate individual molecules: horay! You can now build any machine or device ever conceived.