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 http://www.contiki-os.org/start.html 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. There webstore is here.

* 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.

Software

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