The ever increasing hardware capabilities typical of modern microcontrollers make it easier to add more and more functions to embedded systems, even for relatively low-end ones. In turn, this raises new requirements on their Ã¯Â¬Ârmware, focusing on aspects like adherence to international and industrial standards, modularity, portability, fast time to market, and integration of diverse software components. This paper shows, by means of a case study, how to design a full-Ã¯Â¬Âedged networked embedded system using only open-source components, including a small-scale real-time operating system. In addition, it highlights how different components addressed key design issues, like inter-task synchronization and communication. 
Modular design of an open-source, networked embedded system