The sad news is that there is no such thing as "Kalman filter for programmers". Don't hope for some formulas that you can blindly use and everything will magically work.
If your are dead set on the Kalman filter approach, Google this (keywords: attitude, error state, kalman filter):
http://scholar.google.com/scholar?q=attitude+%22error+state%22+kalman+filter
In particaluar, a relatively light read is Indirect Kalman filter for 3D attitude estimation. Make sure you are comfortable with the maths in it and you fully understand it; otherwise you won't be able to implement it. :(
If you have trouble understanding the above stuff, I highly recommend the
It is basically a tutorial, I cannot imagine an easier way to achieve sensor fusion. It would nicely work on a microcontroller as the authors developed it to be run on a microcontroller.
Just a side note. Kalman filter is so popular because
As for the filter parameters, you are likely to end up tuning them so the latter is not a big advantage in my opinion. See 5.1 Parameter estimation or tuning in the SIGGRAPH Course Pack.
As for optimality, in real life applications, depending on the domain, those conditions often do not hold anymore; the Kalman filter degrades to a (good) heuristic.
But if you are using a heuristic anyway, why not pick one that is a lot easier to implement? Such as the one presented in Direction Cosine Matrix IMU: Theory.