This circuit is essentially just a resistor/capacitor timer with a transistor amplifier. The capacitor is initially discharged. When the power is turned on, the capacitor begins to charge through the 1Mohm resistor. As this is happening, the output voltage of the capacitor slowly increases. This voltage signal is sent to the transistor which sets the transistor’s output. This causes the LEDs to gradually increase in brightness over several minutes.
The potentiometer (variable resistor) is used to adjust the starting voltage of the capacitor. This effectively lets you set the initial brightness of the LEDs. Without it, the LEDs would be off for a long period of charging before the output would be high enough for LEDs to begin to emit light.
The values of the 1000 µF capacitor and the 1 Mohm resistor were arbitrarily chosen for convenience. Increasing either of these values will slow down the charging process and cause the LEDs to brighten more slowly. Decreasing either of these values will have the opposite effect.
The IRF510 MOSFET was chosen for the transistor because it requires very little input current and is capable of driving a large number of LEDs.
Optionally, you can connect a normally open momentary switch to the two terminals of the capacitor to act as a snooze button. Pressing the button will drain the capacitor and restart the charging cycle.