Wash the soybeans and soak them overnight until softened.
Divide the beans into three batches and blend each set with a litre of water until smooth.
Place muslin cloth over a strainer and add all the blended soybean batches to strain out the soy milk. Allow the pulp left in the strainer to dry, then add water to wash the pulp to get more soy milk out. Squeeze the muslin cloth to get as much liquid as possible.
Set the pulp aside; this can be used in various dishes; see notes below.
Place the soy milk in a large pot or stock pot. Bring to a boil; be careful because it can rise rapidly and overflow. Stir regularly to prevent the milk from sticking to the bottom of the pot.
Once boiled, remove from heat and rest for two to three minutes. Remove any froth from the surface and keep stirring from time to time, as it can still stick while it cools.
In a small bowl, combine either juice from three lemons or three tablespoons of rice vinegar with 1 cup of water.
Using a ladle or a spoon with a long handle, gently stir in the acid mixture in small batches. You will see the milk start to coagulate. Once a clear liquid forms on the top of the thickened milk, you can stop; not all the mixture needs to be used.
Cover the second muslin cloth over a tofu press and place the press on a rack in a roasting pan to capture the liquid when it drains. Be sure that the cloth is large enough to cover the tofu. Using a ladle, transfer the coagulated soy milk into the press, ensuring it fills all the gaps. Cover it with the muslin cloth, place it on its lid and weigh it down with weights (eg. cans). Leave to drain for 15 mins for soft tofu or around 30 mins for firm tofu.
Finally, still in the muslin, remove the tofu from the press and soak in cold water for at least 30 mins. This will remove the acidity from the coagulation process.
Eat immediately or place in a sealed container. Cover with water and store in the fridge for up to a week.