Cooja Simulator

Cooja Simulator is A flexible java based simulator is also known as COOJA simulator which is designed for simulating networks of sensors running the Contiki operating system. Large and small networks of Contiki motes to be simulated by cooja. As in hardware level the motes can be emulated which is performed in slower manner.

Cooja Simulator?
  • Motes can allows precise inspection of the system behavior, or at a less detailed level, which is faster and allows simulation of larger networks.
  • For contiki development cooja is highly useful
  • Using this simulator developers should test their code and systems before running it on the target hardware
  • To debug developers software and to verify the behavior of their systems they need to set up new simulations regularly



  • The Contiki operating system includes a network simulator called Cooja
  • Cooja simulates networks of Contiki nodes.
  • The nodes may belong to either of three classes:
    • Emulated nodes – Emulation of entire hardware of each node,
    • Cooja nodes – Compilation and execution of the Contiki code for the node is to be done on the simulation host
    • Java nodes – Need reimplementation for node behavior which is done by java class
  • A single Cooja simulation can have a mixture of nodes from either of the three classes
  • Since version of 2.0 the cooja simulator is included in Contiki
Platform Support:
  • COOJA is in Contiki operating system which supports three different abstraction levels
  • Implementation of nodes in java which is simulated at the levels of application or networking level
  • Without any connection to Contiki, nodes at this level can be useful when prototyping high-level algorithms which when tested and evaluated can be ported to deployable sensor node code.
  • Cooja are useful for the development of distributed algorithms
Radio Medium:
  • Two simple radio mediums implemented and registered at the simulator start-up which is presented in the basic version of COOJA
  • First radio medium is completely silent and no data is transferred
  • Second radio medium uses two distance parameters such as interference range and transmission range
  • Receiving radio device capture all data packets which will never corrupted in any way
Cooja Plug-in:
  • In a regular java panel, plugins are implemented and also an advanced graphical interfaces are created by the user in a straight forward way
  • Plugins can be of four different types, and they are treated slightly different.
    • Simulation Plugin
    • Dynamic plugin
    • GUI Plugin
    • Mote Plugin