Soak the soybeans inside a bowl with water overnight.
The next day, blend a small quantity of soybeans in a blender each time. Add enough water to cover them over. Blend well until smooth for about 2 minutes.
Transfer the batter formed through a nut milk bag over a large bowl and squeeze all the milk well.
Transfer all remaining soy pulp to another bowl and save for other recipes.
Repeat the process of blending the soybeans in water and then squeezing the milk through the nut milk bag for the remaining soybeans.
Remove all the foam formed with a large spoon. Even during cooking, the milk will form foam.
Transfer the strained milk to a cooking pot. Remove the foam and close again with a lid. Cook for 15 minutes over medium heat. Make sure it's simmering and watch over the milk so it won't boil otherwise all the milk will spill.
Turn off the heat, add the lemon juice, cover with a lid and let it sit for 20 minutes. After a few minutes, the tofu solids will begin to form.
Place the cheesecloth over a bamboo steamer to strain.
Using a slotted spoon, transfer all the tofu solids into the cheesecloth. Cover the top of tofu in another cheesecloth.
Place a heavy vessel over the tofu to filter it well from the liquids.
After about two hours, a large piece of tofu will be obtained. Cut it into pieces of the desired size and store it in a box along with water for up to a week.