Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time


This is a full-stack project designed for a team with skills in electronics, server security and software engineering (including API development).

The Project

The implementation will consist of three key parts:

  1. A "home hub" that contains the core business logic and handles the communications between the sensors/actuators and the UI. This could be a small computer running Linux (such as a Raspberry Pi) or a powerful microcontroller.
  2. Some sensors and actuators that communicate with the hub. Each will need its own microcontroller and you will need to decide how it will wirelessly communicate with the hub.
  3. Some form of UI that the homeowners can interact with. Will this be a web page, app or both?

Feature List

Whilst you can add your own features (as a result of your group brainstorm) here is a list to get you started:

  1. When it gets dark there should be an outside light triggered when someone approaches the house. Once it is triggered it should stay on for a specified number of minutes. There should be an override option to disable the automatic light.
  2. When the temperature of a room becomes too high the system should check to see if the outside temperature is lower and, if it is, the system should open the window.
  3. There should be a smart doorbell. When it is pressed it should let the user know but only in a room currently occupied.
  4. If the temperature in a room drop below a defined threshold the heater should be turned on.
  5. The lights should automatically turn on if the system detects someone is in the room and the ambient light levels are below a set threshold.
  6. All the sensor data should be logged to a central system.
  7. It should be possible to see graphs of the selected sensor data.
  8. The system should include an interior light and an exterior light for people approaching the front door.
  9. Each light should be independently controlled.
  10. The lights should not come on automatically unless the natural lighting levels are too low.
  11. The threshold should be set by the user and this can differ for different lights.
  12. The light should switch off if no movement is detected for 10min by default but this interval should be user definable.
  13. The user should be able to override the indoor light system and switch the lights on and off using a light switch (push button).
  14. The system should keep a record of when the outdoor light is triggered, to include the date/time when it switched on and off.