Place soybeans in a bowl and cover with spring water by at least 2 inches. Cover and let soak for 8 to 12 hours or until beans split apart into two, evenly colored halves that break in half easily. If the insides of the beans are concave or darker in color and the beans are rubbery, allow to soak longer.
Drain, reserving soaking water for the next steps (if desired). Soaked and drained beans will keep, refrigerated in an airtight container, for up to 5 days.
Place a colander or fine mesh sieve over the smaller of the two pots. Line sieve with cloth. Place 5 cups of spring water in the larger pot to warm over medium heat. Don’t let it boil just yet.
Place soaked soybeans and 2 cups of spring water in a blender and liquify on high speed for 1 to 2 minutes or until soybeans form a thick, smooth purée. Add to pot with warm water. Add another 1/2 cup of water to blender and pulse briefly to rinse out any remaining soy solids, then pour that into the larger pot as well.
Cook the soybean mixture, stirring frequently to avoid scorching, for about 3 to 6 minutes or until a thick, frothy foam begins to rise. Remove from heat and let sit for a few minutes as the foam subsides.
Pour the milk through the pressing cloth, allowing the liquid to seep through before topping it off. Gather up the pressing cloth and twist, extracting as much liquid as possible (it will be hot, so it may help to wear rubber gloves or wait a few minutes for it to cool down further).
Open up the pressing cloth and stir in an additional 1/2 cup of spring water, then twist and squeeze out any remaining liquid. At this point the remaining solids (called “lees” can be saved and used for another purpose or discarded).
Set the smaller pot with strained soymilk over medium-high heat and stir until it comes to a gentle simmer. Continue to stir, adjusting heat as necessary (you want it just gently bubbling) for 5 minutes.
Meanwhile, combine the gypsum with 1/2 cup spring water, stirring with a spoon to dissolve. Place your mold on a rimmed baking sheet and line with pressing cloth. You will also want to have a sieve and a ladle handy.
After the soymilk has simmered for 5 minutes, remove from heat and let cool slightly, stirring occasionally, for 2 to 3 minutes.
While vigorously stirring the milk in a “Z” or “N” pattern across the pot, add 1/3 of the gypsum mixture. Stop stirring, using the spatula to halt the motion of the liquid, then gently lift out the spatula.
With a spoon, gently sprinkle another third of the gypsum mixture over the surface of the milk, then cover and let sit, undisturbed, for 3 minutes.
Stir the remaining 1/3 of the gypsum to be sure it is evenly mixed, then sprinkle over the surface of the milk. Gently stir in an “N” or “Z” shaped motion across just the top 1/2-inch of the liquid for about 20 seconds, then cover and let sit for another 6 minutes.
At this point the mixture should visibly show white curds in a pale yellow whey. If there is still milky liquid, cover the pot again and wait for another minute. You can also add another 1/3 teaspoon of gypsum mixed with 1/3 cup water, gently sprinkled over the surface. Gently stirring the mixture should bring out the curds.
Press the sieve down into the pot, and use the ladle to spoon out as much liquid whey as you can from the center (the whey can also be saved and reserved for later use). Gently ladle the remaining curd into the prepared mold. Fold in the corners of the pressing cloth and set a second container or similarly-sized surface on top. Weight the tofu with approximately 1 to 2 pounds of weight (more weight will yield firmer tofu), and let sit for about 15 minutes. Carefully remove the tofu from the mold and cloth and submerge in cold water to thoroughly cool.
At this point the tofu can be enjoyed immediately or stored, covered in water in an airtight container for up to 1 week.