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