The Smart Items Tutorial

by Christian Decker, Philipp Scholl

The Smart Items tutorial was held on the March 26, 2008 on the Internet-of-Things conference in Zurich. This page provides information and the tutorial's slide material. The site will be updated. Stay tuned via the rss RSS news feed.


Smart Items are wireless sensor networks embedded into physical goods, items and assets. Smart Items enabled perishable goods autonomously and continuously monitor and report their transport conditions. Complex conditions, such as the integrity of a compound of several items, are supported through instantaneous collaboration among Smart Items in order to prevent the loss of goods in transit. The items themselves provide this functionality; hence, no infrastructure support, e.g. reader installation, is required. Smart Items enable a novel form of business information systems by re-locating business process logic down to the items. As a result, the items operate as a partly autonomous and process-embedded real-world interface of a business information system.

In our vision Smart Items will become part of a next generation of the Internet-of-Things. The tutorial's objective is to enable the attendees to design, implement and integrate Smart Items appliances for their field of work.

Download: Smart Items tutorial

Tutorial Content

The tutorial will provide background theoretical knowledge and will teach Smart Items skills in hands-on exercises. Exercises are conducted using wireless sensor network hardware.

The tutorial uses the Particle computer platform. The particle sensor node is integrated in a splash water resistant housing also hosting various sensors. We refer to this device as CatPart. Onboard sensors measure acceleration, light, and temperature, sample audio signals and the supply voltage. Furthermore there is an infrared (IR) receiver for an IR beaconing system. The image below depicts the hardware.


The lightweight Java VM for Particle nodes implements a Java language subset. It incorporates modern Java features, e.g. automatic garbage collection, object de-/serialization, the usage of 32bit arithmetic operation on low-end (16bit and 8bit) microcontrollers, guarantee of type safeness and a Java Native Interface (JNI) for time critical or performance critical execution, e.g. sensor sampling, communication. The VM executes byte code generated by standard Sun‘s javac compiler.

Novel features are automatic version control for java classes and versioned over-the-air-programming. All byte code classes contain a version number and are automatically updated as soon as a new version of a class is available.

The picture illustrates the memory consumption of the VM.


Further Reading Material