In this paper we propose, test, and validate an online Nonlinear Model Predictive Control (NMPC) method applied to multi-rotor aerial systems with arbitrarily positioned and oriented rotors. This work brings into question some common modeling and control design choices that are typically adopted in order to guarantee robustness and reliability but which may severely limit the attainable performance. In particular the proposed method \emph{does not} resort to common simplifications such as: 1) linear model approximation, 2) cascaded control paradigm used to decouple the translational and the rotational dynamics of the rigid body, and 3) use of low level reactive trackers for stabilization, 4) unconstrained system or use of fictitious constraints. The method addresses simultaneously the problem of local reference trajectory planning and that of stabilizing the vehicle dynamics. Furthermore, by considering as control inputs the derivatives of the forces generated by the multi-rotor vehicle and by means of a novel actuator modeling approach, the method avoids conservative -- and often fictitious -- input/state saturations which are present, e.g., in cascaded approaches. The control algorithm is implemented using a state-of-the-art Real Time Iteration (RTI) scheme with partial sensitivity update method. The performances of the control system are finally validated by means of real-time simulations and in real experiments, with a large spectrum of multi-rotor systems: an \emph{under-actuated} quadrotor, a \emph{fully actuated} hexarotor, a multi-rotor with \emph{orientable} propellers, and a multi-rotor with an unexpected \emph{rotor failure}. View paper on