Pulse Width Modulation
Arduino boards do not have a dedicated Digital to Analog converter. Instead, they generate analog signals using a technique known as Pulse Width Modulation (PWM). In PWM the digital signal is sent as a square wave, achieved by switching between on and off. This on-off pattern can simulate voltages between 0V and the maximum possible for the board (generally 3.3V or 5V) by changing the time the signal is on and off at a certain frequency. The time the signal is on is referred to as the pulse width (or duty cycle). To get varying analog values, you change, or modulate, the pulse width.
PWM essentially controls the average power delivered by an electrical signal. The frequency of the pulse should generally be at a rate faster than it takes the load to change significantly. PWM is used to control the brightness of an LED or the speed of a motor.

