NuttX Book

GitBook System

The GitBook system is a useful and maintainable way to get a clean documentation. There is this Wiki, READMEs and static HTML documentation of NuttX, but after using and (still) learning NuttX I realized I learned a lot by mostly looking at the source code, asking on the mailing list and such and not so much on using the aforementioned material.

In contrast to how current documentation is organized, I'm thinking about a GitBook could give a high-level overview of all NuttX subsystems and can be extended for each subsystem with all required detail. This high-level overview and how it all fits together is what I feel would help the most as is what I felt the most need for. Thus, this structure mostly differs to that of the Wiki (which is based mostly on the HTML documentation and adds specific HOWTOs for particular tasks) and is why I'm suggesting a separate approach which would not require massive reorganization.

However I realize this cannot bea one man task and is best approached with the help of other NuttX users/developers who can contribute in different areas of expertise. In fact, many users have contributed links to their own documentation and tutorials about NuttX, so I believe a joint effort into a single documentation would be best.

As a starting point, I created a GitLab repo at (this could be eventually moved to the nuttx GitLab group if there is interest in doing so). I configured the GitLab repo so that with each push the GitBook is built on GitLab and served on GitLab Pages. The always up-to-date version can be found here: 

You can see that I already added some general stuff and created a structure which I think would be useful for a beginner but also for more advanced users wanting to see something as a reference manual.

I left several TODOs here and there and pointed to other existing documentation parts (the Wiki, READMEs, etc) from which lots of content could be taken and adapted in order to leverage previous efforts.

Anyone willing to contribute let me know. I can receive Merge Requests on GitLab. In that case, please try to follow the general spirit of the book so far.