Contiki OS : The Open Source OS for IoT

What is Contiki?

Contiki is an open source operating system for the Internet of Things. Contiki connects tiny low-cost, low-power microcontrollers to the Internet. Contiki is a powerful toolbox for building complex wireless systems.

Contiki provides powerful low-power Internet communication. Contiki supports fully standard IPv6 and IPv4, along with the recent low-power wireless standards: 6lowpan, RPL, CoAP. With Contiki’s ContikiMAC and sleepy routers, even wireless routers can be battery-operated.

Contiki provides multitasking and a built-in Internet Protocol Suite (TCP/IP stack), yet needs only about 10 kilobytes of random-access memory (RAM) and 30 kilobytes of read-only memory (ROM). A full system, including a graphical user interface, needs about 30 kilobytes of RAM.

Contiki applications are written in standard C, with the Cooja simulator Contiki networks can be emulated before burned into hardware, and Instant Contiki provides an entire development environment in a single download.

Contiki is open source, which means that the source is and always will be available. Contiki may be used in both commercial and non-commercial systems without restrictions.

Instant Contiki

Instant Contiki is an entire Contiki development environment in a single download. It is an Ubuntu Linux virtual machine that runs in VMWare player and has Contiki and all the development tools, compilers, and simulators used in Contiki development installed. Instant Contiki is so convenient that even hardcore Contiki developers use it.

Cooja

Cooja is the Contiki network simulator. Cooja allows large and small networks of Contiki motes to be simulated. Motes can be emulated at the hardware level, which is slower but allows precise inspection of the system behavior, or at a less detailed level, which is faster and allows simulation of larger networks.

Contiki Hardware

Primary Contiki Platforms are CC2538, Sensortag, CC2650. Other Contiki platformsare given below. This table shows the hardware platforms currently in the Contiki code tree. Some of them are actively supported, others are not. Please check the current code tree for the complete list of platforms.

MCU/SoC Radio Platforms Cooja simulation support
TI CC2538 Integrated / CC1200 RE-Mote
nRF52832 Integrated nRF52 DK
RL78 ADF7023 EVAL-ADF7023DB1
TI CC2538 Integrated cc2538dk
TI MSP430x TI CC2420 exp5438, z1 Yes
TI MSP430x TI CC2520 wismote Yes
Atmel AVR Atmel RF230 avr-raven, avr-rcb, avr-zigbit, iris
Atmel AVR TI CC2420 micaz Yes
Freescale MC1322x Integrated redbee-dev, redbee-econotag
TI MSP430 TI CC2420 sky Yes
TI MSP430 TI CC1020 msb430
TI MSP430 RFM TR1001 esb Yes
Atmel Atmega128 RFA1 Integrated avr-atmega128rfa
Microchip pic32mx795f512l Microchip mrf24j40 seed-eye
TI CC2530 Integrated cc2530dk
6502 apple2enh, atari, c128, c64
Native native, minimal-net, cooja Yes

Contiki Features

  • Memory Allocation
  • Full IP Networking
  • Power Awareness
  • 6lowpan, RPL, CoAP
  • Dynamic Module Loading
  • The Cooja Network Simulator
  • Sleepy Routers
  • Hardware Platforms
  • Protothreads
  • Coffee flash file system
  • The Contiki shell
  • The Rime Stack
  • Build System
  • Regression Tests
  • Available Examples

Community Support

Contiki provides a bunch of options for support. Contiki is developed by a world-wide team of developers with contributions from Atmel, Cisco, ETH, Redwire LLC, SAP, Thingsquare, and many others, led by Adam Dunkels of Thingsquare.

 

Get Started with Contiki

Harshvardhan Mishra

I am an IoT (Internet of Things) Enthusiast and Blogging is my Passion. Follow and send tweets me on @harshvardhanrvm

3 thoughts on “Contiki OS : The Open Source OS for IoT

Leave a Reply

%d bloggers like this: