Technical Information

This page has been created for the purpose of helping hobbyists, students and professionals get started with building IP-based Smart Objects and connecting them to the Internet. The content below is organized according to the type of device. There are different options, ranging from full-blown but small Linux computers to tiny, extremely power-efficient CPUs.

Small But Fully-Featured Computers

This category of devices makes development similar to any traditional project that builds around a computer: existing software for Linux and other operating systems is readily usable; there is support for USB, Ethernet, and graphical user interfaces; in some cases, there is even a regular display that can be connected to the device. Interaction with the physical world can be accomplished with general-purpose, programmable I/O ports. Here are some popular devices in this category.

* Raspberry Pi is a full-blown computer in a tiny form factor. This platform typically runs Linux or BSD-based, fully functional operating systems, graphical user interfaces and a variety of peripherals. The least powerful version of this platform is priced at $25, and offers an inexpensive platform for even more complex computational and communication tasks.

* Beagle Board is another full-blown computer in similar form factor as the Raspberry Pi. It comes in a few different hardware variants, with the simplest ones starting from $89. Beagle Boards can run Linux, Android, and other operating systems.

* MK802 Mini PC is a USB-plug sized small computer that can run Android and Linux, based on ARM CPUs. Prices start at $36.

* XPort Pro is an Ethernet-plug sized Linux computer.

Contiki-OS and TinyOS-Based Devices

You can also base your project on a device that is smaller and more power-efficient than general purpose computers. These devices typically run operating systems designed for the purpose of small, embedded devices, like Contiki-OS and TinyOS operating systems. Information on Contiki-os can be found here. Information on TinyOS can be found here.

The Contiki-OS can be recommended as the best platform for someone new to Smart Objects. Contiki-OS supports a wide variety of hardware platforms and has virtualization capabilities that allow a user to be running Smart Object solutions quickly.

In order to get started, download the Instant Contiki Virtual Machine found at and follow the instructions. Note that you will need VMWare player to be installed.

Now that you have the Instant Contiki OS installed, we need to discuss hardware options. Contiki supports the following hardware platforms.

MCU/SoC Radio Platforms Simulation support
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
ST STM32w Integrated mb851, mbxxx
TI MSP430 TI CC2420 sky, jcreate, sentilla-usb Yes
TI MSP430 TI CC1020 msb430
TI MSP430 RFM TR1001 esb Yes
Atmel Atmega128 RFA1 Integrated avr-atmega128rfa
TI CC2530 Integrated cc2530dk
RC2300/RC2301 Integrated sensinode
6502 apple2enh, atari, c128, c64
Native native, minimal-net, cooja Yes

These platforms can be purchased as and run on development kits from the following manufactures. Hardware for Contiki can be purchased online from several places:

* Redwire Econotags: Redwire manufactures and sell the Econotag platform.

* Zolertia: Zolertia manufactures and sell the z1 motes. Their webstore is here.

* ST Microelectronics: ST Microelectronics provides a development kit for the STM32w SoC. Their STM32W-SK Evaluation kit is available here

* Texas Instruments: Texas Instruments produces many of the chips on which Contiki runs, but also sells development boards that can be used with Contiki. Here are some of the available boards:

Other Devices

* Arduino is an 8-bit AVR-based platform that can be easily programmed for various tasks, including the ability to use IP-based communication.

* MBED is an ARM-based platform that is easy to program with cloud-based compilers and libraries.


A separate page covers software that is commonly needed in Smart Object devices.