You need:
1/2 bar of Dr. Bronner's unscented bar soap
1/2 gallon of water.
A bucket/bowl big enough to hold it in while it's "cooking"
Spoon or whisk
Containers to store it in
Optional: Liquid Dr. Bronner's to scent it
First, grate your soap into your "cooking" bowl. Use a regular cheese grater, it's just soap, it'll wash off. I grate it using the finest grate. Don't cut your bar in half first, it splinters and makes a mess, just grate until half the bar is gone. Don't worry about being precise, just eyeball it. Second, pour half a gallon of water over it. Let it sit for 12ish hours. Third, stir it until it looks pretty smooth. It doesn't really matter if there is a flake of soap here and there, just go with it. Fourth, pour it into your containers. Last, if you want some scent throw a squirt in of your favorite Dr. Bronner's. Just a bit will do. I suppose you could use essential oils as well, but I'm not 100% sure they wouldn't go rancid. Unless you have a few kids, then it likely wouldn't last very long in your house anyway.
Cost: About $2.50/half gallon + 10ish minutes of your time. Well worth it.
This is the one I use: