Wash all the ingredients, except for the oil, three or four times, then drain. Leave to soak in cold water in a bowl overnight.
Drain the water from the ingredients, but keep it and set aside. Transfer the soaked ingredients to a food processor and grind to make a smooth paste. Make sure the batter doesn't look grainy – you can use a little of the soaking water if you need to. It should be like a thick, smooth pancake batter and should coat the back of a spoon. Empty into a large bowl and cover. Keep it in a warm place overnight to allow the batter to ferment (see tip, below). It will have doubled in quantity and look bubbly. If you're not using the batter straight away, chill for later. It will keep for up to five days.
Very gently stir the batter. It will have thickened in consistency, so you can add a little water to give it a thick but pourable consistency.
Heat a non-stick frying pan on a low to medium heat for 5 mins. Drizzle over a few drops of oil, then wipe the pan with kitchen paper to get rid of any excess oil.
Sprinkle a handful of water on the hot pan to cool it, then dry with some kitchen paper. Pour one ladle of the dosa batter in the middle of the pan. Using the bottom of the ladle, quickly move it in a circular motion, allowing the batter to spread outwards from the middle towards the edge of the pan, to form a round, thin pancake.
Drizzle a few drops of oil all over the dosa and increase the temperature to a high heat. When it turns slightly golden and the edges begin to lift, add any stuffing (like dosa masala potato stuffing) to the middle. Continue to cook until the underside looks completely golden and crisp. Use a flat spatula to loosen the edges, then roll over the potato stuffing and lift onto a plate.
Before you make the next dosa, decrease the temperature of the pan back to a medium heat and repeat the above steps.