Being involved in UAV research, I've been a member and a great admirer of this community for a number of years. An article I wrote (Fundamentals of Small Unmanned Aircraft Flight) has recently been published in my organization's Technical Digest and is freely available. I am hoping that members of the DIY UAV community might benefit from this effort.
The article covers flight control methods as well as UAV state estimation methods (i.e. fusing sensors to estimate position and attitude). Flight control algorithms are treated very generally, basically just describing simple PID control for different flight modes and channels. For state estimation, the article covers Kalman Filter-based approaches as well as the Mahoney/Premerlani/Bizard "DCM" method that many in this community are familiar with. (In the article, I refer to the "DCM" method as the AHRS Feedback Controller method, as it can also be described using quaternions or euler angles.)
Although the focus of the article is small fixed-wing UAVs, many of the methodologies described can be (and are) applied to other types and sizes of UAVs. The flight control and state estimation methods described are not specific to any particular UAV, but I will admit that I leveraged resources from the open-source UAV community. The article is freely available at the following link:
As a companion to the article, I also put together some heavily-commented MATLAB routines (called SUAS Code) implementing both the Kalman Filter and the "DCM" Feedback Controller state estimation methods. (For the really interested user, the code shows how to implement the "DCM" Feedback Controller method using either Euler angles, quaternions, or Direction Cosine Matrices.) A link to the code can be accessed through the MATLAB Central Link Exchange:
(The Link Exchange provides a link to the actual SUAS Code website. Please forgive me that this a "link to a link", but the MATLAB Link Exchange counts "clicks", giving me feedback as to whether anyone is finding it useful. Also, please be forewarned that you will have to OK an End-User-License-Agreement before downloading the code. It is intended that the code be freely available for academic, personal education, and research purposes. The EULA really just restricts commercial efforts, so hopefully no one in this community will find it too distasteful.)
Again, I am hoping that the paper and code are of benefit to this community.