Starting with an existing product built around a microcontroller-based embedded system with no operating system, this class chronicles its transformation into one built on Linux, highlighting problems experienced and solutions implemented. Also described are the several benefits of moving to Linux, including easier debugging and creating flexible,
scalable development environments. Overviews of real-time issues, GCC toolchain, and multi-threading using POSIX are also included. The result is the first mobile robot in its market running Linux.