Creative Assignment 1: Home Hack

Due: Friday 29th January, 10pm. No late work.

Submit to:

A huge element of the Internet of Things vision is the idea that anyone can easily personalize product experiences and interactions to their needs. By making connections between internet appliance, the appliance can adapt to individual needs, preferences and desires. Through these customised connections, there’s the potential to create incredible value to the IoT end user. We’re quite a way off from this, but the potential for hyper-personalized, super-customized ‘internet appliances’ to make meaningful different can already be seen in the DIY community.

Development platforms like Particle are empowering maker, hacker and hobbyist enthusiasts. Using these platforms they can quickly create solutions to problems in their lives: to remotely turn on their sprinklers, to hack their coffee pot to brew at the right time in the morning, or get their dishwashers or washing machines text them when the cycle is finished, or track the number of times their fridge is opened each day.

And this is the idea behind your first project: Make a quick hack for your home using the Particle platform.

Here’s the twist: the solution should be personalised, but not to you. Choose someone else in your home - a housemate, a partner, or a family member - and design a personalized IoT prototype for them. (There’s some examples below.)

Learning Objectives

As part of this assignment you’ll be asked to:


Using the tutorials and guides provided you are going to create a simple home hack of your own design that:

  1. Employs at least three components, and at least one is a sensor;

  2. Shares sensor information on the internet through the Cloud API and/or allows it to be controlled via the internet

  3. Provides simple status feedback locally; and

  4. Offers more detailed information online.

The tutorials and guides are an excellent starting point for this project. Most of what you need to create this project is already given to you; you just need to recombine and tweak it to make it work.

This creative assignment is to be completed individually.

Context (before you begin)

Before you start this project you’ll need to figure out what kind of IoT solution are you trying to create. To do this, you’ll need to find a simple problem that you want to solve. You don’t need to do anything radically innovative, just solve a simple everyday problem by making data available through sensors.

The focus here is on technical implementation rather than aesthetics or presentation. Make sure you have smart use of components and well implemented code that lands at some well thought out functionality.

To help you get started, here’s some things you could try out as potential hacks:

General thoughts: What is it they do everyday or should do everyday? Is there something you could build to make an activity faster, better or automated? Is there something you could do to change their behavior in a positive way (and that they want!)?

Project Requirements

At a minimum you must complete the Core requirements for this project. The project builds a series of progressively more advanced features. Students with prior experience with microcontrollers are strongly encouraged to complete all parts.

All students should be able to complete at minimum the Basic

Core Requirement: Connected Hack

Basic: Status Indicator

It’s often helpful to know if a sensor platform is working. Next, you should add an LED to blink when data is updated.

For the Basic requirement, you will add a simple indication of status to the sensor platform. A simple single color LED will suffice. Blink for 100ms when sensor data has been collected and uploaded. Then wait for at least 1 second before retrieving data again.

Intermediate: Sensor Feedback

The data is online and we know it’s being uploaded, but wouldn’t it be nice if we can see what’s happening at a glance?

Use an LED (or other output) to create a glanceable interface for the sensor data. Map the current reading to light and create a visual way to see changes in the data over time. You can take a few approaches to this:

Advanced: Visual Alerts

We can see what the data is now, but do we know when we need to take action? Should our hack tell us when we can ignore it and when we need to do something?

First, decide what the user should know: What changes in data do you want to reveal and why? At what times do you need to take action? For example if we have a plant monitor and the soil is too dry, then the glanceable should blink or indicate action is needed.

Next, implement some decisions (using logic [if] statements) to make the visual display to get the user to take action.

Expert: Making the Data Useful

Great. We have something that gives us a lot of information when we’re nearby, but what about when we’re not?

Option 1: Log the Data

Option 2: Connect the Cloud information by either:

Outcome and Process Documentation

Each section should be 200 words max. and well illustrated (images, videos, etc.)

For the Project’s summary description: it must be tweetable - summarise your outcome in no more than 140 characters

Using Online Material:

It is perfectly fine to use examples, code, tutorials, and things you find on the web to help you realize your project. That’s part of the open-source mentality that surrounds much of Making, Arduino and microcontrollers. However, you cannot just copy and paste these solutions. In your documentation you must acknowledge where you got this content from. Include a link to any tutorials, guides, or code that are part of your final solution.

Final Documentation:

You should upload your work to the IDeATe Gallery. You can sign up at the following link:

Projects should be added to this pool:

To add your project to the pool,

  1. first sign up and be logged in

  2. Click the ‘Join’ button on the top right

  3. You are a member of the pool

  4. You will now see an option to: ‘Add a new project to this pool’. Click this to begin adding your project information.

You should provide a clear and concise description of your project, your process, and the outcomes. It should be quick to get an overview of the project. Ideally, your description of the outcomes should be repeatable too i.e. anyone in the class can replicate it easily from the information provided.