Microcontroller-enabled sensors: measure home conditions; the microcontroller interprets and processes the instrumented data. Microcontroller-enabled actuators: receives commands transferred by the microcontroller for performing certain actions. The command are issued based on the interaction between the microcontroller and Cloud services. Database/Data Store: stores data from microcontroller-enabled sensors and Cloud services for data analysis and visualization, and serves as command queue being sent to actuators as well. Server/API layer between the back end and the front end: facilitates processing the data received from the sensors and storing the data in database. It also receives commands from the web application client to control the actuators and stores the commands in database. The actuators make requests to consume the commands in the database through the serer. Web application serving as Cloud services: enable to measure and visualize sensor data, and control devices using a mobile device (e.g., smart phone).