This book will appeal to all who want to understand the functioning of the Kalman filter in a exhaustive way, both theoretically and practically. In particular , it's highly recommended to all software developers for embedded systems, because of the numerous application examples written in standard C, easily adaptable to the needs of their projects. In the first part of the book, it is introduced the mathematics that underlies the kalman filter, through explanations that are not limited to simple formal illustration of formulas and theorems; the goal is to put the reader in the conditions to learn in a simple and intuitive way, the theory of the Kalman filter. In the second part the reader will find numerous examples of the application of the Kalman filter, starting from extremely simple cases up to the resolution of high complex problems. All of these examples are inclusive of a description in standard C, so as to be easily imported within a software project for embedded systems. In the third part of the book, it is introduced the problem of data fusion with examples of applications accompanied by C code. In conclusion, the author suggests an innovative technique to provide greater reliability to the Kalman filter.