You will learn
This tutorial will take you through the steps for downloading and installing ContikiOS the following ways:
Using Instant Contiki
This is the easiest way of installing and using ContikiOS. You simply need to download Instant Contiki, which is a virtual machine created with all necessary toolchains and software for ContikiOS development.
Link to download Instant Contiki: 
After downloading Instant Contiki you need also to download either VMWare Player or VirtualBox, if you are using Windows as your host OS. If you use MacOS X you should download VMWare Fusion, instead of VMWare Player.
IMPORTANT: To login in to Instant Contiki: username: user password: user
Using ContikiOS from Github repository
This method requires an existing installation of a Linux-based operating system. The guide assumes you are using Ubuntu 16.04 but should still be useful for similar versions.
Download contiki-3.0.zip from https://github.com/contiki-os/contiki/releases
Unzip the file. For the purposes of this guide, it is assumed that the file is unzipped into /home/user/
Rename the folder from contiki-3.0 to contiki.
mv contiki-3.0 contiki
Install all the required packages for compiling and running ContikiOS.
If you are using a MSP430-based platforms (such as Tmote) you only need the following packages: binutils-msp430, gcc-msp430, msp430-libc, msp430mcu and mspdebug. If you intend to code for CC2538-based platforms (such as OpenMote), you should also install the following tool chains: gcc-arm-none-eabi and gdb-arm-none-eabi.
You can run the following command to install all packages for multiple platforms:
sudo apt-get install build-essential binutils-msp430 gcc-msp430 msp430-libc msp430mcu mspdebug gcc-arm-none-eabi gdb-arm-none-eabi openjdk-8-jdk openjdk-8-jre ant libncurses5-dev
When working with a 64-bit virtual machine, you may run into problems with the `serialdump-linux` executable because it may have been compiled for 32-bit machines. Install the following package to fix this issue.
sudo apt-get install lib32ncurses5
You are done! You can now try to compile and run any example, such as Hello World.
Edited by: Kwame, Pedro