In this paper, a flight control system for a smartphone-based quadrotor is proposed. The sensing, the state estimation and control algorithms in this quadrotor are exclusively executed by the smartphone on-board. Two control architectures for this quadrotor are here presented: a LQG controller with gain compensation for reference tracking and a controller. Due to the shortcomings of smartphones’ sensors, a Kalman filter for state estimation is proposed. We also present simulation results of the proposed system using dynamic models and real quadrotor parameters. These results demonstrate the performance advantages of the LQG and controllers. An absolute error of less than 2.4 ± 0.001 m while take-off and landing, and 1.1 ± 0.001 m while following a mission path is achieved.