controling bldc motor with atmega32
Since each GPIO of the Atmega328P can provide maximum 40mA @ 5V per I/O pin. If your DC motor has rated current and voltage within the Atmega328P range, then it's speed can be directly controlled from PWM pins on the arduino.  

If the current rating of BLDC motor is higher(used in drones) then you need to use ESC(Electronic Speed Controllers) which can be controlled from arduino PWM.