Clone wiki

ArdOS IDE / Home

Welcome to ArdOS - The Arduino Operating System

Note: Important Bugfix 10/20/2013: An important bug-fix was made to ArdOS IDE. Please download the latest ZIP file below.

ArdOS is a powerful but compact multitasking operating system for the Arduino series of microcontroller boards centered around the Atmel ATmega 168, 328, 1280 and 2560 microcontrollers.

ArdOS features:

  • Full compatibility with the Arduino libraries and IDE.
  • A small compact kernel.
  • A multitasking priority-based scheduler for hard real-time applications.
  • A true sleep function that frees the microcontroller to perform other tasks.
  • Binary and counting semaphores.
  • Mutex locks and conditional variables.
  • First-in-first-out (FIFO) message queues.
  • Priority message queues.
  • Configurable. You can exclude parts of ArdOS from compilation to minimize memory usage, and control the stack size of each task.

Obtaining and Installing ArdOS.

You can obtain ArdOS through:

  • Downloading the latest ZIP file.

  • Cloning the repository:

git clone

ArdOS can be installed directly into the Arduino IDE. If you are using Arduino 1.0.5 onwards, you can do this by using Sketch->Import Library->Add Library and navigating to the ZIP file you have downloaded. If you are using prior versions of the IDE, you will need to locate your library directory (usually in "Documents/Arduino/libraries" or "My Documents\Arduino\libraries" for Windows machines and "Documents/Arduino/libraries" for Macs) and unpack the entire ZIP file into this directory, preserving the directory structure of the ZIP file.

When installed you can access the library through Sketch->Import Library under the "Contributed" section, and you can access the example codes through File->Examples->ArdOS.

The ZIP file includes a "Quick Start Guide and Tutorial" a "Reference Guide". You can also obtain these here and here.

Comments, Suggestings and Getting Help

If you have any thoughts on ArdOS, would like to make suggestions or need help, drop me a note at

Colin Tan, Department of Computer Science, NUS School of Computing, National University of Singapore.