Nano-RK: A Wireless Sensor Networking Real-Time Operating System

Nano-RK is a fully preemptive reservation-based real-time operating system (RTOS) from Carnegie Mellon University with multi-hop networking support for use in wireless sensor networks. Nano-RK currently runs on the FireFly Sensor Networking Platform as well as the MicaZ motes. It includes a light-weight embedded resource kernel (RK) with rich functionality and timing support using less than 2KB of RAM and 18KB of ROM. Nano-RK supports fixed-priority preemptive multitasking for ensuring that task deadlines are met, along with support for CPU, network, as well as, sensor and actuator reservations. Tasks can specify their resource demands and the operating system provides timely, guaranteed and controlled access to CPU cycles and network packets. Together these resources form virtual energy reservations that allows the OS to enforce system and task level energy budgets.


  • 5/31/2011 Paper on nanocf Cooperation framework for macro-programming at SECON 2011
  • 4/12/2010 Paper on U-Connect neighborhood discovery at IPSN 2010
  • 11/13/2009 Paper on Syntonistor for time synchronization wins best paper award SenSys 2009
  • 10/15/2008 Paper on Rate-Harmonized Scheduling at RTSS 2008
  • 2/12/2008 New release fixes kernel memory bug and adds Windows Support.
  • 2/7/2008 gcc 4.2.2 with avr-libc 1.6.1 fix multiple minor bugs. Install new toolchain from Downloads page.
  • 12/29/2007 Article discusses Nano-RK
  • 10/20/2007 Paper on Vision-Enabled Sensor Networks using Nano-RK at RTSS 2007
  • 10/6/2007 Public Subversion Read Access for pre-beta release
  • 10/16/2006 Paper on Voice Over Sensor Networks using Nano-RK at RTSS 2006
  • 9/25/2006 Paper on RT-Link running on Nano-RK wins best paper at SECON 2006
  • 12/15/2005 Nano-RK paper introduced at RTSS 2005


  • C GNU tool-chain
  • Classical Preemptive Operating System Multitasking Abstractions
  • Real-Time Priority Based Scheduling
  • Built-in Fault Handling
    • Task Timing Violations
    • Stack Integrity
    • Unexpected Node Restarts
    • Resource Over-Use
    • Low Voltage Detection
    • Hardware Watchdog Timer
    • Software Watchdog Timers
  • Energy Efficient Scheduling based on a-prior task-set knowledge
  • Tickless Timer
  • Small Footprint (<2K RAM, 16K ROM, including link layer)
  • SLIPstream (a simple gateway to IP network protocol and utility)
  • TimeScope (a code execution time measurement utility built into the FireFly programmer boards)
  • AVR Studio 4 Debugging (Simulating Nano-RK code on a single node using AVR Studio 4 is easy)
  • Eclipse IDE allows for easy development

Nano-RK supports various wireless link layer protocols including:

  • RT-Link for collision free Real-Time communication
  • WiDom a collision free priority based link layer
  • b-mac for low-power contention based communication
  • U-Connect a Low-Latency Energy-Efficient Asynchronous Neighbor Discovery protocol
  • PCF TDMA Flexible and simple, low-power, one-hop TDMA for both high and low data-rate collection

Getting Started