Contiki is an open source, multi-tasking, networked, and highly portable operating system specially designed for memory-constrained. It has been engineered in such a way that it can connect tiny low-power, low-cost microcontrollers to the World Wide Web, making it the operating system for the Internet of Things.
Supports a wide range of low-power wireless devices
With an active community and a fast, rapid development cycle, Contiki features support for a wide range of low-power wireless devices, full support for IPv6 and IPv4 protocols, as well as support for the 6lowpan, CoAP, and RPL low-power wireless standards.
Integrates the coffee flash file system
Among other highlights, we can mention memory allocation, full IP networking, power awareness, sleepy routers, dynamic module loading, the Cooja Network Simulator, protothreads, coffee flash file system, the Contiki shell, the Rime stack, regression tests, low memory footprint, and much more.
Supported on a wide range of platforms
Contiki is supported on a wide range of platforms, among which we can mention apple2enh, atari, c128, c64, sky, jcreate, sentilla-usb, msb430, esb, avr-atmega128rfa, seed-eye, cc2530dk, sensinode, native, minimal-net, cooja, mb851, mbxxx, redbee-dev, redbee-econotag, micaz, exp5438, z1, cc2538dk, avr-raven, avr-rcb, avr-zigbit, iris, and EVAL-ADF7023DB1.
Getting started with Contiki
To get started with the Contiki operating system, you will have to download the latest release from Softpedia, save the ZIP archive on your Home directory, and extract its contents using an archive manager utility. Open the README-BUILDING.md file to learn how to build the OS for your platform (see the section above for supported platforms).
To give Contiki a try, you will have to basically open a terminal window, go to the Cooja directory (e.g. cd contiki/tools/cooja), start Cooja by running the ‘ant run’ command, wait for Cooja to start and use an example simulation as explained in the official Getting Started guide http://www.contiki-os.org/start.html.