An operating system for miniature robots
OpenSwarm documentation


OpenSwarm is an easy-to-use event-driven preemptive operating system for miniature robots. It offers abstract hardware-independent functions to make user code more extendible, maintainable, and portable. The hybrid kernel provides preemptive and cooperative scheduling, asynchronous and synchronous programming models with events, and inter-process communication functions.

OpenSwarm was created during the PhD of Stefan M Trenkwalder ( at the University of Sheffield ( under the Supervision of Dr. Roderich Gross and Dr. Andreas Kolling.

The code of OpenSwarm can be basically divided into 3 different modules:

All modules are, then, combined in OpenSwarm's Kernel .

\section brief_dec Documentation Structure This documentation was generated by Doxygen ( and is structured as follows - Main Page: This tab represents a short introduction to and general comments on OpenSwarm - Modules: This tab presents a list of logical units of OpenSwarm (such as Process Management or Event System) - Data Structures: This tab shows a list of all used data structures inside OpenSwarm. - Files: This tab lists the documentation of each individual file in OpenSwarm.



LICENSE: adapted FreeBSD License (see
Copyright (c) 2015, Stefan M. Trenkwalder
All rights reserved.


OpenSwarm is part of the PhD of Stefan M. Trenkwalder ( who is recipient of a DOC Fellowship of the Austrian Academy of Sciences (