The 555 timer IC is a handful of active components all baked into one beautifully useful 8 pin package. Originally designed for timing purposes, they became ubiquitous parts that can achieve almost anything. In this case, they’re being used to create a basic PWM motor controller.
The trick is to set the 555 up in astable mode, and use diodes and a potentiometer in the charge/discharge loop. By hanging a diode off either side of a potentiometer, leading to the charge and discharge pins, and connecting the center lug to the main capacitor, you can vary the resistance seen by the capacitor during charge and discharge. By making charging take longer, you increase the pulse width, and by making discharge take longer, you reduce the pulse width. The actual frequency itself is determined largely by the capacitor and total resistance of the potentiometer itself.
This is a very old-school way to generate a PWM signal, which could be used to vary intensity of a light or make noise on a buzzer. However, in this case, the output of the 555 is connected to a MOSFET which is used to vary the speed of a computer fan motor.
It’s an excellent way to learn about both PWM motor control and the use of 555 timers, all with a very low parts cost and readily available components. We’ve seen such setups before, used as easy-to-build dimmer switches, too.