The quadrotor is an under-actuated nonlinear system that poses challenges in modeling and controller design. This work uses the translational (Newtonian) and rotational (Eulerian) dynamics of the quadrotor to build a decoupled control system. A linear quadratic Gaussian (LQG) regulator is used as the controller, and two extended Kalman filters are used for state estimation in the two dynamic models. The entire design process from modeling to flight simulation is presented. Model linearization while preserving controllability, state-space modeling under gravity disturbance, feedforward compensation, LQR gain adjustment, actuator dynamics, sensor system for observability, adaptation of extended Kalman filter, and its limitations are presented.