Lab of Things hero download
Getting Started | Sign-in | FAQ | Research | Teaching | Publications | Press | Events | HomeOS | Feedback | @Facebook
What is the Lab of Things?

Lab of Things (LoT) is a flexible platform for experimental research that uses connected devices in homes and beyond. LoT enables easy,

  • interconnection of devices and implementation of application scenarios, using HomeOS.
  • deployment and monitoring of field studies and analysis of data from experiments.
  • sharing of data, code, and participants, further lowering the barrier to evaluating ideas in a diverse set of homes.


What kind of research projects would use the Lab of Things?

Watch how Nilanjan Banerjee from the University of Maryland, Baltimore County, uses the Lab of Things as the platform to interconnect wearable sensors to accelerate research on helping people with disabilities to live more independent lives.


Lab of Things supports a wide range of research projects involving deployment of sensors and devices in homes and beyond. These projects may fall within healthcare, energy management, home automation, and more. With Lab of Things cloud-infrastructure supporting update, monitoring and storage of data, Lab of Things reduces the engineering effort required to conduct tightly controlled, repeatable and transparent research deployments.

Learn more:
  • A partial list of academic research projects using the lab of Things
  • Publications referring to the Lab of Things or HomeOS as the experimentation platform
  • Demo videos using HomeOS, the core client side component of the Lab of Things (early explorations using HomOS)

How is the Lab of Things deployed?

Lab of Things consists of a client side component called HomeOS, and a number of cloud services deployed in Windows Azure. HomeOS is deployed on a Windows (7/8/8.1) PC in each home or experimental space. We call this the HomeHub; to which all sensors and devices deployed in the home are connected via their own networking technologies, such as WIFI, Z-Wave, etc. HomeHub acts as an aggregator, and execution engine for deploying apps which collect data or actuate devices. Each HomeHub is connected to a number of cloud services enabling monitoring, update, storage, and remote access. These services form the cloud-side component of the Lab of Things. Experiments (apps running on HomeOS) are deployed on the HomeHub. The experiment app user interface is available to any devices (smartphone, PC, tablet) having a web browser in or out of the home using a gateway cloud service.

The HomeOS source code (platform, drivers, apps), is available free of charge for non-commercial academic research use from the CodePlex website. The Lab of Things services are also provided free of charge for non-commercial academic research use. Storage provided by Lab of Things is for testing purposes only. For actual experiments, we recommend using Windows Azure storage (See Azure4Research program for applying for a grant).

Learn more:


What devices are supported by the Lab of Things?

HomeOS is the core client side component of the Lab of Things, allowing interconnection of a number of diverse devices. These devices include IP cameras, Z-Wave sensors, Kinect sensor, custom devices built using .NET Gadgeteer, and more. HomeOS has an extensible driver model enabling addition of new devices simple and straightforward. Additionally, Lab of Things provides sample code for all of its existing drivers, encouraging developers to learn from design patterns. Lab of Things is a community based research project, and we encourage developers to share their apps and drivers on CodePlex.

We have tested HomeOS with a variety of devices, including WIFI cameras, Z-Wave sensors, switches and Arduino Uno. List of currently supported devices.

Learn more:


What apps are available with the Lab of Things?

Lab of Things is a research platform developed to support a wide range of experiments in various research disciplines. Each experiment is different and requires its own unique logic. Lab of Things provides a few basic apps (along with source code) as samples for building experiment apps. Currently we ship the following:

  • Alerts app: The app gets an alert from Z-Wave devices, takes a picture using an attached camera, time-stamps data and uploads to cloud storage. Also send out a notification email to a pre-defined email address.
  • Camera Viewer app: An example of getting videos from multiple cameras and performing basic processing such as motion detection. The app also uploads videos to cloud storage
  • Sensor app: A sample app to collect data from sensors (Z-Wave multi sensor by default), time-stamps, and uploads data to a cloud service
  • Lights app: An actuation app developed to control lights and switches from anywhere. Supports Z-Wave switches

Source code to the above mentioned apps is available and is meant as design patterns for writing specific experiment apps. We strongly encourage contribution of developed apps to the CodePlex website for the benefit of the larger research community

Learn more:


What's new?

We ship updates and fix issues on a regular basis. The Lab of Things Discussion Forum is the place to ask questions and get to know about new features and releases.

  • 6/30/2014 - Beta 4 release - Major bug fixes and improvements to the platform and the storage system; added new code samples, including Arduino connectivity and integration with an external web API.
  • 3/14/2014 - Beta 3 release - Includes fixes to DataStore, enhanced Update Manager, support for Aeon Labs Home Energy Meter and BLE Proximity driver. Update to z-wave interface, and a few bug fixes.
  • 11/4/2013 - Beta 2 release - Drivers added: Hue Bridge , door jamb, Envi energy driver; and refactoring of code
  • 9/10/2013 - Added new drivers for LightSensor and Gadgeteer
  • 8/22/2013 - Management portal rolled out.
  • 8/14/2013 - Added Kinect for Windows driver and Scout.
  • 8/8/2013 - Lab of Things Beta 1 documentation available.
  • 7/16/2013 - Lab of Things Beta 1 released.
See complete change history on CodePlex website.