Your best bet for learning how the modules all interact is going to be opening the entire project in something like notepad++ and going through the header (.h) files for which module defines the functions used. At one point I did have a pretty generalized flow chart for everything, however, I lost almost everything when my computer died. I’ll take a look at what I may still have unfortunately I don’t think it’s much.
One of my biggest problems getting everything to work was the limited space available on the older hardware I had. There was a lot of test and adjustment and I had to remove some of the newer functionality to keep the size down. It isn’t too bad once you have the basics down, and the code is pretty straightforward. Keep verbose mode on when compiling and watch for errors, then just look for whatever causes it to break. Once it compiles properly you’re usually close enough to just observe the controller and correct minor left over issues.
Good luck, it’s a fun and rewarding process to dig in and make your own changes. Just don’t give up, Ray and Samer have done a fantastic job keeping everything at the hobbyist level.